mirror of
https://github.com/dockur/windows.git
synced 2026-02-04 07:59:43 +00:00
feat: Add winctl.sh management script and multi-version setup
Add winctl.sh with 12 commands for managing Windows Docker containers: - start, stop, restart, status, logs, shell, stats - build, rebuild, list, inspect, monitor, check - Interactive menus, prerequisites checking, color output - Support for 22 Windows versions across 4 categories Multi-version compose structure: - Split base.yml into base-modern.yml (8G) and base-legacy.yml (2G) - Add .env.example for configuration - Update all compose files to use env_file - Add unique port mappings per version - Update README with winctl.sh documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c1d3f8e886
commit
effdbe0f6f
25 changed files with 1332 additions and 58 deletions
23
compose/base-legacy.yml
Normal file
23
compose/base-legacy.yml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
x-legacy: &legacy
|
||||
image: dockurr/windows
|
||||
devices:
|
||||
- /dev/kvm
|
||||
- /dev/net/tun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 2m
|
||||
environment:
|
||||
RAM_SIZE: ${LEGACY_RAM_SIZE:-2G}
|
||||
CPU_CORES: ${LEGACY_CPU_CORES:-2}
|
||||
DISK_SIZE: ${LEGACY_DISK_SIZE:-32G}
|
||||
USERNAME: ${USERNAME:-Docker}
|
||||
PASSWORD: ${PASSWORD:-admin}
|
||||
LANGUAGE: ${LANGUAGE:-en}
|
||||
REGION: ${REGION:-en-US}
|
||||
KEYBOARD: ${KEYBOARD:-en-US}
|
||||
WIDTH: ${WIDTH:-1280}
|
||||
HEIGHT: ${HEIGHT:-720}
|
||||
DHCP: ${DHCP:-N}
|
||||
SAMBA: ${SAMBA:-Y}
|
||||
DEBUG: ${DEBUG:-N}
|
||||
23
compose/base-modern.yml
Normal file
23
compose/base-modern.yml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
x-modern: &modern
|
||||
image: dockurr/windows
|
||||
devices:
|
||||
- /dev/kvm
|
||||
- /dev/net/tun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 2m
|
||||
environment:
|
||||
RAM_SIZE: ${MODERN_RAM_SIZE:-8G}
|
||||
CPU_CORES: ${MODERN_CPU_CORES:-4}
|
||||
DISK_SIZE: ${MODERN_DISK_SIZE:-128G}
|
||||
USERNAME: ${USERNAME:-Docker}
|
||||
PASSWORD: ${PASSWORD:-admin}
|
||||
LANGUAGE: ${LANGUAGE:-en}
|
||||
REGION: ${REGION:-en-US}
|
||||
KEYBOARD: ${KEYBOARD:-en-US}
|
||||
WIDTH: ${WIDTH:-1280}
|
||||
HEIGHT: ${HEIGHT:-720}
|
||||
DHCP: ${DHCP:-N}
|
||||
SAMBA: ${SAMBA:-Y}
|
||||
DEBUG: ${DEBUG:-N}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
x-common: &common
|
||||
image: dockurr/windows
|
||||
devices:
|
||||
- /dev/kvm
|
||||
- /dev/net/tun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: unless-stopped
|
||||
stop_grace_period: 2m
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-modern.yml
|
||||
|
||||
services:
|
||||
win10:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win10
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "10"
|
||||
ports:
|
||||
|
|
@ -15,8 +16,9 @@ services:
|
|||
- ../../data/win10:/storage
|
||||
|
||||
win10e:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win10e
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "10e"
|
||||
ports:
|
||||
|
|
@ -27,8 +29,9 @@ services:
|
|||
- ../../data/win10e:/storage
|
||||
|
||||
win10l:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win10l
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "10l"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-modern.yml
|
||||
|
||||
services:
|
||||
win11:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win11
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "11"
|
||||
ports:
|
||||
|
|
@ -15,8 +16,9 @@ services:
|
|||
- ../../data/win11:/storage
|
||||
|
||||
win11e:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win11e
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "11e"
|
||||
ports:
|
||||
|
|
@ -27,8 +29,9 @@ services:
|
|||
- ../../data/win11e:/storage
|
||||
|
||||
win11l:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win11l
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "11l"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
win7:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win7
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "7u"
|
||||
ports:
|
||||
|
|
@ -15,8 +16,9 @@ services:
|
|||
- ../../data/win7:/storage
|
||||
|
||||
win7e:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win7e
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "7e"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
win81:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win81
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "8"
|
||||
ports:
|
||||
|
|
@ -15,8 +16,9 @@ services:
|
|||
- ../../data/win81:/storage
|
||||
|
||||
win81e:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win81e
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "8e"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
vista:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: vista
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "vu"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
win2k:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win2k
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2k"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
winxp:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: winxp
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "xp"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
win2003:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win2003
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2003"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
win2008:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win2008
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2008"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
win2012:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: win2012
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2012"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-modern.yml
|
||||
|
||||
services:
|
||||
win2016:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win2016
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2016"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-modern.yml
|
||||
|
||||
services:
|
||||
win2019:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win2019
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2019"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-modern.yml
|
||||
|
||||
services:
|
||||
win2022:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win2022
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2022"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-modern.yml
|
||||
|
||||
services:
|
||||
win2025:
|
||||
<<: *common
|
||||
<<: *modern
|
||||
container_name: win2025
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "2025"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
tiny10:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: tiny10
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "tiny10"
|
||||
ports:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
include:
|
||||
- ../base.yml
|
||||
- ../base-legacy.yml
|
||||
|
||||
services:
|
||||
tiny11:
|
||||
<<: *common
|
||||
<<: *legacy
|
||||
container_name: tiny11
|
||||
env_file: ../../.env
|
||||
environment:
|
||||
VERSION: "tiny11"
|
||||
ports:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue