Aggiornamento e migrazione: Backup
Obiettivo e risultato
Sezione intitolata “Obiettivo e risultato”Completa la procedura specifica della pagina per Aggiornamento e migrazione: Backup. Questa procedura utilizza pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
Si applica a
Sezione intitolata “Si applica a”Questa pagina si applica solo a Aggiornamento e migrazione: Backup (Docker · Unraid). I limiti di canale e dati sono: DiscVault · ghcr.io/helmerznl/discvault:latest; dump PostgreSQL e archivio dei file dalla stessa finestra senza scritture; PostgreSQL /data; DiscVault · ghcr.io/helmerznl/discvault:beta; dump PostgreSQL e archivio dei file dalla stessa finestra senza scritture; PostgreSQL /data. Punti di controllo della pagina: pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
DiscVault v26 stabile
Sezione intitolata “DiscVault v26 stabile”- DiscVault ·
ghcr.io/helmerznl/discvault:latest - dump PostgreSQL e archivio dei file dalla stessa finestra senza scritture
- PostgreSQL
/data
DiscVault v26 beta
Sezione intitolata “DiscVault v26 beta”- DiscVault ·
ghcr.io/helmerznl/discvault:beta - dump PostgreSQL e archivio dei file dalla stessa finestra senza scritture
- PostgreSQL
/data
Prerequisiti
Sezione intitolata “Prerequisiti”- destinazione esterna ai dati attivi
- archiviazione persistente scrivibile e spazio libero
Procedura
Sezione intitolata “Procedura”- Registra:
PREVIOUS_IMAGE·sha256 - Arresta:
next-apinext-workernext-mcp - Esegui il backup:
pg_dump -Fc - Avvia:
next-api→ → MCP
Comandi e impostazioni
Sezione intitolata “Comandi e impostazioni”Entrambi i canali
Sezione intitolata “Entrambi i canali”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"Risultato previsto
Sezione intitolata “Risultato previsto”Accetta il risultato per Aggiornamento e migrazione: Backup solo quando tutti i risultati seguenti sono veri: archivio e dump non sono vuoti, sono leggibili in una prova e legati a un digest immutabile. Punti di controllo della pagina: pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
- archivio e dump non sono vuoti, sono leggibili in una prova e legati a un digest immutabile
Sicurezza e ripristino
Sezione intitolata “Sicurezza e ripristino”Passaggio successivo
Sezione intitolata “Passaggio successivo”Aggiornamento e migrazione: Ripristino
Fonte e stato
Sezione intitolata “Fonte e stato”helmerzNL/DiscVault@6d27c689ac21- Fonte e stato:
2026-07-14 - DiscVault Docs:
0.1.0
