Sauvegarde Vaultwarden : exporter et importer sa base de mots de passe

Comme vous le savez, j'ai opté depuis quelques temps pour une solution Vaultwarden (anciennement dénommée Bitwarden) auto-hébergée sur mon NAS Asustor. Perso, je trouve que c'est une très bonne chose car la solution est bien, et le fait de l'héberger soit même est un atout je trouve. Et peut-être que certains d'entre vous ont suivi le tutoriel pour faire la même chose chez eux ? Maintenant que c'est fonctionnel, il est primordial de penser à mettre en place une sauvegarde de la base de données. Car il serait dommage de perdre l'intégralité de ses mots de passe suite à un dysfonctionnement du NAS ou un bug de celui-ci... Alors voyons ensemble comment faire cette sauvegarde Vaultwarden.

Sécuriser ses mots de passe

Sauvegarde Vaultwarden : exporter la base de données

La solution Vaultwarden installée sur un NAS Asustor, propose plusieurs solutions pour héberger sa base de données : SQLite, Maria-DB et PostgreSQL. Pour ma part, j'ai choisi une base de type Maria-DB. Les commandes que je vais vous fournir fonctionneront donc uniquement si vous êtes dans la même configuration que moi. Si vous utilisez un autre moteur de base de données, le principe restera le même mais il faudra adapter les commandes.

Je ne vais pas ici vous fournir un script permettant l'export de la base de données de votre coffre fort, mais simplement vous donner le principe de sauvegarde. Libre à vous ensuite d'automatiser cela comme bon vous semble : script local sur le NAS ou bien à distance, commandes CRON...

Vaultwarden, coffre fort pour mots de passe
Vaultwarden, coffre fort pour mots de passe

Pour effectuer une sauvegarde de notre base Maria-DB, on va se servir de l'utilitaire mysqldump fournit dans le conteneur vaultwarden_mysql :

docker exec vaultwarden_mysql /usr/bin/mysqldump -u USERSQL -p'MDPSQL' DATABASENAME > /path/vaultwardendb.sql 

Adaptez simplement la commande avec vos informations SQL (utilisateur, mot de passe et nom de la base de données) ainsi que la destination du dump.

Voilà, on a maintenant notre sauvegarde de la base de données disponible en dehors du conteneur. Reste plus qu'à voir où la sauvegarder. L'intérêt ici est en effet d'exporter cette sauvegarde en dehors de notre NAS. Je vous recommande donc de la sauvegarder sur un autre NAS, un support externe ou bien une destination cloud, à vous de voir !

Comment restaurer une base Vaultwarden ?

Disposer d'une sauvegarde est une chose importante, mais elle n'a d'intérêt que si elle est restaurable ! Voyons donc comment restaurer la sauvegarde de la base de données de notre Vaultwarden auto-hébergé.

La première chose à faire est de se connecter sur son NAS en SSH, avec le compte root. On va ensuite copier notre backup dans le conteneur vaultwarden_mysql avec la commande suivante (en adaptant le chemin et le nom du fichier de backup...) :

docker cp /volume1/home/admin/DATA/bitwardendb_20210905-0050.sql vaultwarden_mysql:/bitwardendb_20210905-0050.sql
Copie de la sauvegarde dans le conteneur
Copie de la sauvegarde dans le conteneur

On entre ensuite en session SSH dans le conteneur vaultwarden_mysql :

docker exec -it vaultwarden_mysql /bin/bash
Connectez vous à votre conteneur via SSH
Connectez vous à votre conteneur via SSH

Une fois en SSH dans le conteneur, on va importer notre fichier SQL dans notre base de données (qui pour ma part se nomme bitwardendb, mais à vous d'adapter en fonction de votre base...) :

mysql bitwardendb < bitwardendb_20210905-0050.sql

Ensuite, il ne reste plus qu'à redémarrer notre Vaultwarden. Pour cela, on peut passer par AppCentral et désactiver puis réactiver Vaultwarden, ou bien entrer les commandes suivantes dans le shell du conteneur :

docker container restart Vaultwarden
docker container restart vaultwarden_mysql
Redémarrer le conteneur Vaultwarden
Redémarrer le conteneur Vaultwarden

Il ne reste plus qu'à se connecter à l'instance Bitwarden, et hop, tout est là !

Et bien voilà, j'espère que ce petit tutoriel sur la sauvegarde Vaultwarden sera utile à certains 😉

Sandstorm

Ingénieur Systèmes passionné d'informatique et de High-Tech, Sandstorm a créé JusteGeek.fr en 2013. Il aime les geekeries en tout genre. "Si un produit s'allume c'est un bon point. S'il est connecté, c'est encore mieux !"

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.