refactor: Use separate .env.modern and .env.legacy files

- Remove base-legacy.yml and base-modern.yml (YAML anchors don't work with include)
- Make all compose files self-contained
- Add .env.modern (8G RAM, 4 CPU) for Win 10/11, Server 2016+
- Add .env.legacy (2G RAM, 2 CPU) for older systems
- Update README and .env.example documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Michel Abboud 2026-01-28 23:44:10 +00:00
parent 620cda9282
commit c27837738d
22 changed files with 291 additions and 212 deletions

View file

@ -1,42 +1,60 @@
include:
- ../base-modern.yml
services:
win10:
<<: *modern
image: dockurr/windows
container_name: win10
env_file: ../../.env
env_file: ../../.env.modern
environment:
VERSION: "10"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8010:8006
- 3310:3389/tcp
- 3310:3389/udp
volumes:
- ../../data/win10:/storage
restart: unless-stopped
stop_grace_period: 2m
win10e:
<<: *modern
image: dockurr/windows
container_name: win10e
env_file: ../../.env
env_file: ../../.env.modern
environment:
VERSION: "10e"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8014:8006
- 3314:3389/tcp
- 3314:3389/udp
volumes:
- ../../data/win10e:/storage
restart: unless-stopped
stop_grace_period: 2m
win10l:
<<: *modern
image: dockurr/windows
container_name: win10l
env_file: ../../.env
env_file: ../../.env.modern
environment:
VERSION: "10l"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8015:8006
- 3315:3389/tcp
- 3315:3389/udp
volumes:
- ../../data/win10l:/storage
restart: unless-stopped
stop_grace_period: 2m

View file

@ -1,42 +1,60 @@
include:
- ../base-modern.yml
services:
win11:
<<: *modern
image: dockurr/windows
container_name: win11
env_file: ../../.env
env_file: ../../.env.modern
environment:
VERSION: "11"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8011:8006
- 3311:3389/tcp
- 3311:3389/udp
volumes:
- ../../data/win11:/storage
restart: unless-stopped
stop_grace_period: 2m
win11e:
<<: *modern
image: dockurr/windows
container_name: win11e
env_file: ../../.env
env_file: ../../.env.modern
environment:
VERSION: "11e"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8012:8006
- 3312:3389/tcp
- 3312:3389/udp
volumes:
- ../../data/win11e:/storage
restart: unless-stopped
stop_grace_period: 2m
win11l:
<<: *modern
image: dockurr/windows
container_name: win11l
env_file: ../../.env
env_file: ../../.env.modern
environment:
VERSION: "11l"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8013:8006
- 3313:3389/tcp
- 3313:3389/udp
volumes:
- ../../data/win11l:/storage
restart: unless-stopped
stop_grace_period: 2m

View file

@ -1,29 +1,40 @@
include:
- ../base-legacy.yml
services:
win7:
<<: *legacy
image: dockurr/windows
container_name: win7
env_file: ../../.env
env_file: ../../.env.legacy
environment:
VERSION: "7u"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8007:8006
- 3307:3389/tcp
- 3307:3389/udp
volumes:
- ../../data/win7:/storage
restart: unless-stopped
stop_grace_period: 2m
win7e:
<<: *legacy
image: dockurr/windows
container_name: win7e
env_file: ../../.env
env_file: ../../.env.legacy
environment:
VERSION: "7e"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8071:8006
- 3371:3389/tcp
- 3371:3389/udp
volumes:
- ../../data/win7e:/storage
restart: unless-stopped
stop_grace_period: 2m

View file

@ -1,29 +1,40 @@
include:
- ../base-legacy.yml
services:
win81:
<<: *legacy
image: dockurr/windows
container_name: win81
env_file: ../../.env
env_file: ../../.env.legacy
environment:
VERSION: "8"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8008:8006
- 3308:3389/tcp
- 3308:3389/udp
volumes:
- ../../data/win81:/storage
restart: unless-stopped
stop_grace_period: 2m
win81e:
<<: *legacy
image: dockurr/windows
container_name: win81e
env_file: ../../.env
env_file: ../../.env.legacy
environment:
VERSION: "8e"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8081:8006
- 3381:3389/tcp
- 3381:3389/udp
volumes:
- ../../data/win81e:/storage
restart: unless-stopped
stop_grace_period: 2m