Add Docker runbook for full stack operations

This commit is contained in:
nizar 2026-02-24 00:50:16 +01:00
parent 378261c998
commit c207d45839

80
docs/docker-run.md Normal file
View file

@ -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`