Lab_AD_Complet/docker-compose.yml
Corentin 8e1b06e090 Initial lab release: Docker-based Active Directory lab
Complete Active Directory teaching environment based on dockurr/windows:
- Windows Server domain controller, Windows 11 client, Debian 12 client
- docker-compose orchestration, env-driven configuration
- Bilingual documentation (FR + EN) for students
- Dual approach (GUI + PowerShell) in every procedure
- Instructor course plan and reference scripts
- RDP launcher scripts for Linux, macOS and Windows

Made by AcadéNice - https://acadenice.fr/
2026-04-17 11:29:49 +02:00

83 lines
2.1 KiB
YAML

services:
dc01:
image: dockurr/windows
container_name: lab-dc01
hostname: DC01
environment:
VERSION: "${DC_WINDOWS_VERSION:-2022}"
RAM_SIZE: "${DC_RAM:-6G}"
CPU_CORES: "${DC_CPU:-2}"
DISK_SIZE: "${DC_DISK:-64G}"
USERNAME: "Administrator"
PASSWORD: "${AD_ADMIN_PASSWORD:-AdminP@ss!2026}"
LANGUAGE: "${VM_LANGUAGE:-French}"
REGION: "${VM_REGION:-fr-FR}"
KEYBOARD: "${VM_KEYBOARD:-fr-FR}"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- "${DC_WEB_PORT:-8006}:8006"
- "127.0.0.1:${DC_RDP_PORT:-3389}:3389/tcp"
- "127.0.0.1:${DC_RDP_PORT:-3389}:3389/udp"
volumes:
- ./storage-dc01:/storage
- ./shared:/shared:ro
networks:
- adlan
stop_grace_period: 2m
restart: unless-stopped
pc01:
image: dockurr/windows
container_name: lab-pc01
hostname: PC01
environment:
VERSION: "${CLIENT_WINDOWS_VERSION:-11}"
RAM_SIZE: "${CLIENT_RAM:-4G}"
CPU_CORES: "${CLIENT_CPU:-2}"
DISK_SIZE: "${CLIENT_DISK:-40G}"
USERNAME: "LocalAdmin"
PASSWORD: "${AD_ADMIN_PASSWORD:-AdminP@ss!2026}"
LANGUAGE: "${VM_LANGUAGE:-French}"
REGION: "${VM_REGION:-fr-FR}"
KEYBOARD: "${VM_KEYBOARD:-fr-FR}"
devices:
- /dev/kvm
- /dev/net/tun
cap_add:
- NET_ADMIN
ports:
- "${CLIENT_WEB_PORT:-8009}:8006"
- "127.0.0.1:${CLIENT_RDP_PORT:-3391}:3389/tcp"
- "127.0.0.1:${CLIENT_RDP_PORT:-3391}:3389/udp"
volumes:
- ./storage-pc01:/storage
networks:
- adlan
stop_grace_period: 2m
restart: unless-stopped
linux01:
build: ./linux-client
container_name: lab-linux01
hostname: linux01
environment:
AD_DOMAIN: "${AD_DOMAIN:-corp.lab}"
AD_DOMAIN_NETBIOS: "${AD_DOMAIN_NETBIOS:-CORP}"
AD_ADMIN_USER: "Administrator"
AD_ADMIN_PASSWORD: "${AD_ADMIN_PASSWORD:-AdminP@ss!2026}"
DC_CONTAINER_IP: "lab-dc01"
cap_add:
- SYS_ADMIN
networks:
- adlan
depends_on:
- dc01
restart: unless-stopped
networks:
adlan:
driver: bridge