feat: Add ARM64 architecture auto-detection and image selection

Auto-detect machine architecture via uname and use the correct Docker
image (dockurr/windows for x86, dockurr/windows-arm for ARM64). Block
unsupported versions on ARM with a clear error message, and show
[x86 only] tags in the list command. Compose files now use a
configurable WINDOWS_IMAGE variable with a default fallback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Michel Abboud 2026-01-29 07:24:03 +00:00
parent d75f6b23b1
commit 6a0b6a1511
22 changed files with 110 additions and 24 deletions

View file

@ -1,6 +1,6 @@
services:
win10:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win10
env_file: ../../.env.modern
environment:
@ -20,7 +20,7 @@ services:
stop_grace_period: 2m
win10e:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win10e
env_file: ../../.env.modern
environment:
@ -40,7 +40,7 @@ services:
stop_grace_period: 2m
win10l:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win10l
env_file: ../../.env.modern
environment:

View file

@ -1,6 +1,6 @@
services:
win11:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win11
env_file: ../../.env.modern
environment:
@ -20,7 +20,7 @@ services:
stop_grace_period: 2m
win11e:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win11e
env_file: ../../.env.modern
environment:
@ -40,7 +40,7 @@ services:
stop_grace_period: 2m
win11l:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win11l
env_file: ../../.env.modern
environment:

View file

@ -1,6 +1,6 @@
services:
win7:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win7
env_file: ../../.env.legacy
environment:
@ -20,7 +20,7 @@ services:
stop_grace_period: 2m
win7e:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win7e
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
win81:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win81
env_file: ../../.env.legacy
environment:
@ -20,7 +20,7 @@ services:
stop_grace_period: 2m
win81e:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win81e
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
vista:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: vista
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
win2k:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2k
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
winxp:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: winxp
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
win2003:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2003
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
win2008:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2008
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
win2012:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2012
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
win2016:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2016
env_file: ../../.env.modern
environment:

View file

@ -1,6 +1,6 @@
services:
win2019:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2019
env_file: ../../.env.modern
environment:

View file

@ -1,6 +1,6 @@
services:
win2022:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2022
env_file: ../../.env.modern
environment:

View file

@ -1,6 +1,6 @@
services:
win2025:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: win2025
env_file: ../../.env.modern
environment:

View file

@ -1,6 +1,6 @@
services:
tiny10:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: tiny10
env_file: ../../.env.legacy
environment:

View file

@ -1,6 +1,6 @@
services:
tiny11:
image: dockurr/windows
image: ${WINDOWS_IMAGE:-dockurr/windows}
container_name: tiny11
env_file: ../../.env.legacy
environment: