↓ Aller au contenu
  1. Documentation/

Restaurer Vaultwarden depuis une sauvegarde

·681 mots·4 mins

Méthode 1 : Restauration depuis Borg UI
#

Cette procédure s’applique à une stack Vaultwarden sauvegardée via Borg UI, avec :

  • un script pre-backup qui déclenche la commande native vaultwarden backup (intégrée au binaire depuis les versions récentes), produisant un instantané SQLite cohérent sans dépendance externe ;
  • une source Borg pointant directement vers le dossier data complet, à l’exception du fichier SQLite live et de ses journaux de transaction (exclus car potentiellement incohérents en cours d’écriture).
Vaultwarden contient l’intégralité de vos mots de passe et informations sensibles. Traitez chaque étape de cette restauration avec la même rigueur de confidentialité que l’original : dossiers temporaires non exposés publiquement, suppression des copies intermédiaires une fois la restauration validée.
Ne restaurez jamais directement par-dessus les données de production sans étape intermédiaire. Cette procédure passe systématiquement par un dossier de staging temporaire pour vous laisser une chance de vérifier le contenu avant d’écraser quoi que ce soit.

Étapes de restauration (Borg UI toujours fonctionnel)
#

1. Arrêter la stack Vaultwarden
#

cd /home/olivier/stacks/vaultwarden
docker compose down

Ne redémarrez rien tant que la restauration n’est pas terminée.

2. Restaurer l’archive vers un dossier temporaire
#

Dans Borg UI : Archives → sélectionnez le repository Vaultwarden → choisissez l’archive à la date voulue → Restore vers un dossier temporaire, par exemple :

/local/restore-vaultwarden

Ne restaurez jamais directement vers les chemins de production à cette étape.

3. Remettre en place le dossier data
#

Sauvegardez d’abord l’existant par précaution :

cd /home/olivier/stacks/vaultwarden
mv data data.old

Puis copiez le contenu restauré vers l’emplacement de production :

cp -a /home/olivier/backups/.../restore-vaultwarden/data \
      /home/olivier/stacks/vaultwarden/data

4. Remettre en place la base de données
#

Le fichier restauré s’appelle db-backup-latest.sqlite3 (nom fixe donné par le script pre-backup), pas db.sqlite3. Renommez-le :

cd /home/olivier/stacks/vaultwarden/data
mv db-backup-latest.sqlite3 db.sqlite3

Supprimez tout fichier db.sqlite3-wal ou db.sqlite3-shm résiduel avant de redémarrer :

rm -f db.sqlite3-wal db.sqlite3-shm

Si un ancien fichier -wal (journal de transactions) traîne à côté du db.sqlite3 restauré, SQLite tentera de rejouer ce journal au démarrage — potentiellement incohérent avec la base restaurée, avec un risque réel de corruption. C’est documenté explicitement dans le wiki officiel de Vaultwarden.

5. Redémarrer la stack
#

docker compose up -d
docker compose logs -f vaultwarden

Surveillez les logs au démarrage : Vaultwarden doit ouvrir la base sans erreur.

6. Vérifier que tout fonctionne
#

Connectez-vous à l’interface web (https://vault.colmaris.fr), vérifiez que vos identifiants, dossiers et éléments partagés (sends) correspondent bien à la date de l’archive restaurée. Ouvrez une pièce jointe existante pour confirmer que le dossier attachments/ a bien suivi.

Points critiques à retenir
#

  • db.sqlite3-wal doit être supprimé avant de redémarrer si vous restaurez le snapshot généré par vaultwarden backup — c’est le point d’échec le plus courant lors d’une restauration Vaultwarden.
  • Le nom de fichier compte : Vaultwarden n’ouvrira que db.sqlite3, pas db-backup-latest.sqlite3. Le renommage à l’étape 4 est obligatoire.
  • db.sqlite3-shm n’a pas besoin d’être restauré : c’est un fichier de mémoire partagée recréé automatiquement par SQLite.
  • Reconnexion nécessaire : après une restauration, les sessions actives (extensions navigateur, applications mobiles) demandent généralement une nouvelle authentification.
  • Testez cette procédure au moins une fois « à froid » avant d’en avoir besoin en situation réelle.

Méthode 2 : Restauration d’urgence en cas de crash total (sans Borg UI)
#

Si Borg UI et son serveur hôte ont disparu, la logique générale est identique à celle détaillée dans Restaurer Nextcloud sans Borg UI — installez le CLI Borg sur la nouvelle machine, accédez au repository via sa passphrase (stockée en dehors du serveur), puis :

export BORG_REPO=/chemin/ou/ssh/vers/le/repo/vaultwarden
export BORG_PASSPHRASE='votre-passphrase-ici'

borg list "$BORG_REPO"
mkdir -p /home/olivier/restore-vaultwarden
cd /home/olivier/restore-vaultwarden
borg extract "$BORG_REPO"::NOM-DE-L-ARCHIVE

Reconstituez ensuite docker-compose.yml et .env depuis leur emplacement de sauvegarde séparé (dépôt Git privé), replacez le dossier data restauré, appliquez les étapes 4 à 6 ci-dessus (renommage de la base, suppression du -wal, démarrage, vérification), puis redéployez Borg UI et reconfigurez le Backup Plan pour que les sauvegardes reprennent normalement.

Comme pour les autres stacks, la passphrase Borg et les fichiers docker-compose.yml/.env ne sont pas inclus dans la sauvegarde elle-même — assurez-vous de les avoir stockés ailleurs avant d’en avoir besoin.

Articles connexes

Restaurer Pi-hole depuis une sauvegarde

·837 mots·4 mins
Méthode 1 : Restauration depuis Borg UI Cette procédure s’applique à une stack Pi-hole v6 sauvegardée via Borg UI, avec : un script pre-backup qui déclenche l’export natif Teleporter (pihole-FTL --teleporter), produisant une archive zip cohérente contenant la configuration (pihole.toml) et le contenu de la base de blocage (gravity.db), sans jamais lire les fichiers SQLite live directement ; une source Borg couvrant cet export ainsi que le dossier dnsmasq.d (configuration DNS personnalisée statique). L’historique des requêtes DNS (statistiques de long terme, fichier pihole-FTL.db) n’est volontairement pas sauvegardé. Ce sont des logs, pas de la configuration : leur perte n’empêche en rien Pi-hole de refonctionner normalement après restauration. Ne restaurez jamais directement par-dessus les données de production sans étape intermédiaire. Étapes de restauration # 1. Arrêter la stack Pi-hole # cd /home/olivier/stacks/pihole docker compose down 2. Restaurer l’archive vers un dossier temporaire # Dans Borg UI : Archives → sélectionnez le repository Pi-hole → choisissez l’archive voulue → Restore vers un dossier temporaire :