mirror of
https://github.com/winapps-org/winapps.git
synced 2025-06-10 17:07:19 +02:00
50 lines
3.4 KiB
YAML
50 lines
3.4 KiB
YAML
# For documentation, FAQ, additional configuration options and technical help, visit: https://github.com/dockur/windows
|
|
|
|
name: "winapps" # Docker Compose Project Name.
|
|
volumes:
|
|
# Create Volume 'data'.
|
|
# Located @ '/var/lib/docker/volumes/winapps_data/_data' (Docker).
|
|
# Located @ '/var/lib/containers/storage/volumes/winapps_data/_data' or '~/.local/share/containers/storage/volumes/winapps_data/_data' (Podman).
|
|
data:
|
|
services:
|
|
windows:
|
|
image: ghcr.io/dockur/windows:latest
|
|
container_name: WinApps # Created Docker VM Name.
|
|
environment:
|
|
# Version of Windows to configure. For valid options, visit:
|
|
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-select-the-windows-version
|
|
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-install-a-custom-image
|
|
VERSION: "11"
|
|
RAM_SIZE: "4G" # RAM allocated to the Windows VM.
|
|
CPU_CORES: "4" # CPU cores allocated to the Windows VM.
|
|
DISK_SIZE: "64G" # Size of the primary hard disk.
|
|
# DISK2_SIZE: "32G" # Uncomment to add an additional hard disk to the Windows VM. Ensure it is mounted as a volume below.
|
|
USERNAME: "MyWindowsUser" # Edit here to set a custom Windows username. The default is 'MyWindowsUser'.
|
|
PASSWORD: "MyWindowsPassword" # Edit here to set a password for the Windows user. The default is 'MyWindowsPassword'.
|
|
HOME: "${HOME}" # Set path to Linux user home folder.
|
|
ports:
|
|
- 8006:8006 # Map '8006' on Linux host to '8006' on Windows VM --> For VNC Web Interface @ http://127.0.0.1:8006.
|
|
- 3389:3389/tcp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
|
|
- 3389:3389/udp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
|
|
cap_add:
|
|
- NET_ADMIN # Add network permission
|
|
stop_grace_period: 120s # Wait 120 seconds before sending SIGTERM when attempting to shut down the Windows VM.
|
|
restart: on-failure # Restart the Windows VM if the exit code indicates an error.
|
|
volumes:
|
|
- data:/storage # Mount volume 'data' to use as Windows 'C:' drive.
|
|
- ${HOME}:/shared # Mount Linux user home directory @ '\\host.lan\Data'.
|
|
#- /path/to/second/hard/disk:/storage2 # Uncomment to create a virtual second hard disk and mount it within the Windows VM. Ensure 'DISK2_SIZE' is specified above.
|
|
- ./oem:/oem # Enables automatic post-install execution of 'oem/install.bat', applying Windows registry modifications contained within 'oem/RDPApps.reg'.
|
|
#- /path/to/windows/install/media.iso:/custom.iso # Uncomment to use a custom Windows ISO. If specified, 'VERSION' (e.g. 'tiny11') will be ignored.
|
|
devices:
|
|
- /dev/kvm # Enable KVM.
|
|
- /dev/net/tun # Enable tuntap
|
|
# Uncomment to mount a disk directly within the Windows VM.
|
|
# WARNING: /dev/sdX paths may change after reboot. Use persistent identifiers!
|
|
# NOTE: 'disk1' will be mounted as the main drive. THIS DISK WILL BE FORMATTED BY DOCKER.
|
|
# All following disks (disk2, ...) WILL NOT BE FORMATTED.
|
|
# - /dev/disk/by-id/<id>:/disk1
|
|
# - dev/disk/by-id/<id>:/disk2
|
|
# group_add: # uncomment this line and the next one for using rootless podman containers
|
|
# - keep-groups # to make /dev/kvm work with podman. needs "crun" installed, "runc" will not work! Add your user to the 'kvm' group or another that can access /dev/kvm.
|