Files
homelab-infra/ops/borg-ui/BACKUP_AUDIT_STATUS_QUO.md
T
2026-05-25 14:44:46 +02:00

9.0 KiB

Backup Audit - Status Quo

Stand: 2026-04-15

Dieses Dokument beschreibt den aktuellen Ist-Zustand des Homelab-Backups, bevor weitere Strukturänderungen oder Migrationsschritte vorgenommen werden.

Ziel dieses Audits

  1. Festhalten, welche Daten wo liegen.
  2. Prüfen, was aktuell im Borg-Scope enthalten ist.
  3. Sichtbar machen, welche Lücken oder Unsicherheiten noch bestehen.
  4. Erst danach über Umzüge oder Bereinigungen entscheiden.

Shares - fachliche Einordnung

Share Aktuelle Rolle Bewertung
appdata App-Konfig, Datenbanken, App-State, Secrets fachlich normal, aber gemischt; nicht alles daraus sollte pauschal gebackupt werden
documents Nutzdaten für Dokumente / Paperless fachlich sauber
photos Nutzdaten für Bilder / Immich / Archiv fachlich sauber
services GitOps / Infrastruktur / Gitea / Compose fachlich sauber
backups Backup-Ziele und Restore-Daten sollte frei von Live-App-Daten bleiben
media Mediathek / große Inhaltsdaten aktuell nicht Teil des Critical-Scopes
finance sensible Nutzdaten aktuell nicht Teil des Critical-Scope
projekte Projekt- und Entwicklungsdaten aktuell nicht Teil des Critical-Scope

Aktueller Borg-Zielzustand

Es gibt derzeit zwei relevante Ebenen:

  1. Ein älteres breites Test-Repository (hetzner_borg-appdata), das nicht als finales Design gewertet werden sollte.
  2. Ein neues gezieltes Critical-Repository (critical_infra), das den fachlich wichtigen Scope abdecken soll.

Der technische Scope für critical_infra ist in all-important-sources.txt festgehalten.

Aktueller Borg-Scope - Quellen

Dumps

  • /local/borg-dumps

Kritische App-/Nutzdaten

  • /local/appdata/vaultwarden
  • /local/appdata/paperless-ngx/data
  • /local/paperless/media
  • /local/paperless/export
  • /local/paperless/consume
  • /local/immich/upload
  • /local/immich/external
  • /local/gitea/data
  • /local/appdata/mealie/data
  • /local/appdata/mailarchiver/data-protection-keys

Secrets / Konfiguration / Infrastruktur

  • /local/secrets
  • /local/appdata/authelia/config
  • /local/appdata/traefik
  • /local/appdata/ntfy
  • /local/appdata/paperless-gpt
  • /local/appdata/tailscale
  • /local/appdata/adguard/conf
  • /local/appdata/borg-ui/data
  • /local/appdata/komodo/periphery
  • /local/appdata/komodo/core

Service-Audit

Service Nutzdaten DB / technischer Zustand Aktuell durch Borg abgedeckt? Bewertung
Vaultwarden /mnt/user/appdata/vaultwarden Datei-basiert Ja gut
Paperless documents + appdata/paperless-ngx/data Shared PostgreSQL Dump vorhanden Ja gut
Immich /mnt/user/photos/immich, /mnt/user/photos/family_archive eigener PostgreSQL Dump vorhanden Ja gut
Gitea /mnt/user/services/gitea/data SQLite in /data Ja gut
Mealie /mnt/user/appdata/mealie/data eigener PostgreSQL Dump vorhanden Ja gut
Mail-archiver DataProtection-Keys Shared PostgreSQL Dump vorhanden Ja gut
Authelia Config + Secrets Shared PostgreSQL Dump vorgesehen / erzeugt Ja gut
Traefik dynamische Config + Let's Encrypt keine separate DB Ja gut
ntfy Datei-Daten keine separate DB Ja gut
Paperless-GPT lokale Daten / Prompts keine separate DB Ja gut
Tailscale State-Verzeichnis keine separate DB Ja gut
AdGuard conf work bewusst nicht im Critical-Scope Teilweise okay
Komodo core + periphery MongoDB Dump aktuell nicht verifiziert Teilweise offen
Redis transiente Daten / Cache absichtlich nicht im Scope Nein bewusst ausgeschlossen
Scrutiny Config + InfluxDB InfluxDB nicht im Scope Nein bewusst ausgeschlossen
Plex Medien-Metadaten / Cache kein Critical-Scope Nein bewusst ausgeschlossen

Datenbank-Dumps - Ist-Zustand

Erfolgreich erzeugt

  • postgresql17-globals.sql
  • postgresql17-mailarchiver.dump
  • postgresql17-paperless.dump
  • postgresql17-authelia.dump
  • mealie.dump
  • immich.dump

Bestätigt

  • komodo-mongo.archive.gz - am 2026-05-04 frisch erzeugt und per gzip -t geprüft

Ergebnis des ersten critical_infra-Laufs

Der erste vollständige Lauf des neuen Borg-Repositories critical_infra wurde erfolgreich abgeschlossen.

Bestätigter Lauf

  • Repository: ssh://u565255@u565255.your-storagebox.de:23/./hetzner_borg_appdata_critical
  • Archiv: manual-backup-2026-04-13T19:19:52
  • Status: erfolgreich (rc 0)
  • Laufzeit: 1h 37m 12s
  • Dateien: 63.237
  • Archivgröße: 24,73 GB original / 24,53 GB komprimiert / 23,37 GB dedupliziert

Bedeutung

Damit ist bestätigt, dass der aktuelle Critical-Scope technisch durch Borg gesichert werden kann.

Das betrifft insbesondere:

  • Paperless-Dokumente und zugehörige Dumps
  • Immich-Uploads und photos/family_archive
  • Gitea-Daten
  • Vaultwarden
  • Secrets / Traefik / Authelia
  • die aktuell erzeugten PostgreSQL-Dumps

Weiterhin offen trotz erfolgreichem Lauf

  • der Scope kann später noch bewusst verschlankt werden, ist aber aktuell funktionsfähig

Aktueller Abschlussstand

Seit dem ersten erfolgreichen Lauf wurde der Zielzustand weiter konkret umgesetzt:

  • Die Pre-Backup-Dumps laufen host-seitig über Unraid User Scripts / Host-Cron.
  • Der Dump-Zielpfad wurde nach /mnt/user/backups/borg/dumps verlagert.
  • Der neue Zielpfad ist im laufenden borg-ui-Container sichtbar.
  • Ein Restore-Smoke-Test war erfolgreich:
    • postgresql17-globals.sql wurde wiederhergestellt
    • gitea.db wurde wiederhergestellt
  • ntfy und Uptime Kuma sind für Borg-Monitoring eingerichtet.
  • Firefly, Firefly-Fints und Semaphore wurden aus Git und vom Homelab entfernt.

Was aktuell bewusst nicht als Problem gewertet wird

  • photos/family_archive liegt fachlich korrekt im Share photos und wird durch Borg gesichert.
  • Paperless liegt absichtlich über mehrere Shares verteilt:
    • documents für Nutzdaten
    • appdata für App-State
    • Dump für DB
  • Immich liegt absichtlich über mehrere Bereiche verteilt:
    • photos für Bilder
    • appdata für DB
    • Dump für DB

Das ist kein Strukturfehler, sondern eine normale Trennung zwischen Nutzdaten und App-State.

Aktuelle Lücken / offene Entscheidungen

  1. Komodo MongoDB
    • Dump-Pfad im Skript vorhanden
    • Erfolg am 2026-05-04 bestätigt

Vorläufiges Audit-Fazit

Der aktuelle Borg-Scope ist nicht chaotisch, sondern bereits deutlich strukturierter als ein pauschales Backup von /mnt/user/appdata.

Fachlich sieht das Bild aktuell so aus:

  • appdata = technischer App-State
  • documents = Paperless-/Dokumenten-Nutzdaten
  • photos = Immich-/Bild-Nutzdaten
  • services = GitOps / Gitea / Infra
  • backups = Backup-Ziel, nicht Live-Daten

Das eigentliche Restproblem ist aktuell nicht die Share-Struktur, sondern:

  • einzelne noch offene Dump-Kandidaten

Nächste sinnvolle Schritte

  1. komodo-mongo nach Komodo-Major-Upgrades gezielt im Auge behalten.
  2. Das automatische Borg-Fenster beobachten und nach den ersten geplanten Läufen nur noch auf Warnungen reagieren.
  3. Optionale spätere Scope-Verschlankung nur bewusst und nicht ad hoc vornehmen.

Festgehaltene Entscheidung

Stand jetzt werden keine grundlegenden Share-Umstrukturierungen vorgenommen.

Begründung

  • Die aktuelle Share-Struktur ist fachlich grundsätzlich brauchbar:
    • appdata = technischer App-State
    • documents = Dokument-Nutzdaten
    • photos = Bild-/Immich-Nutzdaten
    • services = GitOps / Infrastruktur
    • backups = Backup-Ziel
  • Der erwartete Ertrag eines großen Share-Umbaus ist aktuell niedrig.
  • Das Risiko eines Umbaus ist vergleichsweise hoch, weil Live-Pfade, Compose-Mounts und Backup-Quellen gleichzeitig betroffen wären.
  • Der aktuelle Engpass liegt nicht in den Shares selbst, sondern in:
    • vollständiger Borg-Abdeckung
    • sauberer Dump-Automatisierung
    • einzelnen offenen Spezialfällen

Spezifische Bewertung

  • photos/family_archive bleibt an Ort und Stelle.
  • documents-Pfade für Paperless bleiben an Ort und Stelle.
  • services/gitea bleibt an Ort und Stelle.
  • appdata wird aktuell nicht großflächig bereinigt oder umgebaut.

Aktuelle Prioritäten statt Share-Umbau

  1. Den automatischen Betrieb beobachten statt die Architektur weiter umzubauen.
  2. Repo-Soll und Live-Ist nur bei echtem Drift erneut vergleichen.
  3. komodo-mongo bei Bedarf separat bewerten.

Erläuterung zu Punkt 4

Diese Änderung wird ausdrücklich als klein, risikoarm und sinnvoll bewertet:

  • Dump-Dateien und Borg-Staging-Daten sind Backup-Artefakte, keine eigentlichen App-Daten.
  • Der Zielpfad /mnt/user/backups/borg/dumps ist fachlich sauberer als appdata/borg-ui/dumps.
  • Der erwartete Nutzen ist höher als bei kosmetischen Share-Umbauten, weil die Trennung zwischen Live-System und Backup-Artefakten klarer wird.

Festgelegtes Ziel:

  • /mnt/user/backups/borg/dumps

Wichtig:

  • Diese Änderung bleibt klein und risikoarm, weil nur Dump-Artefakte umziehen.
  • Die Live-App-Datenpfade bleiben davon unberührt.