Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,6 @@ VERSION=2022
RAM_SIZE=8G
CPU_CORES=4
DISK_SIZE=100G
# QEMU disk I/O backend: native, threads or io_uring. Empty lets QEMU choose,
# which is io_uring on recent kernels. Kernels before 5.12 (Ubuntu 20.04) fail
# at boot with "Failed to initialize io_uring": set native there.
# DISK_IO=native
# Local administrator created by the unattended install; also the RDP login
WIN_USERNAME=admin
WIN_PASSWORD=runner
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ Two authentication methods are supported. Set **one** of them in `.env`:
| `INSTALL_RTOOLS` | `true` | Install Rtools 4.0 with `mingw-w64-x86_64-make` |
| `VERSION` | `2022` | dockur Windows release (`2022` = Windows Server 2022 evaluation) |
| `RAM_SIZE` / `CPU_CORES` / `DISK_SIZE` | `8G` / `4` / `100G` | VM size |
| `DISK_IO` | QEMU's choice | QEMU disk I/O backend: `native`, `threads` or `io_uring`. Kernels before 5.12 exit at boot with `Failed to initialize io_uring`; set `native` there |
| `WIN_USERNAME` / `WIN_PASSWORD` | `admin` / `runner` | Local administrator created by the install, also the RDP login |

2. Start it and follow the container side (ISO download, QEMU boot):
Expand Down
12 changes: 9 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,22 @@ services:
RAM_SIZE: "${RAM_SIZE:-8G}"
CPU_CORES: "${CPU_CORES:-4}"
DISK_SIZE: "${DISK_SIZE:-100G}"
# QEMU disk I/O backend; empty lets QEMU choose. Set DISK_IO=native in .env
# on kernels before 5.12 ("Failed to initialize io_uring" at boot).
DISK_IO: "${DISK_IO:-}"
USERNAME: "${WIN_USERNAME:-admin}"
PASSWORD: "${WIN_PASSWORD:-runner}"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
# QEMU 10.1+ uses io_uring for its event loop and, on recent kernels, for the
# disk. io_uring rings are locked memory, and the container default of a few
# hundred KB makes QEMU exit at boot with "Failed to initialize io_uring:
# Cannot allocate memory". Unlimited is what the QEMU and Elasticsearch
# docs recommend; it is not a privilege.
ulimits:
memlock:
soft: -1
hard: -1
ports:
- 8006:8006 # web console (noVNC), handy during the first install
- 3389:3389/tcp # RDP
Expand Down
Loading