The windows service in compose.yml defines the environment for the Windows host used by OmniBox. You can customize the hardware resources and data persistence through environment variables and volume mappings.
Environment Variables
RAM_SIZE: Specifies the amount of RAM allocated to the Windows instance (e.g., "8G").CPU_CORES: Specifies the number of CPU cores allocated (e.g., "4").DISK_SIZE: Specifies the disk size (e.g., "20G").
Volume Mappings
To customize the Windows installation or persist data, map local directories to the following container paths:
/custom.iso: The Windows ISO file (e.g., ./vm/win11iso/custom.iso)./oem: OEM setup files/first boot configuration (e.g., ./vm/win11setup/firstboot)./data: Setup scripts (e.g., ./vm/win11setup/setupscripts)./storage: Persistent storage for the Windows instance (e.g., ./vm/win11storage).
Network Access
The service exposes port 8006 for Web Viewer access.
services:
windows:
image: windows-local
container_name: omni-windows
privileged: true
environment:
RAM_SIZE: "8G"
CPU_CORES: "4"
DISK_SIZE: "20G"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- 8006:8006 # Web Viewer access
volumes:
- ./vm/win11iso/custom.iso:/custom.iso
- ./vm/win11setup/firstboot:/oem
- ./vm/win11setup/setupscripts:/data
- ./vm/win11storage:/storage