Betrieb

Backup

Ein vollständiges Backup braucht vier Bestandteile. Fehlt einer, ist die Wiederherstellung unvollständig:

  1. Datenbank — Konten, Links, Metadaten, Einstellungen, Seiten.
  2. storage/app/private/ — die Dateien selbst, und das eigene Theme.
  3. storage/app/public/ — das Logo.
  4. .env — enthält APP_KEY und FILESHARE_ENCRYPTION_KEY.
# Datenbank
mysqldump --single-transaction --quick -u <user> -p <db> | gzip > db-$(date +%F).sql.gz

# Dateien
tar czf files-$(date +%F).tar.gz -C /var/www/fileshare storage/app

Die Schlüssel gehören getrennt aufbewahrt. Ein Backup, das .env neben der verschlüsselten Datei liegen hat, macht die Verschlüsselung wirkungslos — wer das Backup hat, hat beides.

Ohne FILESHARE_ENCRYPTION_KEY sind verschlüsselte Dateien verloren. Ohne APP_KEY sind das gespeicherte SMTP-Passwort und verschlüsselte Sitzungen unlesbar; beides lässt sich neu setzen — die Dateien nicht.

Wiederherstellung

gunzip < db-2026-08-14.sql.gz | mysql -u <user> -p <db>
tar xzf files-2026-08-14.tar.gz -C /var/www/fileshare
php artisan storage:link
php artisan config:cache

Danach prüfen: Anmeldung, ein Download einer verschlüsselten Datei, Test-Mail, Einstellungen → Systemdaten (Schreibrechte).

Teste die Wiederherstellung, bevor du sie brauchst. Ein Backup, das nie zurückgespielt wurde, ist eine Annahme, keine Sicherung.

Quelle dieser Seite: docs/betrieb/backup.md im Repository. Sie wird beim Bauen daraus erzeugt — Änderungen gehören in die Markdown-Datei, nicht in diese Seite.