2.4 KiB
2.4 KiB
Vaultwarden Restore Runbook
Vorbedingungen
- Borg-Quelle ist verfuegbar
- Secret-Datei vorhanden:
/mnt/user/appdata/secrets/vaultwarden_admin_token.txt - Testpfade unter
/mnt/user/backups/restore-lab/und/mnt/user/backups/restore-reports/sind freigegeben
Platzhalter
ARCHIVE_NAME: Borg-Archiv fuer den Restore-TestREPORT_DATE: z. B.2026-05-06BORG_REPO: Host-Borg-Repo, z. B. das produktivecritical_infraBORG_PASSPHRASE: wie im bestehenden Host-Setup
Ablauf
- Testpfade vorbereiten
mkdir -p /mnt/user/backups/restore-lab/vaultwarden/data
mkdir -p /mnt/user/backups/restore-reports
rm -rf /mnt/user/backups/restore-lab/vaultwarden/data/*
- Vaultwarden-Daten aus Borg in das Restore-Lab extrahieren
Archiv zuerst pruefen:
export BORG_REPO='...'
export BORG_PASSPHRASE='...'
borg list "$BORG_REPO"
Restore in das Testziel:
cd /mnt/user/backups/restore-lab/vaultwarden
borg extract "$BORG_REPO" "::ARCHIVE_NAME" local/appdata/vaultwarden
mv /mnt/user/backups/restore-lab/vaultwarden/local/appdata/vaultwarden /mnt/user/backups/restore-lab/vaultwarden/data
rmdir /mnt/user/backups/restore-lab/vaultwarden/local/appdata
rmdir /mnt/user/backups/restore-lab/vaultwarden/local
Wenn das Archiv den Pfad anders ablegt, zuerst mit borg list "$BORG_REPO" "::ARCHIVE_NAME" den exakten Eintrag pruefen.
Zielpfad nach dem Restore:
/mnt/user/backups/restore-lab/vaultwarden/data
- Testcontainer starten
docker compose -f /mnt/user/services/homelab/ops/restore-tests/vaultwarden-compose.test.yml up -d
- Smoke-Test
curl -I http://127.0.0.1:18080
docker logs restoretest-vaultwarden --tail 50
Minimal erfolgreich:
- HTTP-Antwort kommt
- Login-Seite ist erreichbar
- Vaultwarden-Daten liegen im Restore-Lab vor
- Testcontainer wieder stoppen
docker compose -f /mnt/user/services/homelab/ops/restore-tests/vaultwarden-compose.test.yml down
- Report schreiben
Ziel:
/mnt/user/backups/restore-reports/vaultwarden-REPORT_DATE.md
- Testdaten nach erfolgreichem Lauf bereinigen
rm -rf /mnt/user/backups/restore-lab/vaultwarden/data
Festgelegte Entscheidungen
- Testdaten werden nach erfolgreichem Lauf geloescht.
ntfywird nicht im ersten echten Lauf eingebunden.ntfyfolgt spaeter, wenn der manuelle Basisablauf stabil verifiziert ist.