16d3b8f2fa
Mail-Archiver-Restore am 2026-06-03 erfolgreich: Data-Protection-Keys aus Borg + 645M pg_restore + HTTP 200. Erster Versuch, kein shfs-Problem. 10 von 12 Restore-Tests sind jetzt gruen. Verbleibend: Nextcloud (blockiert/shfs-chmod) und Traefik (komplex, niedrigere Prio). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
5.9 KiB
5.9 KiB
Audit-Restliste 2026-05-25
Status: kompakte Restliste. Die erledigten Sprint-Tabellen und langen Audit-Snapshots wurden aus der Arbeitskopie entfernt; Detailhistorie liegt in Git.
Aktuell offene Punkte
| Prioritaet | Punkt | Naechster Schritt |
|---|---|---|
| P2 | Family-Onboarding praktisch starten | Fokus: Vaultwarden als Passwortbasis, Immich-Mobile-Backup auf jedem Handy, Mealie mit erstem Rezept/Einkaufsliste; Ablauf steht in docs/FAMILY_ONBOARDING.md |
Restore-Audit Backlog (Stand 2026-06-03)
Ergebnis des Restore-Skills-Audits (Session 2026-06-02/03). Die kritischen Bugfixes (Cron-OR-Semantik, ntfy-Race, Cleanup-Trap, Pfad-Inkonsistenz, Vaultwarden-Token, Paperless-Retry, Header-Validierung, Authelia-Test) sind erledigt und committed. Die folgenden Punkte sind bewusst offener Backlog:
| Prioritaet | Punkt | Status | Naechster Schritt |
|---|---|---|---|
| P1 | Nextcloud-Restore-Test | offen | Test nach Paperless-Muster, zusaetzlich occ maintenance:mode-Choreographie und oc_admin-Rolle. Hoechster Lerngewinn unter den fehlenden Tier-2-Tests |
| P1 | Shared PostgreSQL 18 Cluster Restore Drill | erledigt 2026-06-03 | Globals + 5 DBs (paperless 72t, mailarchiver 1t, authelia 25t, nextcloud 126t, mealie 66t), data_checksums=on, Report /mnt/user/backups/restore-reports/shared-pg-cluster-2026-06-03.md |
| P1 | Komodo-Mongo-Daten-Restore | erledigt 2026-06-03 | 86904 Dokumente erfolgreich restored, Report /mnt/user/backups/restore-reports/komodo-mongo-restore-2026-06-03.md. Nebenbefund: Dump von Mongo 8.0.23, Test auf 7.0.32 — Cross-Version-Warning, fuer Lesetest harmlos |
| P2 | Mailarchiver-Restore-Test | erledigt 2026-06-03 | Data-Protection-Keys + 645M pg_restore + HTTP 200. Report /mnt/user/backups/restore-reports/mailarchiver-2026-06-03.md |
| P2 | Mealie-Restore-Test | erledigt 2026-06-03 | Borg-Data + pg_restore + HTTP 200, 3 Rezepte. Report /mnt/user/backups/restore-reports/mealie-2026-06-03.md |
| P2 | Traefik-Restore-Test | offen | Tier 1, aber komplex: dynamic/ ist manuell-sync-Ausnahme, LE-State und CF-Token-Mount sind heikel |
| P3 | Negativ-Test fuer Frische-Check | offen | Einmal pro Quartal bewusst kaputten Dump einfuettern und pruefen ob homelab-alerts feuert |
| P3 | End-to-end-DR-Drill | offen | Komplett-Bootstrap Phase 1-5 auf einem Wegwerf-Host; realistisch nur mit zweiter Hardware |
Bewusst geparkt
| Punkt | Entscheidung |
|---|---|
| Authelia 2FA fuer Operator-UIs | In diesem Zyklus nicht umgesetzt; erst mit finaler Auth-Policy |
| Authelia OIDC fuer Apps | Geparkt bis klare Familien-/SSO-Entscheidung |
| CrowdSec vor Traefik | Erst nach Auth-Policy neu bewerten |
| Nextcloud 2FA/Brute-Force-Haertung | Gemeinsam mit OIDC/Familienkonten entscheiden |
| Hermes-Agent | NAS-Stack bleibt deaktiviert; Review-Deadline 2026-07-25 |
| USV | Anschaffung verschoben; Power-Loss-Risiko bewusst akzeptiert |
| Zweites Off-site-Ziel | Bewusst nicht umgesetzt; neu bewerten bei Hetzner-Problemen, stark wachsendem Datenwert oder geaenderter Betreiber-Praeferenz |
Borg append-only auf Hetzner |
Operator-Entscheidung 2026-06-01: nicht umgesetzt. Der forced-command-Test auf der Storage Box brach Key-Auth und wurde per Passwort-Recovery zurueckgesetzt; Nutzen steht fuer dieses Homelab nicht im Verhaeltnis zum Betriebsrisiko. |
Zuletzt geschlossen
- Alt-Volumes nach Burn-in freigegeben und reversibel archiviert: Shared PG17, Mealie PG17, Nextcloud PG17 und Immich pgvecto.rs liegen seit 2026-06-02 unter
/mnt/user/appdata/_archive/pg18-immich-rollback-volumes-20260602; Manifest auf dem Host:/mnt/user/appdata/_archive/pg18-immich-rollback-volumes-20260602/MANIFEST.txt. Keine harte Loeschung, keine aktiven Container-Mounts auf die alten Pfade. - Externer Betreibercheck vorbereitet:
docs/EXTERNAL_OPERATOR_RUNBOOK.mdundops/maintenance/check-external-operator.sh; Live-Baseline am 2026-06-01: FRITZ!OS154.08.25, keine Public-AAAA-Records fuer*.kaleschke.info, Host ohne globale Provider-IPv6, WAN443/tcpoffen und80/tcp/222/tcpgeschlossen. - FRITZ!Box-Servicefenster UI-seitig abgeschlossen: FRITZ!Box-Dienste aus dem Internet sind aus (HTTPS auf FRITZ!Box-UI, FTP/FTPS auf Speichermedien), aktive WAN-Freigabe bleibt nur
443/tcp -> 192.168.178.58, keine aktive IPv6-Freigabe sichtbar, UPnP-Selbstfreigaben aus. - FRITZ!Box-Konfig-Backup exportiert und extern/off-system in Vaultwarden abgelegt:
Einstellungen_FRITZ.Box_7590_154.08.25_01.06.26_1318.export; Kennwort und Datei bleiben ausserhalb des Repos. - Hetzner-Account-Hygiene erledigt: externe Kontakt-/Rechnungs-Mail bestaetigt, Zahlung ok, 2FA mit Google Authenticator aktiv, Recovery Key offline ausgedruckt.
- Hetzner Storage Box geprueft:
storage-box-1,u565255.your-storagebox.de, SSH-Port23, SSH aktiv, SMB/WebDAV aus, 64,94 GB / 1 TB belegt; Borg-UI-Key und separater Maintenance-Key funktionieren wieder nach Passwort-Recovery. Borgappend-onlyist bewusst nicht umgesetzt. - Family-View Dashboard ist repo-seitig gebaut:
monitoring/grafana/dashboards/family-status.jsonzeigt Family-App-Uptime, Backup-Alter, TLS-Restlaufzeit, Critical-Container und Image-Drift. - Borg-Nachlauf nach dem 2026-05-31-Sprint ist belegt: Archiv
Taegliche-Sicherung-2026-06-01T04:30:26.913, 101669 Dateien,rc=0; Freshness-Check am 2026-06-01: Critical 0, Warnings 0. - H:/ Nearline-Pull am 2026-06-01 repariert und manuell validiert: kuratierte Borg-Dumps Exit 0, Gitea-Bundles Exit 1 (Robocopy-Erfolg mit Kopien), Report
nearline-pull-2026-06-01-082553.md. - Immich-, Paperless-, Gitea- und Vaultwarden-Restore-Pfade sind belegt.
- H:/ Nearline-Pull laeuft seit 2026-05-28 als Windows Scheduled Task.
- FRITZ!Box-Portfreigaben sind bereinigt: WAN-seitig bleibt
443/tcp. - InfluxDB 3 Core ist effektiv nur auf
127.0.0.1:8181gebunden. - Renovate ist produktiv, Major-Updates werden bewusst manuell entschieden.
- Policy-Check bleibt ohne Criticals; bekannte Root-Ausnahmen sind dokumentiert.