Aggiornamento e migrazione: Ripristino
Obiettivo e risultato
Sezione intitolata “Obiettivo e risultato”Completa la procedura specifica della pagina per Aggiornamento e migrazione: Ripristino. Questa procedura utilizza pg_restore --exit-on-error · discvault.failed- · next-worker · next-api.
Si applica a
Sezione intitolata “Si applica a”Questa pagina si applica solo a Aggiornamento e migrazione: Ripristino (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; ripristina i dati corrispondenti prima di avviare l’immagine precedente; DiscVault · ghcr.io/helmerznl/discvault:beta; dump PostgreSQL e archivio dei file dalla stessa finestra senza scritture; ripristina i dati corrispondenti prima di avviare l’immagine precedente. Punti di controllo della pagina: pg_restore --exit-on-error · discvault.failed- · next-worker · 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
- ripristina i dati corrispondenti prima di avviare l’immagine precedente
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
- ripristina i dati corrispondenti prima di avviare l’immagine precedente
Prerequisiti
Sezione intitolata “Prerequisiti”- set di backup corrispondente
- finestra di manutenzione
PREVIOUS_IMAGE· file runtime privato di DiscVault
Procedura
Sezione intitolata “Procedura”- Arresta:
next-apinext-workernext-mcp - Ripristina:
/data - Ripristina: PostgreSQL ·
pg_restore --exit-on-error - Avvia:
next-api→GET /api/next/health→next-workernext-mcp
Comandi e impostazioni
Sezione intitolata “Comandi e impostazioni”Entrambi i canali
Sezione intitolata “Entrambi i canali”set -euo pipefailBACKUP_ID=20260714T180000Zcd /opt/discvault. "/srv/backups/discvault-$BACKUP_ID.env"test -n "$PREVIOUS_IMAGE"export DISCVAULT_IMAGE="$PREVIOUS_IMAGE"docker pull "$DISCVAULT_IMAGE"ENV_FILE=/opt/discvault/.envENV_TMP="$(mktemp "$ENV_FILE.restore.XXXXXX")"trap 'rm -f "$ENV_TMP"' EXITawk -v image="$DISCVAULT_IMAGE" ' /^DISCVAULT_IMAGE=/ { print "DISCVAULT_IMAGE=" image; found=1; next } { print } END { if (!found) exit 42 }' "$ENV_FILE" > "$ENV_TMP"chmod 0600 "$ENV_TMP"docker compose --env-file .env -p discvault -f compose.yaml stop next-worker next-mcp next-apimv /srv/discvault "/srv/discvault.failed-$(date -u +%Y%m%dT%H%M%SZ)"tar --acls --xattrs -C /srv -xzf \ "/srv/backups/discvault-data-$BACKUP_ID.tgz"docker compose --env-file .env -p discvault -f compose.yaml up -d postgresdocker compose --env-file .env -p discvault -f compose.yaml exec -T postgres \ sh -c 'dropdb --if-exists --force -U "$POSTGRES_USER" "$POSTGRES_DB"'docker compose --env-file .env -p discvault -f compose.yaml exec -T postgres \ sh -c 'createdb -U "$POSTGRES_USER" "$POSTGRES_DB"'docker compose --env-file .env -p discvault -f compose.yaml exec -T postgres \ sh -c 'pg_restore --exit-on-error --no-owner -U "$POSTGRES_USER" -d "$POSTGRES_DB"' \ < "/srv/backups/discvault-$BACKUP_ID.dump"docker compose --env-file .env -p discvault -f compose.yaml up -d --force-recreate next-apicurl --fail http://localhost:6080/api/next/healthdocker compose --env-file .env -p discvault -f compose.yaml \ up -d --force-recreate next-worker next-mcpdocker compose --env-file .env -p discvault -f compose.yaml psmv "$ENV_TMP" "$ENV_FILE"trap - EXITRisultato previsto
Sezione intitolata “Risultato previsto”Accetta il risultato per Aggiornamento e migrazione: Ripristino solo quando tutti i risultati seguenti sono veri: i conteggi e il campione multimediale corrispondono al backup scelto; :latest :beta. Punti di controllo della pagina: pg_restore --exit-on-error · discvault.failed- · next-worker · next-api.
- i conteggi e il campione multimediale corrispondono al backup scelto
:latest:beta
Sicurezza e ripristino
Sezione intitolata “Sicurezza e ripristino”Passaggio successivo
Sezione intitolata “Passaggio successivo”Aggiornamento e migrazione: Aggiornamento del contenitore
Fonte e stato
Sezione intitolata “Fonte e stato”helmerzNL/DiscVault@6d27c689ac21- Fonte e stato:
2026-07-14 - DiscVault Docs:
0.1.0
