diff --git a/docs/docker-run.md b/docs/docker-run.md new file mode 100644 index 0000000..227fe1f --- /dev/null +++ b/docs/docker-run.md @@ -0,0 +1,80 @@ +# 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`