Zum Hauptinhalt springen

Backups

StoreStash speichert alle Daten in PostgreSQL. Regelmäßige Backups sind Pflicht.

Manuelles Backup

# Datenbank exportieren
docker compose exec db pg_dump -U storestash storestash > backup_$(date +%Y%m%d).sql

# Wiederherstellen
docker compose exec -T db psql -U storestash storestash < backup_20260402.sql

Automatisches Backup (Cronjob)

# /etc/cron.d/storestash-backup (täglich um 3:00 Uhr)
0 3 * * * root cd /opt/storestash && docker compose exec -T db pg_dump -U storestash storestash | gzip > /backups/storestash_$(date +\%Y\%m\%d).sql.gz

Backup-Retention

Empfohlen:

  • Täglich: 7 Tage aufbewahren
  • Wöchentlich: 4 Wochen aufbewahren
  • Off-Site: Mindestens eine Kopie an einem anderen Ort

Docker Volumes

Die PostgreSQL-Daten liegen im Docker Volume pgdata. Bei einem Server-Umzug:

# Volume exportieren
docker run --rm -v storestash_pgdata:/data -v $(pwd):/backup alpine tar czf /backup/pgdata.tar.gz /data

# Volume importieren (auf neuem Server)
docker run --rm -v storestash_pgdata:/data -v $(pwd):/backup alpine tar xzf /backup/pgdata.tar.gz -C /