2.5 KiB
2.5 KiB
Paperless Restore Test Plan
Ziel
Nachweisen, dass ein Paperless-Backup in einer isolierten Testumgebung wieder startbar ist und sowohl Dokumentenpfade als auch PostgreSQL-Dump sauber zusammenlaufen.
Quelle
- Backup-Quelle: Borg / Share-Backup
- fachlich relevante Dateipfade:
/mnt/user/appdata/paperless-ngx/data/mnt/user/documents/paperless/mnt/user/documents/paperless/export/mnt/user/documents/scans_inbox
- fachlich relevanter Dump:
/mnt/user/backups/borg/dumps/latest/postgresql17-paperless.dump
Test-Ziel
- Restore-Lab:
/mnt/user/backups/restore-lab/paperless - Testdatenpfade:
/mnt/user/backups/restore-lab/paperless/data/mnt/user/backups/restore-lab/paperless/media/mnt/user/backups/restore-lab/paperless/export/mnt/user/backups/restore-lab/paperless/consume/mnt/user/backups/restore-lab/paperless/postgres
- Testcontainer:
restoretest-paperlessrestoretest-paperless-postgresrestoretest-paperless-redis
- Testport Web:
127.0.0.1:18120:8000 - Report-Ziel:
/mnt/user/backups/restore-reports/paperless-YYYY-MM-DD.md
Schutzregeln
- produktive Pfade nie beschreiben
- produktive Domain
paperless.kaleschke.infonicht fuer die Testinstanz uebernehmen - keine Traefik-Labels fuer die Testinstanz
- keine produktive PostgreSQL- oder Redis-Instanz fuer den Test verwenden
- Testcontainer nur gegen Restore-Lab-Daten und isolierte Test-Backends starten
Geplanter Ablauf
- Restore-Ziel unter
/mnt/user/backups/restore-lab/paperlessvorbereiten - Paperless-Dateipfade aus Borg in das Restore-Lab wiederherstellen
- Test-Postgres und Test-Redis mit
ops/restore-tests/paperless-compose.test.ymlstarten postgresql17-paperless.dumpin Test-Postgres importieren- Testinstanz
restoretest-paperlessstarten - lokalen Smoke-Test gegen
http://127.0.0.1:18120ausfuehren - Report unter
/mnt/user/backups/restore-reports/schreiben - Testcontainer stoppen und Testumgebung bereinigen
Smoke-Test
Minimal erfolgreich:
- Test-Postgres startet
- Dump-Import gelingt
- Paperless-Web-UI antwortet
- mindestens ein Dokument liegt im Restore-Lab-Medienpfad
Optional spaeter:
- Login-Seite gezielt pruefen
- Dokumentanzahl aus UI oder DB querpruefen
- OCR-/Task-Worker-Status verifizieren
Noch offen vor dem ersten echten Lauf
- exakter Borg-Restore-Befehl fuer alle vier Dateipfade
- exakter
pg_restore-Befehl im Test-Postgres - wie stark wir
consumeim ersten Lauf ueberhaupt brauchen