Zum Inhalt springen

Backups

Eine produktive Installation braucht regelmäßige Backups. Zwei Dinge müssen gesichert werden: die PostgreSQL-Datenbank und der Datei-Storage (hochgeladene Dokumente).

Datenbank sichern

Erstelle ein Dump mit pg_dump — in der Container-Installation direkt im DB-Container:

docker compose exec db pg_dump -U lalabase lalabase_production > backup.sql

Für regelmäßige Backups bietet sich ein Cronjob auf dem Host an, der das Dump anlegt und versioniert wegschreibt (z. B. auf einen separaten Storage).

Datei-Storage sichern

Die hochgeladenen Dateien liegen im storage-Volume. Sichere es als Archiv:

docker compose cp web:/rails/storage ./storage-backup
Konsistenz

Sichere Datenbank und Storage möglichst im selben Zeitfenster — sonst können Verweise auf Dateien ins Leere zeigen.

Wiederherstellen

Spiele ein Dump in eine leere Datenbank zurück:

cat backup.sql | docker compose exec -T db psql -U lalabase lalabase_production
Achtung

Teste deine Backups regelmäßig durch eine Probe-Wiederherstellung. Ein ungetestetes Backup ist kein Backup.