Update und Migration: Sicherung
Ziel und Ergebnis
Abschnitt betitelt „Ziel und Ergebnis“Führe den seitenspezifischen Ablauf aus für Update und Migration: Sicherung. Dieses Verfahren arbeitet mit pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
Gültig für
Abschnitt betitelt „Gültig für“Diese Seite gilt ausschließlich für Update und Migration: Sicherung (Docker · Unraid). Kanal- und Datengrenzen sind: DiscVault · ghcr.io/helmerznl/discvault:latest; PostgreSQL-Dump und Dateisystemarchiv aus demselben schreibfreien Fenster; PostgreSQL /data; DiscVault · ghcr.io/helmerznl/discvault:beta; PostgreSQL-Dump und Dateisystemarchiv aus demselben schreibfreien Fenster; PostgreSQL /data. Seitenspezifische Kontrollpunkte: pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
DiscVault v26 – stabil
Abschnitt betitelt „DiscVault v26 – stabil“- DiscVault ·
ghcr.io/helmerznl/discvault:latest - PostgreSQL-Dump und Dateisystemarchiv aus demselben schreibfreien Fenster
- PostgreSQL
/data
DiscVault v26 – Beta
Abschnitt betitelt „DiscVault v26 – Beta“- DiscVault ·
ghcr.io/helmerznl/discvault:beta - PostgreSQL-Dump und Dateisystemarchiv aus demselben schreibfreien Fenster
- PostgreSQL
/data
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sicherungsziel außerhalb des Live-Datenpfads
- beschreibbarer persistenter Speicher und freier Sicherungsplatz
Vorgehen
Abschnitt betitelt „Vorgehen“- Festhalten:
PREVIOUS_IMAGE·sha256 - Stoppen:
next-apinext-workernext-mcp - Sichern:
pg_dump -Fc - Starten:
next-api→ → MCP
Befehle und Einstellungen
Abschnitt betitelt „Befehle und Einstellungen“Beide Kanäle
Abschnitt betitelt „Beide Kanäle“set -euo pipefailcd /opt/discvaultinstall -d -m 0700 /srv/backupsBACKUP_ID="$(date -u +%Y%m%dT%H%M%SZ)"API_ID="$(docker compose --env-file .env -p discvault -f compose.yaml ps -q next-api)"IMAGE_ID="$(docker inspect "$API_ID" --format '{{.Image}}')"PREVIOUS_IMAGE="$(docker image inspect "$IMAGE_ID" --format '{{index .RepoDigests 0}}')"test -n "$PREVIOUS_IMAGE"printf 'BACKUP_ID=%s\nPREVIOUS_IMAGE=%s\n' "$BACKUP_ID" "$PREVIOUS_IMAGE" \ > "/srv/backups/discvault-$BACKUP_ID.env"chmod 0600 "/srv/backups/discvault-$BACKUP_ID.env"docker compose --env-file .env -p discvault -f compose.yaml stop next-worker next-mcp next-apidocker compose --env-file .env -p discvault -f compose.yaml exec -T postgres \ sh -c 'pg_dump -Fc -U "$POSTGRES_USER" "$POSTGRES_DB"' \ > "/srv/backups/discvault-$BACKUP_ID.dump"tar --acls --xattrs -C /srv -czf \ "/srv/backups/discvault-data-$BACKUP_ID.tgz" discvaultdocker compose --env-file .env -p discvault -f compose.yaml start next-apicurl --fail http://localhost:6080/api/next/healthdocker compose --env-file .env -p discvault -f compose.yaml start next-worker next-mcptest -s "/srv/backups/discvault-$BACKUP_ID.dump"gzip -t "/srv/backups/discvault-data-$BACKUP_ID.tgz"Erwartetes Ergebnis
Abschnitt betitelt „Erwartetes Ergebnis“Akzeptiere das Ergebnis für Update und Migration: Sicherung nur wenn alle folgenden Ergebnisse erfüllt sind: Archiv und Dump sind nicht leer, in einer Wiederherstellungsprobe lesbar und an einen unveränderlichen Image-Digest gebunden. Seitenspezifische Kontrollpunkte: pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
- Archiv und Dump sind nicht leer, in einer Wiederherstellungsprobe lesbar und an einen unveränderlichen Image-Digest gebunden
Sicherheit und Rollback
Abschnitt betitelt „Sicherheit und Rollback“Nächster Schritt
Abschnitt betitelt „Nächster Schritt“Update und Migration: Wiederherstellung
Quelle und Status
Abschnitt betitelt „Quelle und Status“helmerzNL/DiscVault@6d27c689ac21- Quelle und Status:
2026-07-14 - DiscVault Docs:
0.1.0
