Compare commits

...

5 commits

33 changed files with 105 additions and 220 deletions

View file

@ -2,10 +2,7 @@
"name": "Windows 11 Enterprise", "name": "Windows 11 Enterprise",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "11e", "VERSION": "11e"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows 11 LTSC", "name": "Windows 11 LTSC",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "11l", "VERSION": "11l"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows 10 Pro", "name": "Windows 10 Pro",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "10", "VERSION": "10"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows 10 Enterprise", "name": "Windows 10 Enterprise",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "10e", "VERSION": "10e"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows 10 LTSC", "name": "Windows 10 LTSC",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "10l", "VERSION": "10l"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows 8.1 Enterprise", "name": "Windows 8.1 Enterprise",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "8e", "VERSION": "8e"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -1,11 +1,8 @@
{ {
"name": "Windows XP (32-bit)", "name": "Windows 7 Ultimate",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "xp", "VERSION": "7u"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -0,0 +1,18 @@
{
"name": "Windows Vista Ultimate",
"service": "windows",
"containerEnv": {
"VERSION": "vu"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View file

@ -0,0 +1,18 @@
{
"name": "Windows XP Professional",
"service": "windows",
"containerEnv": {
"VERSION": "xp"
},
"forwardPorts": [8006],
"portsAttributes": {
"8006": {
"label": "Web",
"onAutoForward": "openBrowser"
}
},
"otherPortsAttributes": {
"onAutoForward": "silent"
},
"dockerComposeFile": "../codespaces.yml"
}

View file

@ -2,10 +2,7 @@
"name": "Windows 2000 Professional", "name": "Windows 2000 Professional",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2k", "VERSION": "2k"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2025", "name": "Windows Server 2025",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2025", "VERSION": "2025"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2022", "name": "Windows Server 2022",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2022", "VERSION": "2022"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2019", "name": "Windows Server 2019",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2019", "VERSION": "2019"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2016", "name": "Windows Server 2016",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2016", "VERSION": "2016"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2012 R2", "name": "Windows Server 2012 R2",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2012", "VERSION": "2012"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2008 R2", "name": "Windows Server 2008 R2",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2008", "VERSION": "2008"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -2,10 +2,7 @@
"name": "Windows Server 2003", "name": "Windows Server 2003",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "2003", "VERSION": "2003"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -1,11 +1,8 @@
{ {
"name": "Tiny 10", "name": "Tiny11",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "tiny10", "VERSION": "tiny11"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -1,11 +1,8 @@
{ {
"name": "Tiny 11", "name": "Tiny11 Core",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "tiny11", "VERSION": "core11"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -1,11 +1,8 @@
{ {
"name": "Tiny 11 Core", "name": "Tiny11 Nano",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "core11", "VERSION": "nano11"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

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

View file

@ -1,21 +0,0 @@
{
"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

@ -1,21 +0,0 @@
{
"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

@ -4,7 +4,8 @@ services:
container_name: windows container_name: windows
environment: environment:
VERSION: "11" VERSION: "11"
RAM_SIZE: "max" ALLOCATE: "Y"
RAM_SIZE: "half"
DISK_SIZE: "max" DISK_SIZE: "max"
CPU_CORES: "max" CPU_CORES: "max"
devices: devices:

View file

@ -2,10 +2,7 @@
"name": "Windows 11 Pro", "name": "Windows 11 Pro",
"service": "windows", "service": "windows",
"containerEnv": { "containerEnv": {
"VERSION": "11", "VERSION": "11"
"RAM_SIZE": "max",
"DISK_SIZE": "max",
"CPU_CORES": "max"
}, },
"forwardPorts": [8006], "forwardPorts": [8006],
"portsAttributes": { "portsAttributes": {

View file

@ -1,24 +0,0 @@
{
"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

@ -1,21 +0,0 @@
{
"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

@ -1,21 +0,0 @@
{
"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

@ -1,21 +0,0 @@
{
"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

@ -1,4 +1,5 @@
.dockerignore .dockerignore
.devcontainer
.git .git
.github .github
.gitignore .gitignore

View file

@ -7,19 +7,29 @@ jobs:
name: shellcheck name: shellcheck
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v5 -
- name: Run ShellCheck name: Checkout
uses: actions/checkout@v5
-
name: Run ShellCheck
uses: ludeeus/action-shellcheck@master uses: ludeeus/action-shellcheck@master
env: env:
SHELLCHECK_OPTS: -x --source-path=src -e SC1091 -e SC2001 -e SC2002 -e SC2034 -e SC2064 -e SC2153 -e SC2317 -e SC2028 SHELLCHECK_OPTS: -x --source-path=src -e SC1091 -e SC2001 -e SC2002 -e SC2034 -e SC2064 -e SC2153 -e SC2317 -e SC2028
- name: Validate XML -
uses: action-pack/valid-xml@v1 name: Lint Dockerfile
with:
path: "assets"
file-endings: ".xml"
- name: Lint Dockerfile
uses: hadolint/hadolint-action@v3.3.0 uses: hadolint/hadolint-action@v3.3.0
with: with:
dockerfile: Dockerfile dockerfile: Dockerfile
ignore: DL3006,DL3008 ignore: DL3006,DL3008
failure-threshold: warning failure-threshold: warning
-
name: Validate XML
uses: action-pack/valid-xml@v1
with:
path: "assets"
file-endings: ".xml"
-
name: Validate JSON and YML files
uses: GrantBirki/json-yaml-validate@v4
with:
yaml_exclude_regex: ".*\\kubernetes\\.yml$"

View file

@ -3,7 +3,7 @@
ARG VERSION_ARG="latest" ARG VERSION_ARG="latest"
FROM scratch AS build-amd64 FROM scratch AS build-amd64
COPY --from=qemux/qemu:7.24 / / COPY --from=qemux/qemu:7.25 / /
ARG TARGETARCH ARG TARGETARCH
ARG DEBCONF_NOWARNINGS="yes" ARG DEBCONF_NOWARNINGS="yes"
@ -27,7 +27,7 @@ RUN set -eu && \
COPY --chmod=755 ./src /run/ COPY --chmod=755 ./src /run/
COPY --chmod=755 ./assets /run/assets COPY --chmod=755 ./assets /run/assets
ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.47-0/virtio-win-1.9.47.tar.xz /var/drivers.txz ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.48-0/virtio-win-1.9.48.tar.xz /var/drivers.txz
FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64 FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
FROM build-${TARGETARCH} FROM build-${TARGETARCH}

View file

@ -22,7 +22,9 @@ cd /run
. boot.sh # Configure boot . boot.sh # Configure boot
. proc.sh # Initialize processor . proc.sh # Initialize processor
. power.sh # Configure shutdown . power.sh # Configure shutdown
. memory.sh # Check available memory
. config.sh # Configure arguments . config.sh # Configure arguments
. finish.sh # Finish initialization
trap - ERR trap - ERR