
Vaultwarden est un serveur de mots de passe compatible avec Bitwarden, écrit en Rust et conçu pour tourner sur une toute petite machine : un Raspberry Pi, un NAS, un petit VPS. Vous utilisez les applications et extensions officielles Bitwarden, mais vos mots de passe sont stockés chez vous. Cet article explique comment l’installer avec Docker, ce qu’il faut sécuriser, et quand il vaut mieux s’en abstenir.
Vaultwarden ou Bitwarden : la différence
Bitwarden propose un service en ligne, gratuit pour l’essentiel, et un serveur officiel à héberger soi-même, plus lourd à installer. Vaultwarden est une réécriture non officielle de l’interface de programmation du serveur : il parle le même langage que les clients Bitwarden, mais consomme très peu de ressources, et offre gratuitement des fonctions qui sont payantes ailleurs (codes TOTP, pièces jointes, organisations multi-utilisateurs). Il n’est pas édité par Bitwarden Inc. : vous devez donc suivre vous-même ses mises à jour.
| Bitwarden (service en ligne) | Vaultwarden (auto-hébergé) | |
|---|---|---|
| Installation | Aucune | À faire soi-même |
| Où sont les mots de passe | Chez l’éditeur (chiffrés) | Sur votre machine (chiffrés) |
| Mises à jour et sauvegardes | Gérées pour vous | À votre charge |
| Fonctions avancées | Certaines payantes | Incluses |
Dans les deux cas, vos mots de passe sont chiffrés avant d’être envoyés au serveur, à partir de votre mot de passe maître.
Ce qu’il faut avant de commencer
- Une machine allumée en permanence avec Docker et Docker Compose installés.
- Un nom de domaine (ou sous-domaine) pointant vers cette machine, par exemple
vault.exemple.fr. - Un moyen de servir le site en HTTPS : c’est obligatoire, car le coffre web utilise des fonctions de chiffrement que les navigateurs ne proposent que sur une connexion sécurisée.
Installation avec Docker Compose
Créez un dossier vaultwarden et un fichier compose.yaml :
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.exemple.fr"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"Puis lancez docker compose up -d. Le conteneur écoute en local sur le port 8080 : c’est volontaire, car il ne doit pas être accessible directement depuis Internet sans HTTPS.
Le HTTPS avec un proxy inverse
Placez devant Vaultwarden un proxy inverse qui gère le certificat : Caddy (le plus simple, il obtient le certificat tout seul), Traefik ou Nginx. Avec Caddy, un fichier de deux lignes suffit :
vault.exemple.fr {
reverse_proxy 127.0.0.1:8080
}Si vous préférez ne pas exposer le service sur Internet, vous pouvez aussi le rendre accessible uniquement depuis vos appareils avec un réseau privé : voir notre guide Tailscale.
Créer son compte puis fermer les inscriptions
- Ouvrez
https://vault.exemple.fret cliquez sur Créer un compte. - Choisissez un mot de passe maître long et unique : il ne peut pas être récupéré en cas d’oubli.
- Une fois votre compte créé (et ceux de vos proches), passez
SIGNUPS_ALLOWEDà"false"dans le fichier et relancez le conteneur : sans cela, n’importe qui trouvant l’adresse peut s’inscrire.
Utiliser les applications Bitwarden
Installez l’extension de navigateur ou l’application mobile Bitwarden officielle. Sur l’écran de connexion, ouvrez le sélecteur de serveur (l’icône de roue dentée ou « Auto-hébergé ») et saisissez l’adresse de votre serveur : https://vault.exemple.fr. Ensuite, la connexion fonctionne comme sur le service officiel.
La page d’administration
Vaultwarden dispose d’une interface d’administration à l’adresse /admin, désactivée par défaut. Pour l’activer, définissez la variable ADMIN_TOKEN. Ne mettez pas un simple mot de passe en clair : générez un condensé avec la commande intégrée (docker exec -it vaultwarden /vaultwarden hash) et collez-le comme valeur. Désactivez de nouveau cette page si vous n’en avez pas besoin au quotidien.
Les sauvegardes : le point qu’on oublie
Si votre serveur tombe sans sauvegarde, vous perdez vos mots de passe. Tout se trouve dans le dossier vw-data : la base db.sqlite3, les clés rsa_key* et les pièces jointes. Pour une copie cohérente de la base, utilisez la commande de sauvegarde SQLite (sqlite3 db.sqlite3 ".backup 'backup.sqlite3'") plutôt qu’une copie du fichier pendant que le service tourne. Copiez ensuite le tout hors de la machine (disque externe, autre serveur, stockage chiffré), et testez la restauration au moins une fois. Un export JSON chiffré depuis l’application Bitwarden est un complément utile.
Faut-il vraiment s’en occuper soi-même ?
L’auto-hébergement a du sens si vous aimez maîtriser vos données et que vous acceptez d’en assumer la maintenance : mises à jour, sauvegardes, surveillance. Si ce n’est pas le cas, le service Bitwarden en ligne ou un gestionnaire local comme KeePassXC est un meilleur choix. Pour commencer plus simplement, voyez aussi comment gérer les mots de passe enregistrés dans Firefox, avant de passer à un vrai coffre-fort.
Questions fréquentes
Vaultwarden est-il gratuit ?
Oui, c’est un logiciel libre. Seuls coûtent l’hébergement et votre temps.
Que se passe-t-il si j’oublie mon mot de passe maître ?
Il ne peut pas être récupéré : les données sont chiffrées avec lui. Notez-le dans un endroit sûr, ou enregistrez un export chiffré.
Peut-on l’installer sur un NAS Synology ?
Oui, via le gestionnaire de conteneurs (Docker), avec le même principe : image vaultwarden/server, dossier de données persistant et accès en HTTPS.
Faut-il l’exposer sur Internet ?
Pas obligatoirement. Beaucoup d’utilisateurs le gardent accessible uniquement via un VPN ou un réseau privé, et font tourner leurs applications avec l’adresse privée.
