7c374f2bc2
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>
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 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.
|