# Docker Runbook (WingsEmu Full Stack) ## Voraussetzungen - Docker Desktop / Docker Engine läuft - `.env` im Projektroot vorhanden - Runtime-Daten vorhanden: - `resources/dat/*` - `translations/*` - `config/*` (bei Bedarf) ## Start ```bash docker compose up -d --build ``` ## Status prüfen ```bash docker compose ps ``` ## Logs (alle) ```bash docker compose logs -f --tail=200 ``` ## Logs (einzelner Service) ```bash docker logs -f --tail=200 wingsemu-gamechannel docker logs -f --tail=200 wingsemu-master docker logs -f --tail=200 wingsemu-login ``` ## Häufige Health-Checks ```bash # Container Status docker compose ps # Core Ports (Windows PowerShell) Test-NetConnection 127.0.0.1 -Port 20500 Test-NetConnection 127.0.0.1 -Port 4004 Test-NetConnection 127.0.0.1 -Port 8000 Test-NetConnection 127.0.0.1 -Port 17500 ``` ## Nur einzelnen Service neu bauen/starten ```bash docker compose up -d --build gamechannel docker compose up -d --build master docker compose up -d --build login ``` ## Stop ```bash docker compose down ``` ## Hard Reset (inkl. Volumes) > Achtung: löscht lokale Docker-Daten (DB/Redis/Mongo Volumes) ```bash docker compose down -v --remove-orphans docker compose up -d --build ``` ## Fehlerbilder ### `gamechannel` startet nicht / NullReference beim Startup - Prüfe, ob `resources/dat` vollständig ist (mind. `Item.dat`) - Prüfe, ob `translations/*` vorhanden ist - Logs prüfen: `docker logs --tail 200 wingsemu-gamechannel` ### DB-Auth-Fehler - `.env` prüfen (`POSTGRES_*` Werte) - Bei Inkonsistenz Volume resetten (siehe Hard Reset) ### MQTT/Infra nicht healthy - `docker compose ps` - `docker logs --tail 200 wingsemu-mqtt` - `docker logs --tail 200 wingsemu-postgres` - `docker logs --tail 200 wingsemu-redis` - `docker logs --tail 200 wingsemu-mongodb`