Chapitre 7 · 7.2
Vaultwarden : votre propre coffre-fort de mots de passe
Vaultwarden est un serveur léger pour les applications et extensions de navigateur de Bitwarden. Vos mots de passe sont alors stockés sur votre propre VPS. Cela demande toutefois de la vigilance : si votre serveur tombe en panne ou si votre sauvegarde fait défaut, vous perdez vos mots de passe.
Chaque recette s'appuie sur le dossier de travail /srv/diensten avec Caddy de Votre dossier de travail avec compose.yaml, .env et Caddy. Vous ajoutez un service à compose.yaml, un bloc au Caddyfile, ainsi qu'un enregistrement A et AAAA pour le nom (voir Un enregistrement A et AAAA dans Mes domaines).
1. DNS
Créez un enregistrement A et AAAA pour kluis.example.com.
2. compose.yaml
vaultwarden:
image: vaultwarden/server:1.37.5
restart: unless-stopped
environment:
DOMAIN: "https://kluis.example.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: ${VW_ADMIN_TOKEN}
volumes:
- ./vw-data:/data
Consultez la page des versions de Vaultwarden pour connaître la version la plus récente et indiquez-la dans le tag.
3. Caddyfile et démarrage
kluis.example.com {
reverse_proxy vaultwarden:80
}
anna@web1:/srv/diensten$ sudo docker compose up -d
anna@web1:/srv/diensten$ sudo docker compose exec -w /etc/caddy caddy caddy reload
4. Le jeton d'administration dans .env
Vous protégez la page d'administration /admin par un jeton. N'y mettez pas un mot de passe lisible, mais un hachage. Ce hachage se génère avec Vaultwarden lui-même, maintenant que le conteneur tourne :
anna@web1:/srv/diensten$ sudo docker compose exec vaultwarden /vaultwarden hash
Password:
Confirm Password:
ADMIN_TOKEN='$argon2id$v=19$m=65540,t=3,p=4$...'
Dans .env, ajoutez la ligne VW_ADMIN_TOKEN='$argon2id$...', avec des guillemets simples. Redémarrez le conteneur avec sudo docker compose up -d. Pour vous connecter sur /admin, utilisez le mot de passe que vous avez saisi, et non le hachage.
5. Fermer les inscriptions
- Ouvrez
https://kluis.example.comet créez votre propre compte, ainsi que ceux de votre famille ou de vos collègues. - Dans
compose.yaml, indiquezSIGNUPS_ALLOWED: "false". - Exécutez
sudo docker compose up -d.
Vous invitez ensuite les nouvelles personnes via la page d'administration. Si vous souhaitez que les invitations soient envoyées par e-mail, configurez SMTP avec une boîte mail sur le port 587 (voir DNS inverse et envoi d'e-mails depuis votre VPS).
Sauvegarde
Tout se trouve dans le dossier /srv/diensten/vw-data : la base de données, les pièces jointes et les clés. Incluez-le dans votre sauvegarde restic (voir Bien inclure les bases de données et les volumes Docker dans vos sauvegardes) et testez la restauration. Le wiki de Vaultwarden explique comment copier la base de données en toute sécurité pendant qu'elle tourne.
Astuce : Vos applications et extensions de navigateur conservent une copie de votre coffre-fort. Si votre serveur est momentanément indisponible, vous pouvez toujours lire vos mots de passe, mais pas les modifier.
