Files
Thorsten 7c374f2bc2 Add server migration guide
Documents the backup/restore-based steps for moving the app to a new
machine with Docker already installed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-07 12:18:57 +02:00

1.8 KiB

Umzug auf einen anderen Rechner

Anleitung, um den aktuellen Stand (inkl. Datenbank) auf einem anderen Rechner mit bereits laufendem Docker neu aufzusetzen.

Auf diesem Rechner (Vorbereitung)

Ein aktuelles Backup erstellen:

bash scripts/backup-db.sh

Zwei Dateien musst du selbst rüberkopieren (USB-Stick, Netzwerkfreigabe, scp — was im LAN am einfachsten ist):

  • .env (Projekt-Root)
  • die soeben erstellte backups/dnd_backup_<timestamp>.dump

Auf dem neuen Rechner

git clone http://172.17.2.68:3001/nova/DungeonsDragons.git
cd DungeonsDragons

Dann .env in den Repo-Root legen, und die .dump-Datei z. B. in einen backups/-Unterordner.

Wichtig — einen Wert in der übertragenen .env anpassen

FRONTEND_ORIGIN=http://localhost:5173

Das ist der Dev-Wert vom ursprünglichen Rechner. Auf dem neuen sollte es die tatsächliche Adresse sein, unter der das Frontend dort erreichbar ist (z. B. http://<neue-IP>:8080) — wird für CORS und Passwort-Reset-Links gebraucht.

Alles andere (DB-Zugangsdaten, x.ai-Key, JWT-Secrets) kann unverändert bleiben — gleiche Secrets heißt bestehende Logins bleiben gültig.

Datenbank zuerst separat hochziehen und befüllen, bevor der Rest startet

docker compose up -d postgres
# kurz warten, bis er "healthy" ist (docker compose ps)
bash scripts/restore-db.sh backups/dnd_backup_<timestamp>.dump -y
docker compose up -d --build

Der Restore bringt Schema und Daten in einem Rutsch mit (kein separates alembic upgrade nötig — der Dump enthält den kompletten aktuellen Migrationsstand). Die drei Regelwerk-Textdateien (backend/rulebooks/) sind bereits im Git-Repo enthalten, brauchen also keinen Extra-Transfer.

Check danach

curl http://localhost:8000/health

und Frontend im Browser unter http://<neuer-Rechner>:8080 aufrufen.