vaultwarden-selfhostINFO

Self-host Vaultwarden : tutoriel complet 2026 (Docker, Raspberry Pi, TLS)

Tutoriel self-host Vaultwarden 2026 : Docker Compose sur Raspberry Pi 4, proxy nginx, Let's Encrypt TLS, sauvegardes automatiques, compatibilité 100 % clients Bitwarden officiels. Privacy maximale.

Par Eric Gerard · Éditeur · PwdFortress4 min de lecturePhoto : Markus Spiske - Unsplash

📌 Self-host n'est PAS pour tout le monde : avant de te lancer, sois honnête - es-tu prêt à gérer reverse proxy, certificats TLS, backups chiffrés et MAJ Docker chaque mois ? Si la réponse est « pas vraiment », un coffre managé comme NordPass à 1,49 €/mois te coûtera moins cher qu'une panne Raspberry Pi pendant tes vacances. Si oui, ce tuto est pour toi.

Nouveau dans l'idée ? Commencez par notre tour d'horizon des gestionnaires auto-hébergés.

Vaultwarden est la réécriture Rust open source du serveur Bitwarden, conçue pour tourner sur du matériel modeste (Raspberry Pi 4 suffit). Ce tutoriel détaille un déploiement production-grade avec Docker Compose, proxy Caddy automatique HTTPS, et sauvegardes Backblaze B2 chiffrées.

Vaultwarden fait tourner ton coffre Bitwarden sur ton propre matériel. Compatible 100 % avec les clients officiels. Setup en 30 minutes si tu maîtrises Docker.

01 - Pré-requis

  • Un serveur Linux (Raspberry Pi 4, VPS, ou homelab) avec Docker installé
  • Un nom de domaine pointant vers l'IP publique du serveur (ex : vault.tondomaine.com)
  • Port 443 ouvert dans le pare-feu / NAT
  • 30 minutes
  • ~50 MB de stockage pour Vaultwarden + tes données futures

02 - Architecture cible

Internet → Cloudflare (optionnel) → Caddy reverse proxy avec Let's Encrypt automatique → Container Vaultwarden. Les données sont stockées sur le host dans /srv/vaultwarden/data.

Caddy gère automatiquement HTTPS via Let's Encrypt. Vaultwarden tourne dans un container Docker isolé.

03 - Docker Compose

Crée le fichier /srv/vaultwarden/docker-compose.yml. La configuration utilise l'image officielle vaultwarden/server:latest, expose la variable DOMAIN pointant vers ton URL HTTPS, désactive les inscriptions externes avec SIGNUPS_ALLOWED: false, active les WebSockets pour la sync en temps réel, et monte un volume ./data pour la persistance.

La configuration Caddy est minimaliste : une seule directive reverse_proxy vaultwarden:80 plus des headers de sécurité standard (HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy).

L'ADMIN_TOKEN se génère avec openssl rand -base64 48 (à reporter dans ta config locale uniquement, jamais commité).

04 - Démarrer Vaultwarden

Lance le service avec docker compose up -d depuis le dossier /srv/vaultwarden, puis vérifie les logs avec docker compose logs -f vaultwarden. Caddy obtient un certificat Let's Encrypt automatiquement sous 30 secondes (visible dans docker compose logs caddy).

05 - Première connexion + sécurisation

Un écran de connexion avec un champ mot de passe
Un écran de connexion avec un champ mot de passe

  1. Ouvre https://vault.tondomaine.com dans ton navigateur
  2. Crée ton compte (le seul autorisé : signups fermés ensuite)
  3. IMMÉDIATEMENT : Settings → Security → Two-step Login → activer TOTP
  4. IMMÉDIATEMENT : vérifier que SIGNUPS_ALLOWED est bien à false
  5. Test de l'autofill avec ton navigateur en pointant vers ton URL personnalisée

06 - Sauvegardes automatiques

Un script bash horaire snapshot la base SQLite (cohérent sans arrêt service), zip le dossier complet, chiffre avec GPG côté client (recipient = ton e-mail), et upload sur Backblaze B2 (~1 €/mois pour 100 GB).

La séquence :

  1. docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup '/tmp/db_DATE.sqlite3'" pour snapshot cohérent
  2. tar czf pour archiver
  3. gpg --encrypt --recipient ton@email.com pour chiffrement client-side
  4. b2 upload-file pour upload distant
  5. Cleanup local

Crontab : 0 * * * * /usr/local/bin/vaultwarden-backup.sh

Test mensuel : restaurer un backup sur une instance dev pour vérifier l'intégrité.

07 - Connecter les clients Bitwarden officiels

Dans chaque client Bitwarden (mobile, desktop, navigateur), avant de te connecter :

  1. Cliquer sur l'engrenage Settings (avant login)
  2. Server URL : https://vault.tondomaine.com
  3. Sauvegarder
  4. Connecter avec ton master password

Tous les clients fonctionneront exactement comme avec le cloud Bitwarden officiel.

08 - Maintenance

  • Mises à jour Vaultwarden : docker compose pull && docker compose up -d (mensuel recommandé)
  • Monitoring : Uptime Kuma (auto-hébergé) ou Healthchecks.io (gratuit) pour alertes downtime
  • Logs : docker compose logs --tail 200 vaultwarden
  • Audit : suivre github.com/dani-garcia/vaultwarden pour CVE éventuels

Alternative cloud si self-host devient trop coûteux

Self-host = liberté maximale mais coût récurrent (VPS, temps maintenance, backups). Si après quelques mois tu veux revenir à du cloud managé sans perdre les bonnes pratiques sécurité, NordPass Premium (1,49 €/mois plan 2 ans) offre une cryptographie moderne (XChaCha20 + Argon2id), audit Cure53 + SOC 2 Type 2 publiés, écosystème Nord Security intégré - zero maintenance.

★ Audit Cure53 2024 · ✓ Plan gratuit · Cross-platform

Voir NordPass Premium →1,49 €/mois · Zero maintenance · Audit Cure53 + SOC 2

09 - Pour aller plus loin


Tutoriel basé sur Vaultwarden 1.31.x sur Raspberry Pi 4 (Debian 12) en juin 2026. Procédures vérifiées sur la documentation officielle Vaultwarden.

Questions fréquentes

Vaultwarden est-il vraiment compatible avec les clients Bitwarden officiels ?

**Oui à 100 %**. Vaultwarden (anciennement bitwarden_rs) est une réécriture Rust du serveur Bitwarden qui implémente l'API officielle. Les clients Bitwarden (web, desktop, mobile, navigateurs, CLI) se connectent à ton serveur Vaultwarden en pointant simplement vers ton URL personnalisée. Aucune perte de fonctionnalité côté client. Le seul cas où Vaultwarden diverge légèrement : certaines features Enterprise très récentes peuvent prendre 1-2 mois de retard.

Quel matériel pour self-host Vaultwarden ?

**Minimal viable** : Raspberry Pi 4 (2 GB RAM, microSD 32 GB) ou tout VPS à 3-5 €/mois (Contabo, OVH, Hetzner CX11). **Confortable** : Raspberry Pi 4 (4 GB RAM, SSD USB 3.0) ou VPS 4 GB RAM. Vaultwarden consomme ~100 MB RAM en idle, ~200 MB en pic. Le stockage dépend de tes pièces jointes : compter ~50 MB pour 500 entrées sans pièces jointes.

TLS / HTTPS est-il obligatoire pour Vaultwarden ?

**Oui, absolument**. Les clients Bitwarden refusent de se connecter à un serveur HTTP non chiffré (sauf en localhost dev). Tu dois impérativement déployer un certificat TLS. Solution standard : Let's Encrypt via certbot (gratuit, renouvellement auto) avec proxy nginx ou Caddy. Notre tutoriel détaille l'option Caddy (plus simple : 1 ligne de config gère le HTTPS auto).

Comment sauvegarder Vaultwarden de manière fiable ?

Vaultwarden stocke ses données dans SQLite (par défaut) ou PostgreSQL/MySQL (option). Sauvegarde minimum : copier le fichier db.sqlite3 régulièrement vers un stockage externe. Solution avancée : utiliser litestream (réplication SQLite continue vers S3). Notre recommandation : cronjob horaire qui zip le dossier data et l'envoie chiffré sur Backblaze B2.

Faut-il choisir Vaultwarden Cloud ou Bitwarden officiel ?

**Vaultwarden self-host** : zéro coût récurrent si déjà un serveur, contrôle total des données, mais tu es responsable de disponibilité/backups/sécurité. **Bitwarden officiel hosted** : 10 USD/an pour Premium, données chiffrées zero-knowledge chez Bitwarden, équipe pro gère infra/backups/sécurité. Recommandation : self-host si tu es sysadmin/devops par métier. Bitwarden hosted dans tous les autres cas.