# Prerequisites Before starting the lab, make sure your workstation can run several VMs in parallel. The domain controller and the Windows client are full Windows VMs (Server and Windows 11). ## Hardware | Resource | Recommended | Minimum | |---|---|---| | RAM | 16 GB | 12 GB | | CPU | 4 cores | 2 cores | | Free disk | 150 GB | 80 GB | | CPU virtualization | VT-x or AMD-V enabled in BIOS | required | ## Software - Recent Docker Engine (>= 24) with Compose v2 plugin - An RDP client (optional but strongly recommended) Install Docker according to your OS: - Linux: `docker` and `docker-compose-plugin` packages - Windows: Docker Desktop with WSL2 backend - macOS Intel: Docker Desktop - macOS Apple Silicon: not supported (see the dedicated section below) ## macOS Apple Silicon M1/M2/M3/M4 chips do not expose an x86 `/dev/kvm`. The `dockurr/windows` image refuses to start without KVM, and full x86 emulation via QEMU TCG is too slow to be usable. Workaround: install a Linux VM with Docker inside, then clone and run the lab from there. [UTM](https://mac.getutm.app/) works well. You get a Debian or Ubuntu VM that hosts the whole lab, and you access the lab VMs via RDP from your Mac. ## Automated check A script validates the critical items: ``` ./scripts/check-prereqs.sh # Linux, macOS .\scripts\check-prereqs.ps1 # Windows PowerShell ``` It reports `[ OK ]`, `[WARN]`, `[FAIL]` for each check. ## Windows-specific setup Nested virtualization must be enabled in WSL2. Create `%USERPROFILE%\.wslconfig` with: ``` [wsl2] nestedVirtualization=true memory=16GB processors=4 ``` Then restart WSL: ``` wsl --shutdown ``` Docker Desktop will restart with nested virt available. ## Next Once prerequisites check out, continue to `01-lab-startup.md`.