Compare commits

...

6 Commits

Author SHA1 Message Date
Kroese
42a149d7b9
feat: Make Windows version selectable in Codespaces (#1489) 2025-10-16 10:54:06 +02:00
Kroese
0b0de7de14
feat: Improve Github Codespaces configuration (#1488) 2025-10-16 00:03:24 +02:00
Kroese
8472d700dc
feat: Improve Github Codespaces configuration (#1487) 2025-10-15 23:47:29 +02:00
Kroese
ab457abc3c
feat: Add custom .yml for Github Codespaces (#1486) 2025-10-15 21:54:52 +02:00
Kroese
70dce80aec
docs: Readme (#1484)
Some checks failed
Update / dockerHubDescription (push) Has been cancelled
2025-10-15 13:15:31 +02:00
Kroese
5e2ca4c1b6
build: Update QEMU base image to v7.24 (#1476) 2025-10-13 15:06:21 +02:00
29 changed files with 601 additions and 21 deletions

View File

@ -1,6 +0,0 @@
{
"name": "windows",
"service": "windows",
"forwardPorts": [8006],
"dockerComposeFile": "compose.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 10 Pro",
"service": "windows",
"containerEnv": {
"VERSION": "10",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 10 Enterprise",
"service": "windows",
"containerEnv": {
"VERSION": "10e",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 10 LTSC",
"service": "windows",
"containerEnv": {
"VERSION": "10l",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 11 Enterprise",
"service": "windows",
"containerEnv": {
"VERSION": "11e",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 11 LTSC",
"service": "windows",
"containerEnv": {
"VERSION": "11l",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows Server 2003",
"service": "windows",
"containerEnv": {
"VERSION": "2003",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows Server 2008 R2",
"service": "windows",
"containerEnv": {
"VERSION": "2008",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows Server 2012 R2",
"service": "windows",
"containerEnv": {
"VERSION": "2012",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows Server 2016",
"service": "windows",
"containerEnv": {
"VERSION": "2016",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows Server 2019",
"service": "windows",
"containerEnv": {
"VERSION": "2019",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows Server 2022",
"service": "windows",
"containerEnv": {
"VERSION": "2022",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows Server 2025",
"service": "windows",
"containerEnv": {
"VERSION": "2025",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows 2000 Professional",
"service": "windows",
"containerEnv": {
"VERSION": "2k",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows 7 Ultimate (64-bit)",
"service": "windows",
"containerEnv": {
"VERSION": "7u",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows 7 Ultimate (32-bit)",
"service": "windows",
"containerEnv": {
"VERSION": "7ux86",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 8.1 Enterprise",
"service": "windows",
"containerEnv": {
"VERSION": "8e",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,22 @@
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "11"
RAM_SIZE: "max"
DISK_SIZE: "max"
CPU_CORES: "max"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
volumes:
- ./windows:/storage
restart: on-failure
stop_grace_period: 2m

View File

@ -0,0 +1,24 @@
{
"name": "Tiny 11 Core",
"service": "windows",
"containerEnv": {
"VERSION": "core11",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Windows 11 Pro",
"service": "windows",
"containerEnv": {
"VERSION": "11",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Tiny 11 Nano",
"service": "windows",
"containerEnv": {
"VERSION": "nano11",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Tiny 10",
"service": "windows",
"containerEnv": {
"VERSION": "tiny10",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,24 @@
{
"name": "Tiny 11",
"service": "windows",
"containerEnv": {
"VERSION": "tiny11",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"hostRequirements": {
"storage": "64gb"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows Vista Ultimate (64-bit)",
"service": "windows",
"containerEnv": {
"VERSION": "vu",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows Vista Ultimate (32-bit)",
"service": "windows",
"containerEnv": {
"VERSION": "vux86",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows XP (32-bit)",
"service": "windows",
"containerEnv": {
"VERSION": "xp",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -0,0 +1,21 @@
{
"name": "Windows XP (64-bit)",
"service": "windows",
"containerEnv": {
"VERSION": "xp64",
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View File

@ -3,7 +3,7 @@
ARG VERSION_ARG="latest"
FROM scratch AS build-amd64
COPY --from=qemux/qemu:7.23 / /
COPY --from=qemux/qemu:7.24 / /
ARG TARGETARCH
ARG DEBCONF_NOWARNINGS="yes"

View File

@ -160,7 +160,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
### How do I change the amount of CPU or RAM?
By default, the container will be allowed to use a maximum of 2 CPU cores and 4 GB of RAM.
By default, Windows will be allowed to use 2 CPU cores and 4 GB of RAM.
If you want to adjust this, you can specify the desired amount using the following environment variables:
@ -172,9 +172,9 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
### How do I configure the username and password?
By default, a user called `Docker` is created during installation and its password is `admin`.
By default, a user called `Docker` is created and its password is `admin`.
If you want to use different credentials, you can configure them in your compose file (only before installation):
If you want to use different credentials during installation, you can configure them in your compose file:
```yaml
environment:
@ -186,7 +186,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
By default, the English version of Windows will be downloaded.
But before installation you can add the `LANGUAGE` environment variable to your compose file, in order to specify an alternative language:
But you can add the `LANGUAGE` environment variable to your compose file, in order to specify an alternative language to be downloaded:
```yaml
environment:
@ -197,7 +197,7 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
### How do I select the keyboard layout?
If you want to use a keyboard layout or locale that is not the default for your selected language, you can add `KEYBOARD` and `REGION` variables like this (before installation):
If you want to use a keyboard layout or locale that is not the default for your selected language, you can add `KEYBOARD` and `REGION` variables like this:
```yaml
environment:
@ -205,15 +205,6 @@ kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/mas
KEYBOARD: "en-US"
```
### How do I select the edition?
Windows Server offers a minimalistic Core edition without a GUI. To select those non-standard editions, you can add a `EDITION` variable like this (before installation):
```yaml
environment:
EDITION: "core"
```
### How do I install a custom image?
In order to download an unsupported ISO image, specify its URL in the `VERSION` environment variable: