Mise à jour et migration: Sauvegarde
Objectif et résultat
Section intitulée « Objectif et résultat »Suivez le déroulement propre à cette page pour Mise à jour et migration: Sauvegarde. Cette procédure utilise pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
S’applique à
Section intitulée « S’applique à »Cette page s’applique uniquement à Mise à jour et migration: Sauvegarde (Docker · Unraid). Les limites de canal et de données sont : DiscVault · ghcr.io/helmerznl/discvault:latest; dump PostgreSQL et archive des fichiers de la même fenêtre sans écriture; PostgreSQL /data; DiscVault · ghcr.io/helmerznl/discvault:beta; dump PostgreSQL et archive des fichiers de la même fenêtre sans écriture; PostgreSQL /data. Points de contrôle propres à la page : pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
DiscVault v26 stable
Section intitulée « DiscVault v26 stable »- DiscVault ·
ghcr.io/helmerznl/discvault:latest - dump PostgreSQL et archive des fichiers de la même fenêtre sans écriture
- PostgreSQL
/data
DiscVault v26 bêta
Section intitulée « DiscVault v26 bêta »- DiscVault ·
ghcr.io/helmerznl/discvault:beta - dump PostgreSQL et archive des fichiers de la même fenêtre sans écriture
- PostgreSQL
/data
Prérequis
Section intitulée « Prérequis »- destination hors du chemin de données actif
- stockage persistant inscriptible et espace de sauvegarde libre
Procédure
Section intitulée « Procédure »- Consigner:
PREVIOUS_IMAGE·sha256 - Arrêter:
next-apinext-workernext-mcp - Sauvegarder:
pg_dump -Fc - Démarrer:
next-api→ → MCP
Commandes et réglages
Section intitulée « Commandes et réglages »Les deux canaux
Section intitulée « Les deux canaux »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"Résultat attendu
Section intitulée « Résultat attendu »Validez le résultat de Mise à jour et migration: Sauvegarde uniquement lorsque tous les résultats suivants sont confirmés : l’archive et le dump ne sont pas vides, sont lisibles lors d’un essai et liés à un digest d’image immuable. Points de contrôle propres à la page : pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.
- l’archive et le dump ne sont pas vides, sont lisibles lors d’un essai et liés à un digest d’image immuable
Sécurité et retour arrière
Section intitulée « Sécurité et retour arrière »Étape suivante
Section intitulée « Étape suivante »Mise à jour et migration: Restauration
Source et état
Section intitulée « Source et état »helmerzNL/DiscVault@6d27c689ac21- Source et état:
2026-07-14 - DiscVault Docs:
0.1.0
