Héberger son gestionnaire de mots de passe avec Vaultwarden
Vaultwarden est un serveur compatible avec les applications Bitwarden, que vous faites tourner chez vous. Vous gardez les applications officielles sur ordinateur, téléphone et navigateur, mais le coffre chiffré vit sur votre machine, et non chez un éditeur.
Avant toute commande : ce guide n'est pas pour tout le monde
Un coffre de mots de passe est la donnée la plus précieuse d'un foyer : il ouvre tout le reste. L'héberger soi-même veut dire que vous êtes responsable de sa disponibilité, de ses mises à jour et de sa sauvegarde. Si le disque meurt sans sauvegarde, tous vos mots de passe disparaissent.
Ce guide s'adresse à ceux qui ont déjà un serveur entretenu à la maison, savent lancer un conteneur Docker et ont mis en place le tunnel privé.
Si ce n'est pas votre cas, prenez Bitwarden hébergé par l'éditeur, comme le recommande le guide Mettre en place un gestionnaire de mots de passe. Les mêmes applications, sans aucune de ces responsabilités. C'est le meilleur choix pour la plupart des gens, et il n'y a aucune honte à le faire.
Vérifié sur la documentation de Vaultwarden et de Tailscale en octobre 2026. Les variables et les commandes évoluent : relisez la documentation officielle avant d'installer.
Ce qu'est Vaultwarden, exactement
Vaultwarden est un projet communautaire, indépendant de l'éditeur de Bitwarden, qui réimplémente le serveur de façon plus légère. Il fonctionne avec les applications officielles, mais il n'est ni développé ni soutenu par l'éditeur. Deux conséquences : suivez ses mises à jour de près, et ne comptez que sur sa documentation et sa communauté en cas de souci.
Votre coffre reste chiffré de bout en bout : le serveur ne stocke que des données chiffrées par votre mot de passe maître, qu'il ne connaît pas.
flowchart LR
A["Applications Bitwarden<br/>ordinateur, téléphone"] == "tunnel privé, HTTPS" ==> T["Tailscale serve<br/>sur le serveur"]
T --> V["Vaultwarden<br/>(conteneur, port local)"]
V --> D["Données chiffrées<br/>dossier vw-data"]
D -- "sauvegarde quotidienne" --> S["Autre machine<br/>(NAS, disque externe)"]
Étape 1 : le conteneur, joignable seulement depuis le serveur
Dans un dossier dédié sur le serveur, créez un fichier « compose.yml » :
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
DOMAIN: "https://serveur.nom-du-reseau.ts.net"
SIGNUPS_ALLOWED: "true"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:11001:80"
Deux détails comptent :
- le port est lié à 127.0.0.1 : Vaultwarden n'écoute que sur le serveur lui-même, pas sur le réseau de la maison. C'est le tunnel qui le rendra joignable ;
- l'adresse de « DOMAIN » est celle que le tunnel donnera au serveur, à l'étape suivante. Remplacez-la par la vôtre.
Démarrez-le :
docker compose up -d
Étape 2 : le HTTPS par le tunnel, sans rien exposer
Le coffre web refuse de fonctionner sans connexion chiffrée (HTTPS) : il utilise des fonctions de chiffrement que les navigateurs ne proposent que dans ce cas. Plutôt que d'ouvrir le serveur à Internet pour obtenir un certificat, on laisse le tunnel s'en charger.
Si le tunnel privé est en place, activez d'abord les certificats HTTPS dans la console de Tailscale. Rappel du guide tunnel : les noms de vos machines deviennent alors publics dans un registre de certificats. Choisissez un nom de serveur qui ne dit rien de vous.
Puis, sur le serveur :
sudo tailscale serve 11001
La commande affiche l'adresse en https par laquelle Vaultwarden est désormais joignable, uniquement à l'intérieur de votre réseau privé. Elle tourne au premier plan : pour la laisser en service en arrière-plan, consultez « tailscale serve --help », l'option exacte dépendant de la version. Reportez cette adresse dans « DOMAIN », puis relancez le conteneur avec « docker compose up -d ».
Étape 3 : créer son compte, puis fermer la porte
- Depuis un appareil relié au tunnel, ouvrez l'adresse https du serveur et créez votre compte, avec un mot de passe maître solide. Le guide Mettre en place un gestionnaire de mots de passe explique comment en fabriquer un et où ranger le secours.
- Créez aussi les comptes des autres membres du foyer, maintenant.
- Fermez les inscriptions : passez « SIGNUPS_ALLOWED » à « false » dans compose.yml, puis « docker compose up -d ». Sans cela, toute personne qui atteindrait le serveur pourrait se créer un compte.
- Activez la double authentification sur chaque compte du coffre, depuis ses réglages.
La page d'administration
Vaultwarden a une page d'administration, désactivée tant qu'aucun jeton n'est défini. Le plus sûr est de la laisser ainsi. Si vous en avez besoin, par exemple pour inviter quelqu'un après avoir fermé les inscriptions, utilisez un jeton haché plutôt qu'un mot de passe en clair :
docker exec -it vaultwarden /vaultwarden hash
La commande produit une longue chaîne à mettre dans la variable « ADMIN_TOKEN ». Dans un fichier compose, chaque signe dollar de cette chaîne doit être doublé. Retirez la variable quand vous n'en avez plus besoin.
Étape 4 : connecter les applications
Dans l'application Bitwarden (ordinateur, téléphone, extension du navigateur), avant de vous connecter, choisissez le serveur auto-hébergé et saisissez l'adresse https du tunnel. Connectez-vous avec votre compte.
Pour reprendre un coffre existant, utilisez l'import de l'application, puis changez vos mots de passe dans l'ordre décrit par le guide Mettre en place un gestionnaire de mots de passe.
Étape 5 : la sauvegarde, la section qui compte le plus
Dans le dossier vw-data, la documentation de Vaultwarden distingue :
- obligatoire : la base « db.sqlite3 » (tout le coffre) et le dossier « attachments » (les pièces jointes) ;
- recommandé : « config.json » (réglages de la page d'administration) et les fichiers « rsa_key » (sans eux, tout le monde est déconnecté après une restauration) ;
- facultatif : « sends » et « icon_cache ».
Ne copiez pas la base pendant qu'elle tourne avec une simple copie de fichier : elle pourrait être incohérente. Vaultwarden fournit une commande de sauvegarde intégrée, qui produit une copie propre de la base :
docker exec vaultwarden /vaultwarden backup
Une sauvegarde utile coche trois cases :
- Automatique : planifiez cette commande chaque nuit, suivie d'une copie du dossier vw-data vers une autre machine.
- Hors du serveur : un NAS, un disque externe, ou un stockage en ligne. Une sauvegarde sur le même disque meurt avec lui.
- Testée : voir le mini-exercice. Tant que vous n'avez pas restauré une fois, vous ne savez pas si elle fonctionne.
Quand le serveur est éteint
Les applications gardent une copie hors ligne de votre coffre : vous pouvez toujours lire vos mots de passe si le serveur est arrêté ou si le tunnel est coupé. En revanche, rien de ce que vous ajoutez ou modifiez n'est synchronisé avant son retour. Pendant une longue panne, notez à part les mots de passe créés, pour les reporter ensuite.
Les mises à jour
Vaultwarden publie régulièrement des versions, dont certaines corrigent des failles. Suivez ses annonces, et mettez à jour avec :
docker compose pull
docker compose up -d
Faites une sauvegarde juste avant chaque mise à jour.
Pour aller plus loin
Ce guide installe et protège le minimum. Le cours Vaultwarden de bout en bout va au-delà : durcissement, partage familial et accès d'urgence, notifications mobiles, sauvegarde chiffrée hors de la maison et réponse à incident. Et si une panne survient : les applications ne se connectent ou ne se synchronisent plus, ou restaurer le coffre après la perte du serveur.
Erreurs fréquentes
- Laisser les inscriptions ouvertes après avoir créé ses comptes.
- Publier le port sur toutes les interfaces (sans 127.0.0.1) ou ouvrir un port sur la box « pour tester ». Le coffre devient joignable par d'autres que vous.
- Sauvegarder la base par simple copie pendant qu'elle tourne, et découvrir le jour de la restauration qu'elle est corrompue.
- Garder la seule sauvegarde sur le serveur.
- Un nom de serveur parlant au moment d'activer le HTTPS : il devient public.
- Oublier le secours du mot de passe maître. Ni vous ni personne ne pourra ouvrir le coffre sans lui.
À retenir
- Si vous n'avez pas déjà un serveur entretenu, Bitwarden hébergé par l'éditeur est le meilleur choix.
- Vaultwarden n'écoute que sur le serveur ; le tunnel apporte l'accès et le HTTPS, sans rien exposer.
- Inscriptions fermées, page d'administration désactivée, double authentification active.
- Sauvegarde automatique, hors du serveur, et restaurée au moins une fois.
Mini-exercice
Sur une autre machine (un ordinateur portable suffit), installez Docker, copiez-y la dernière sauvegarde de vw-data, et lancez le même compose.yml. Connectez-vous avec votre compte : vos mots de passe doivent être là. Si ce n'est pas le cas, votre sauvegarde ne protège rien, et il faut la corriger avant d'en avoir besoin.