From 4bd4a05069b953a95248c0124346bdd272e489eb Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 8 Jul 2026 15:29:32 +0200 Subject: [PATCH 1/5] Create environment.md --- docs/environment.md | 144 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 docs/environment.md diff --git a/docs/environment.md b/docs/environment.md new file mode 100644 index 000000000..8f58c775c --- /dev/null +++ b/docs/environment.md @@ -0,0 +1,144 @@ +# Environment Variables + +This page lists all the environment variables that can be used to configure the container. + +## Windows + +| Variable | Default | Description | +|---|---|---| +| `VERSION` | `11` | Windows version to install, for example `11`, `10`, etc. | +| `EDITION` | | Windows edition to install, for example `core` for Windows Server. | +| `LANGUAGE` | `en-US` | Windows display language, for example `en`, `fr`, `nl`, etc. | +| `REGION` | `en-US` | Windows regional format, for example `en-US`. | +| `KEYBOARD` | `en-US` | Keyboard layout used during installation, for example `en-US`. | +| `USERNAME` | `Dockur` | Username for the Windows account. | +| `PASSWORD` | `admin` | Password for the Windows account. | +| `KEY` | | Windows product key used during installation. | +| `WIDTH` | `1920` | Display width configured for Windows. | +| `HEIGHT` | `1080` | Display height configured for Windows. | +| `MANUAL` | `N` | Enables manual installation instead of automatic. | +| `VERIFY` | `N` | Enables checksum verification of downloaded images. | +| `REMOVE` | `Y` | If disabled, skips removal of the Windows .iso. | +| `DETECTED` | | Overrides the detected Windows image identifier. | + +## System + +| Variable | Default | Description | +|---|---|---| +| `MACHINE` | `q35` | QEMU machine type. | +| `KVM` | `Y` | Enables KVM acceleration. Set to `N` to disable. | +| `VMX` | `N` | Controls whether VMX virtualization is exposed to Windows. | +| `HV` | `Y` | Enables Hyper-V enlightenments for Windows guests. | +| `UUID` | | QEMU VM UUID override. | +| `HPET` | `off` | QEMU HPET setting. | +| `VMPORT` | `off` | QEMU vmport setting. | +| `SM_BIOS` | | Extra SMBIOS arguments passed to QEMU. | +| `CPU_MODEL` | `host` | Overrides the QEMU CPU model. | +| `CPU_FLAGS` | | Adds extra QEMU CPU flags. | +| `CPU_CORES` | `2` | Number of CPU cores assigned to the VM. Can also be set to `max` or `half`. | +| `RAM_SIZE` | `4G` | Amount of RAM assigned to the VM, for example `4G`, `8G`, `max`, or `half`. | +| `RAM_CHECK` | `Y` | Checks whether enough host memory is available before starting the VM. | +| `ARGUMENTS` | | Extra raw QEMU arguments appended to the generated command line. | + +## Boot + +| Variable | Default | Description | +|---|---|---| +| `BOOT_MODE` | `windows` | Boot mode, for example `windows`, `windows_secure`, or `windows_legacy`. | +| `BOOT_INDEX` | `9` | Boot priority index for the installation media. | +| `BIOS` | | Custom BIOS/firmware file. Setting this enables custom boot mode. | +| `TPM` | `N` | Enables TPM support. | +| `SMM` | `N` | Enables SMM/secure-machine support. | +| `LOGO` | `Y` | Enables custom boot logo. | +| `CLEAR` | `N` | If enabled the firmware/NVRAM variables will be cleared during the next boot. | +| `USB` | `qemu-xhci,id=xhci,p2=7,p3=7` | QEMU USB controller setting. Set to a `no*` value to disable. | + +## Shutdown + +| Variable | Default | Description | +|---|---|---| +| `SHUTDOWN` | `Y` | Enables graceful ACPI shutdown handling. | +| `TIMEOUT` | `115` | Timeout used while waiting for the VM to shut down. | + +## Storage + +| Variable | Default | Description | +|---|---|---| +| `DISK_SIZE` | `64G` | Size of the main data disk. | +| `DISK_FMT` | `raw` | Disk image format, usually `raw` or `qcow2`. | +| `DISK_TYPE` | `scsi` | Disk controller/device type, such as `sata`, `scsi`, `nvme`, or `blk`. | +| `DISK_CACHE` | `none` | QEMU disk cache mode, for example `none` or `writeback`. | +| `DISK_IO` | `native` | QEMU disk I/O mode, for example `native`, `threads`, or `io_uring`. | +| `DISK_DISCARD` | `unmap` | Controls TRIM/unmap support. | +| `DISK_ROTATION` | `1` | Rotation rate exposed to the guest. Use `1` for SSD-like storage. | +| `DISK_FLAGS` | | Extra options used when creating qcow2 disks. | +| `ALLOCATE` | `N` | Controls whether disk space is preallocated. | +| `STORAGE` | `/storage` | Storage directory used for the data files. | + +## Networking + +| Variable | Default | Description | +|---|---|---| +| `NETWORK` | `Y` | Network mode. Common values are `Y` for NAT, `passt`, `slirp`, or `N`. | +| `DHCP` | `N` | Enables DHCP/macvtap mode, where the VM receives an address from the external LAN. | +| `IP` | | Guest IP address override. | +| `MAC` | | Guest network adapter MAC address. | +| `HOST` | `Windows` | Hostname for the VM. | +| `DEV` | `eth0` | Network interface to use. | +| `MTU` | | Network MTU override. | +| `MASK` | `255.255.255.0` | IPv4 netmask. | +| `TAP` | `qemu` | TAP/macvtap interface name. | +| `BRIDGE` | `docker` | Bridge name used for NAT networking. | +| `ADAPTER` | `virtio-net-pci` | QEMU network adapter model. | +| `HOST_PORTS` | | Ports reserved for services running on the host/container side. | +| `USER_PORTS` | | Ports forwarded to the VM when using user-mode networking. | +| `WEB` | `Y` | Enables or disables the web interface. | +| `WEB_PORT` | `8006` | Port for the web interface. | +| `VNC_PORT` | `5900` | Port for the VNC server. | +| `WSS_PORT` | `5700` | WebSocket port used by QEMU/noVNC. | +| `WSD_PORT` | `8004` | Internal websocketd port. | +| `PROTECT` | `N` | Enables password protection for the web interface. | +| `DNSMASQ_OPTS` | | Extra dnsmasq options. | +| `DNSMASQ_DEBUG` | `N` | Enables dnsmasq log tailing. | +| `DNSMASQ_DISABLE` | `N` | Disables dnsmasq setup. | +| `PASST_OPTS` | | Extra passt options. | +| `PASST_DEBUG` | `N` | Enables passt debug/log output. | + +## Samba + +| Variable | Default | Description | +|---|---|---| +| `SAMBA` | `Y` | Enables or disables the Samba shared folder service. | +| `SAMBA_DEBUG` | `N` | Enables Samba debug output. | + +## Display + +| Variable | Default | Description | +|---|---|---| +| `DISPLAY` | `web` | Display backend. Common values are `web`, `vnc`, `disabled`, or `none`. | +| `VGA` | `virtio` | QEMU video adapter model. | +| `GPU` | `N` | Enables GPU acceleration for Intel integrated graphics (WIP). | +| `RENDERNODE` | `/dev/dri/renderD128` | Render node used for GPU acceleration. | + +## Memory Ballooning + +| Variable | Default | Description | +|---|---|---| +| `BALLOONING` | `N` | Enables dynamic memory ballooning. | +| `BALLOONING_DEBUG` | `N` | Enables debug output for the ballooning monitor. | +| `BALLOONING_MIN_MEM` | `33%` | Minimum memory target for the balloon device. | +| `BALLOONING_RAM_THRESHOLD` | `80.0` | Host RAM usage target for ballooning decisions. | +| `BALLOONING_RAM_THRESHOLD_HARD` | `90.0` | Hard host RAM pressure threshold. | +| `BALLOONING_PSI_PRESSURE` | `10.0` | PSI memory pressure level where ballooning starts reacting more aggressively. | +| `BALLOONING_PSI_PRESSURE_MAX` | `50.0` | PSI memory pressure level where ballooning reaches its strongest response. | +| `BALLOONING_HYSTERESIS` | `128M` | Minimum memory change before the balloon target is updated. | +| `BALLOONING_KP` | `0.5` | Proportional gain for the ballooning controller. | +| `BALLOONING_KI` | `0.05` | Integral gain for the ballooning controller. | +| `BALLOONING_INTERVAL` | `5` | Polling interval for the ballooning monitor. | + +## Debugging +|---|---|---| +| `DEBUG` | `N` | Enables verbose debug output. | +| `TRACE` | `N` | Enables shell command tracing. | +| `SERIAL` | `mon:stdio` | QEMU serial device setting. | +| `MONITOR` | `unix:$QEMU_DIR/monitor.sock,server,wait=off,nodelay` | QEMU monitor socket/device setting. | From b54c742aff15806d1160b4926b67516e52b6434a Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 8 Jul 2026 15:30:52 +0200 Subject: [PATCH 2/5] Update environment.md --- docs/environment.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/environment.md b/docs/environment.md index 8f58c775c..94877fbef 100644 --- a/docs/environment.md +++ b/docs/environment.md @@ -137,6 +137,8 @@ This page lists all the environment variables that can be used to configure the | `BALLOONING_INTERVAL` | `5` | Polling interval for the ballooning monitor. | ## Debugging + +| Variable | Default | Description | |---|---|---| | `DEBUG` | `N` | Enables verbose debug output. | | `TRACE` | `N` | Enables shell command tracing. | From 37f6ff15ebfd8dbbcbbde503c4c477d831bc6f4e Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 8 Jul 2026 15:38:55 +0200 Subject: [PATCH 3/5] Update environment.md --- docs/environment.md | 85 ++++++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 40 deletions(-) diff --git a/docs/environment.md b/docs/environment.md index 94877fbef..4058ed311 100644 --- a/docs/environment.md +++ b/docs/environment.md @@ -6,8 +6,8 @@ This page lists all the environment variables that can be used to configure the | Variable | Default | Description | |---|---|---| -| `VERSION` | `11` | Windows version to install, for example `11`, `10`, etc. | -| `EDITION` | | Windows edition to install, for example `core` for Windows Server. | +| `VERSION` | `11` | Windows version to install, for example `11`, `10`, `ltsc11`, or `2022`. | +| `EDITION` | | Windows edition to install, for example `core` for Windows Server Core. | | `LANGUAGE` | `en-US` | Windows display language, for example `en`, `fr`, `nl`, etc. | | `REGION` | `en-US` | Windows regional format, for example `en-US`. | | `KEYBOARD` | `en-US` | Keyboard layout used during installation, for example `en-US`. | @@ -16,28 +16,32 @@ This page lists all the environment variables that can be used to configure the | `KEY` | | Windows product key used during installation. | | `WIDTH` | `1920` | Display width configured for Windows. | | `HEIGHT` | `1080` | Display height configured for Windows. | -| `MANUAL` | `N` | Enables manual installation instead of automatic. | +| `MANUAL` | `N` | Enables manual installation instead of unattended installation. | | `VERIFY` | `N` | Enables checksum verification of downloaded images. | -| `REMOVE` | `Y` | If disabled, skips removal of the Windows .iso. | -| `DETECTED` | | Overrides the detected Windows image identifier. | +| `REMOVE` | `Y` | Removes the Windows ISO after installation. Set to `N` to keep it. | -## System +## CPU and Memory | Variable | Default | Description | |---|---|---| -| `MACHINE` | `q35` | QEMU machine type. | -| `KVM` | `Y` | Enables KVM acceleration. Set to `N` to disable. | -| `VMX` | `N` | Controls whether VMX virtualization is exposed to Windows. | -| `HV` | `Y` | Enables Hyper-V enlightenments for Windows guests. | -| `UUID` | | QEMU VM UUID override. | -| `HPET` | `off` | QEMU HPET setting. | -| `VMPORT` | `off` | QEMU vmport setting. | -| `SM_BIOS` | | Extra SMBIOS arguments passed to QEMU. | -| `CPU_MODEL` | `host` | Overrides the QEMU CPU model. | -| `CPU_FLAGS` | | Adds extra QEMU CPU flags. | | `CPU_CORES` | `2` | Number of CPU cores assigned to the VM. Can also be set to `max` or `half`. | +| `CPU_MODEL` | `host` | QEMU CPU model to use. | +| `CPU_FLAGS` | | Additional QEMU CPU flags. | +| `KVM` | `Y` | Enables KVM hardware acceleration. Set to `N` to disable. | +| `VMX` | `N` | Exposes Intel VMX virtualization extensions to Windows. | +| `HV` | `Y` | Enables Hyper-V enlightenments for Windows. | | `RAM_SIZE` | `4G` | Amount of RAM assigned to the VM, for example `4G`, `8G`, `max`, or `half`. | | `RAM_CHECK` | `Y` | Checks whether enough host memory is available before starting the VM. | + +## System + +| Variable | Default | Description | +|---|---|---| +| `MACHINE` | `q35` | QEMU machine type. | +| `UUID` | | QEMU VM UUID. | +| `HPET` | `off` | Enables or disables the QEMU HPET timer. | +| `VMPORT` | `off` | Enables or disables the QEMU VMware port. | +| `SM_BIOS` | | Extra SMBIOS arguments passed to QEMU. | | `ARGUMENTS` | | Extra raw QEMU arguments appended to the generated command line. | ## Boot @@ -49,17 +53,10 @@ This page lists all the environment variables that can be used to configure the | `BIOS` | | Custom BIOS/firmware file. Setting this enables custom boot mode. | | `TPM` | `N` | Enables TPM support. | | `SMM` | `N` | Enables SMM/secure-machine support. | -| `LOGO` | `Y` | Enables custom boot logo. | -| `CLEAR` | `N` | If enabled the firmware/NVRAM variables will be cleared during the next boot. | +| `LOGO` | `Y` | Enables the custom boot logo. | +| `CLEAR` | `N` | Clears the firmware/NVRAM variables on the next boot. | | `USB` | `qemu-xhci,id=xhci,p2=7,p3=7` | QEMU USB controller setting. Set to a `no*` value to disable. | -## Shutdown - -| Variable | Default | Description | -|---|---|---| -| `SHUTDOWN` | `Y` | Enables graceful ACPI shutdown handling. | -| `TIMEOUT` | `115` | Timeout used while waiting for the VM to shut down. | - ## Storage | Variable | Default | Description | @@ -72,26 +69,26 @@ This page lists all the environment variables that can be used to configure the | `DISK_DISCARD` | `unmap` | Controls TRIM/unmap support. | | `DISK_ROTATION` | `1` | Rotation rate exposed to the guest. Use `1` for SSD-like storage. | | `DISK_FLAGS` | | Extra options used when creating qcow2 disks. | -| `ALLOCATE` | `N` | Controls whether disk space is preallocated. | -| `STORAGE` | `/storage` | Storage directory used for the data files. | +| `ALLOCATE` | `N` | Preallocates disk space when creating the data disk. | +| `STORAGE` | `/storage` | Storage directory used for disks, firmware variables, and generated files. | ## Networking | Variable | Default | Description | |---|---|---| -| `NETWORK` | `Y` | Network mode. Common values are `Y` for NAT, `passt`, `slirp`, or `N`. | -| `DHCP` | `N` | Enables DHCP/macvtap mode, where the VM receives an address from the external LAN. | +| `NETWORK` | `Y` | Network mode. Common values are `Y` for NAT, `passt`, `slirp`, or `N` to disable networking. | +| `DHCP` | `N` | Enables DHCP/macvtap mode so the VM receives an address from the external LAN. | | `IP` | | Guest IP address override. | | `MAC` | | Guest network adapter MAC address. | -| `HOST` | `Windows` | Hostname for the VM. | -| `DEV` | `eth0` | Network interface to use. | +| `HOST` | `Windows` | Hostname assigned to the VM. | +| `DEV` | `eth0` | Host/container network interface to use. | | `MTU` | | Network MTU override. | | `MASK` | `255.255.255.0` | IPv4 netmask. | | `TAP` | `qemu` | TAP/macvtap interface name. | | `BRIDGE` | `docker` | Bridge name used for NAT networking. | | `ADAPTER` | `virtio-net-pci` | QEMU network adapter model. | | `HOST_PORTS` | | Ports reserved for services running on the host/container side. | -| `USER_PORTS` | | Ports forwarded to the VM when using user-mode networking. | +| `USER_PORTS` | | Additional ports to forward to the VM when using user-mode networking. | | `WEB` | `Y` | Enables or disables the web interface. | | `WEB_PORT` | `8006` | Port for the web interface. | | `VNC_PORT` | `5900` | Port for the VNC server. | @@ -100,15 +97,15 @@ This page lists all the environment variables that can be used to configure the | `PROTECT` | `N` | Enables password protection for the web interface. | | `DNSMASQ_OPTS` | | Extra dnsmasq options. | | `DNSMASQ_DEBUG` | `N` | Enables dnsmasq log tailing. | -| `DNSMASQ_DISABLE` | `N` | Disables dnsmasq setup. | +| `DNSMASQ_DISABLE` | `N` | Disables the internal dnsmasq resolver. | | `PASST_OPTS` | | Extra passt options. | -| `PASST_DEBUG` | `N` | Enables passt debug/log output. | +| `PASST_DEBUG` | `N` | Enables passt debug output. | ## Samba | Variable | Default | Description | |---|---|---| -| `SAMBA` | `Y` | Enables or disables the Samba shared folder service. | +| `SAMBA` | `Y` | Enables or disables the Samba shared folder. | | `SAMBA_DEBUG` | `N` | Enables Samba debug output. | ## Display @@ -117,7 +114,7 @@ This page lists all the environment variables that can be used to configure the |---|---|---| | `DISPLAY` | `web` | Display backend. Common values are `web`, `vnc`, `disabled`, or `none`. | | `VGA` | `virtio` | QEMU video adapter model. | -| `GPU` | `N` | Enables GPU acceleration for Intel integrated graphics (WIP). | +| `GPU` | `N` | Enables Intel iGPU acceleration. Experimental. | | `RENDERNODE` | `/dev/dri/renderD128` | Render node used for GPU acceleration. | ## Memory Ballooning @@ -127,14 +124,21 @@ This page lists all the environment variables that can be used to configure the | `BALLOONING` | `N` | Enables dynamic memory ballooning. | | `BALLOONING_DEBUG` | `N` | Enables debug output for the ballooning monitor. | | `BALLOONING_MIN_MEM` | `33%` | Minimum memory target for the balloon device. | -| `BALLOONING_RAM_THRESHOLD` | `80.0` | Host RAM usage target for ballooning decisions. | -| `BALLOONING_RAM_THRESHOLD_HARD` | `90.0` | Hard host RAM pressure threshold. | +| `BALLOONING_RAM_THRESHOLD` | `80.0` | Target host RAM usage percentage. | +| `BALLOONING_RAM_THRESHOLD_HARD` | `90.0` | Host RAM usage percentage where ballooning becomes more aggressive. | | `BALLOONING_PSI_PRESSURE` | `10.0` | PSI memory pressure level where ballooning starts reacting more aggressively. | | `BALLOONING_PSI_PRESSURE_MAX` | `50.0` | PSI memory pressure level where ballooning reaches its strongest response. | | `BALLOONING_HYSTERESIS` | `128M` | Minimum memory change before the balloon target is updated. | | `BALLOONING_KP` | `0.5` | Proportional gain for the ballooning controller. | | `BALLOONING_KI` | `0.05` | Integral gain for the ballooning controller. | -| `BALLOONING_INTERVAL` | `5` | Polling interval for the ballooning monitor. | +| `BALLOONING_INTERVAL` | `5` | Polling interval in seconds. | + +## Shutdown + +| Variable | Default | Description | +|---|---|---| +| `SHUTDOWN` | `Y` | Enables graceful ACPI shutdown handling. | +| `TIMEOUT` | `115` | Timeout used while waiting for the VM to shut down. | ## Debugging @@ -142,5 +146,6 @@ This page lists all the environment variables that can be used to configure the |---|---|---| | `DEBUG` | `N` | Enables verbose debug output. | | `TRACE` | `N` | Enables shell command tracing. | +| `DETECTED` | | Overrides the detected Windows image identifier. | | `SERIAL` | `mon:stdio` | QEMU serial device setting. | -| `MONITOR` | `unix:$QEMU_DIR/monitor.sock,server,wait=off,nodelay` | QEMU monitor socket/device setting. | +| `MONITOR` | `unix:$QEMU_DIR/monitor.sock,server,wait=off,nodelay` | QEMU monitor device setting. | From 12d687875a67ca416c28a356fa1c77f21315bbf7 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 8 Jul 2026 15:41:25 +0200 Subject: [PATCH 4/5] Update environment.md --- docs/environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/environment.md b/docs/environment.md index 4058ed311..f9406695e 100644 --- a/docs/environment.md +++ b/docs/environment.md @@ -6,7 +6,7 @@ This page lists all the environment variables that can be used to configure the | Variable | Default | Description | |---|---|---| -| `VERSION` | `11` | Windows version to install, for example `11`, `10`, `ltsc11`, or `2022`. | +| `VERSION` | `11` | Windows version to install, for example `10` or `11`. | | `EDITION` | | Windows edition to install, for example `core` for Windows Server Core. | | `LANGUAGE` | `en-US` | Windows display language, for example `en`, `fr`, `nl`, etc. | | `REGION` | `en-US` | Windows regional format, for example `en-US`. | From b63713f69cf947aa175cbc9fceadca8ca08aad46 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 8 Jul 2026 15:51:51 +0200 Subject: [PATCH 5/5] Update environment.md --- docs/environment.md | 63 ++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/docs/environment.md b/docs/environment.md index f9406695e..57f3daf97 100644 --- a/docs/environment.md +++ b/docs/environment.md @@ -2,7 +2,7 @@ This page lists all the environment variables that can be used to configure the container. -## Windows +## 🪟 Windows | Variable | Default | Description | |---|---|---| @@ -14,13 +14,11 @@ This page lists all the environment variables that can be used to configure the | `USERNAME` | `Dockur` | Username for the Windows account. | | `PASSWORD` | `admin` | Password for the Windows account. | | `KEY` | | Windows product key used during installation. | -| `WIDTH` | `1920` | Display width configured for Windows. | -| `HEIGHT` | `1080` | Display height configured for Windows. | | `MANUAL` | `N` | Enables manual installation instead of unattended installation. | -| `VERIFY` | `N` | Enables checksum verification of downloaded images. | +| `VERIFY` | `N` | Verifies checksums of downloaded images. | | `REMOVE` | `Y` | Removes the Windows ISO after installation. Set to `N` to keep it. | -## CPU and Memory +## 🧠 CPU and Memory | Variable | Default | Description | |---|---|---| @@ -33,7 +31,7 @@ This page lists all the environment variables that can be used to configure the | `RAM_SIZE` | `4G` | Amount of RAM assigned to the VM, for example `4G`, `8G`, `max`, or `half`. | | `RAM_CHECK` | `Y` | Checks whether enough host memory is available before starting the VM. | -## System +## ⚙️ System | Variable | Default | Description | |---|---|---| @@ -41,10 +39,10 @@ This page lists all the environment variables that can be used to configure the | `UUID` | | QEMU VM UUID. | | `HPET` | `off` | Enables or disables the QEMU HPET timer. | | `VMPORT` | `off` | Enables or disables the QEMU VMware port. | -| `SM_BIOS` | | Extra SMBIOS arguments passed to QEMU. | -| `ARGUMENTS` | | Extra raw QEMU arguments appended to the generated command line. | +| `SM_BIOS` | | Additional SMBIOS arguments passed to QEMU. | +| `ARGUMENTS` | | Additional raw QEMU arguments appended to the generated command line. | -## Boot +## 🚀 Boot | Variable | Default | Description | |---|---|---| @@ -57,7 +55,7 @@ This page lists all the environment variables that can be used to configure the | `CLEAR` | `N` | Clears the firmware/NVRAM variables on the next boot. | | `USB` | `qemu-xhci,id=xhci,p2=7,p3=7` | QEMU USB controller setting. Set to a `no*` value to disable. | -## Storage +## 💾 Storage | Variable | Default | Description | |---|---|---| @@ -66,13 +64,13 @@ This page lists all the environment variables that can be used to configure the | `DISK_TYPE` | `scsi` | Disk controller/device type, such as `sata`, `scsi`, `nvme`, or `blk`. | | `DISK_CACHE` | `none` | QEMU disk cache mode, for example `none` or `writeback`. | | `DISK_IO` | `native` | QEMU disk I/O mode, for example `native`, `threads`, or `io_uring`. | -| `DISK_DISCARD` | `unmap` | Controls TRIM/unmap support. | -| `DISK_ROTATION` | `1` | Rotation rate exposed to the guest. Use `1` for SSD-like storage. | -| `DISK_FLAGS` | | Extra options used when creating qcow2 disks. | +| `DISK_DISCARD` | `unmap` | Enables TRIM/unmap support for the data disk. | +| `DISK_ROTATION` | `1` | Rotation rate reported to the guest. Use `1` for SSD-like storage. | +| `DISK_FLAGS` | | Additional options used when creating qcow2 disks. | | `ALLOCATE` | `N` | Preallocates disk space when creating the data disk. | | `STORAGE` | `/storage` | Storage directory used for disks, firmware variables, and generated files. | -## Networking +## 🌐 Networking | Variable | Default | Description | |---|---|---| @@ -82,42 +80,49 @@ This page lists all the environment variables that can be used to configure the | `MAC` | | Guest network adapter MAC address. | | `HOST` | `Windows` | Hostname assigned to the VM. | | `DEV` | `eth0` | Host/container network interface to use. | -| `MTU` | | Network MTU override. | +| `MTU` | | Network MTU to use for the guest interface. | | `MASK` | `255.255.255.0` | IPv4 netmask. | | `TAP` | `qemu` | TAP/macvtap interface name. | | `BRIDGE` | `docker` | Bridge name used for NAT networking. | | `ADAPTER` | `virtio-net-pci` | QEMU network adapter model. | | `HOST_PORTS` | | Ports reserved for services running on the host/container side. | | `USER_PORTS` | | Additional ports to forward to the VM when using user-mode networking. | -| `WEB` | `Y` | Enables or disables the web interface. | -| `WEB_PORT` | `8006` | Port for the web interface. | -| `VNC_PORT` | `5900` | Port for the VNC server. | -| `WSS_PORT` | `5700` | WebSocket port used by QEMU/noVNC. | -| `WSD_PORT` | `8004` | Internal websocketd port. | -| `PROTECT` | `N` | Enables password protection for the web interface. | -| `DNSMASQ_OPTS` | | Extra dnsmasq options. | +| `DNSMASQ_OPTS` | | Additional dnsmasq options. | | `DNSMASQ_DEBUG` | `N` | Enables dnsmasq log tailing. | | `DNSMASQ_DISABLE` | `N` | Disables the internal dnsmasq resolver. | -| `PASST_OPTS` | | Extra passt options. | +| `PASST_OPTS` | | Additional passt options. | | `PASST_DEBUG` | `N` | Enables passt debug output. | -## Samba +## 📁 File Sharing | Variable | Default | Description | |---|---|---| | `SAMBA` | `Y` | Enables or disables the Samba shared folder. | | `SAMBA_DEBUG` | `N` | Enables Samba debug output. | -## Display +## 🖥️ Display | Variable | Default | Description | |---|---|---| +| `WIDTH` | `1920` | Display width configured for Windows. | +| `HEIGHT` | `1080` | Display height configured for Windows. | | `DISPLAY` | `web` | Display backend. Common values are `web`, `vnc`, `disabled`, or `none`. | | `VGA` | `virtio` | QEMU video adapter model. | | `GPU` | `N` | Enables Intel iGPU acceleration. Experimental. | | `RENDERNODE` | `/dev/dri/renderD128` | Render node used for GPU acceleration. | -## Memory Ballooning +## 🌍 Web UI + +| Variable | Default | Description | +|---|---|---| +| `WEB` | `Y` | Enables or disables the web interface. | +| `WEB_PORT` | `8006` | Port for the web interface. | +| `VNC_PORT` | `5900` | Port for the VNC server. | +| `WSS_PORT` | `5700` | WebSocket port used by QEMU/noVNC. | +| `WSD_PORT` | `8004` | Internal websocketd port. | +| `PROTECT` | `N` | Enables password protection for the web interface. | + +## 🎈 Memory Ballooning | Variable | Default | Description | |---|---|---| @@ -133,14 +138,14 @@ This page lists all the environment variables that can be used to configure the | `BALLOONING_KI` | `0.05` | Integral gain for the ballooning controller. | | `BALLOONING_INTERVAL` | `5` | Polling interval in seconds. | -## Shutdown +## 🔌 Shutdown | Variable | Default | Description | |---|---|---| -| `SHUTDOWN` | `Y` | Enables graceful ACPI shutdown handling. | +| `SHUTDOWN` | `Y` | Enables graceful ACPI shutdown. | | `TIMEOUT` | `115` | Timeout used while waiting for the VM to shut down. | -## Debugging +## 🐞 Debugging | Variable | Default | Description | |---|---|---|