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>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
# 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
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
curl http://localhost:8000/health
|
||||
```
|
||||
|
||||
und Frontend im Browser unter `http://<neuer-Rechner>:8080` aufrufen.
|
||||
Reference in New Issue
Block a user