Skip to content

🎯 TL;DR

Tu paies 1Password (36€/an), Dashlane (40€/an) ou LastPass (36€/an) pour gérer tes mots de passe ? Spoiler : tu peux héberger Vaultwarden (alternative Bitwarden) pour 0€ si tu as déjà un serveur.

Ce que tu vas apprendre :

Prérequis :



Table des matières

Open Table des matières

Pourquoi un gestionnaire de mots de passe, déjà ?

La vraie question : T’utilises quoi actuellement ?

Option 1 : Le même mot de passe partout 🤦‍♂️

Option 2 : Mots de passe dans le navigateur

Option 3 : Post-it / Fichier Excel 🙈

Option 4 : Gestionnaire commercial (1Password, Dashlane…)

Option 5 : Vaultwarden auto-hébergé 🏆


Vaultwarden vs Bitwarden : Quelle différence ?

Petite histoire technique

Bitwarden = Gestionnaire de mots de passe open source créé en 2016

Vaultwarden (ex-Bitwarden_RS) = Implémentation alternative du serveur Bitwarden

💡 En gros : Tu utilises les apps Bitwarden officielles (iOS, Android, extensions navigateur…) mais connectées à ton serveur Vaultwarden au lieu du serveur Bitwarden.com.

Résultat : Fonctionnalités Premium + contrôle total + gratuit.


Vaultwarden vs 1Password vs Dashlane vs LastPass

Critère | Vaultwarden | 1Password | Dashlane | LastPass | Bitwarden Cloud | Prix | 🟢 Gratuit | 🔴 36€/an | 🔴 40€/an | 🟡 36€/an | 🟢 10$/an | Open source | 🟢 Oui | 🔴 Non | 🔴 Non | 🔴 Non | 🟢 Oui | Auto-hébergé | 🟢 Oui | 🔴 Non | 🔴 Non | 🔴 Non | 🟡 Possible | Vie privée | 🟢 100% toi | 🔴 Canada | 🔴 USA | 🔴 USA | 🟡 USA | Apps mobiles | 🟢 Gratuites | 🟢 Incluses | 🟢 Incluses | 🟢 Gratuites | 🟢 Gratuites | Partage famille | 🟢 Illimité | 🟡 5 pers. | 🟡 6 pers. | 🟡 6 pers. | 🟡 6 pers. | 2FA intégré | 🟢 Oui (TOTP) | 🟢 Oui | 🟢 Oui | 🟡 Payant | 🟡 Premium | Audit sécurité | 🟡 Communauté | 🟢 Pro | 🟢 Pro | 🟡 Moyen | 🟢 Pro | Facilité setup | 🟡 Technique | 🟢 Facile | 🟢 Facile | 🟢 Facile | 🟢 Facile |

Verdict :


Le calcul économique

Gestionnaires commerciaux :

💰 Sur 10 ans : 180-600€

Vaultwarden auto-hébergé :

💰 Économie sur 10 ans : 156-576€

Et surtout, tes mots de passe ne sont JAMAIS chez un tiers.


Avant de commencer : Comprendre la sécurité

Comment ça marche, le chiffrement ?

Architecture Vaultwarden :

  1. Sur ton appareil :
  1. Sur le serveur (ton Vaultwarden) :
  1. Si ton serveur se fait pirater :

💡 Principe clé : Le serveur est « zero-knowledge » = il ne connaît JAMAIS tes mots de passe en clair.


Le Master Password : TA responsabilité

⚠️ ULTRA-CRITIQUE : Si tu perds ton Master Password, personne ne peut t’aider.

Pas de « mot de passe oublié » comme sur Facebook. C’est le prix de la sécurité.

Comment créer un bon Master Password :

Mauvais :

Bon :

Recommandation :


Installation Vaultwarden avec Docker : Setup en 15 min

Étape 1 : Préparer le serveur

# Si Docker pas installé (sinon skip)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker

# Créer la structure
mkdir -p ~/vaultwarden/data
cd ~/vaultwarden
touch .env

nano docker-compose.yml

Configuration homelab-ready :

services:
  vaultwarden:
    image: vaultwarden/server:latest
    # Pense à changer latest par la dernière version stable
    container_name: vaultwarden
    restart: unless-stopped
    
    ports:
      - "8000:80"  # Interface web
    
    volumes:
      - ./data:/data
    
    environment:
      # Domaine public (IMPORTANT pour les apps mobiles)
      - DOMAIN=https://vault.ton-domaine.fr
      
      # Admin token (généré ci-dessous)
      - ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}
      
      # Timezone
      - TZ=Europe/Paris
      
      # Sécurité : désactive les inscriptions publiques
      - SIGNUPS_ALLOWED=false
      
      # Autoriser les invitations par email (optionnel)
      - INVITATIONS_ALLOWED=true
      - SMTP_HOST=smtp.example.com
      - SMTP_FROM=vaultwarden@ton-domaine.fr
      - SMTP_PORT=587
      - SMTP_SECURITY=starttls
      - SMTP_USERNAME=ton-email@example.com
      - SMTP_PASSWORD=ton-mot-de-passe-smtp
      
      # Websocket (pour sync temps réel)
      - WEBSOCKET_ENABLED=true
      
      # Logs
      - LOG_LEVEL=info
      
      # Limiter les tentatives de connexion
      - LOGIN_RATELIMIT_MAX_BURST=10
      - LOGIN_RATELIMIT_SECONDS=60
    
    networks:
      - vaultwarden-network

networks:
  vaultwarden-network:
    driver: bridge

docker exec -it vaultwarden /vaultwarden hash —preset owasp

Option 2 : Via un conteneur temporaire

docker run --rm -it vaultwarden/server /vaultwarden hash --preset owasp

Enter password: ******** Re-enter password: ******** $argon2id$v=19$m=19456,t=2,p=1$cXpKdUxHSWhlaUs1QVVsSStkbTRPQVFPSmdpamFCMHdvYjVkWTVKaDdpYz0$E1UgBKjUCD2Roy0jdHAJvXihugpG+N9WcAaR8P6Qn/8

💡 À savoir : La chaîne qui commence par $argon2id$v=19$... est ton hash. C’est cette valeur que tu vas utiliser dans ton fichier .env.


Configuration avec Fichier .env (RECOMMANDÉ)

Pour un environnement de dev ou homelab, l’utilisation d’un fichier .env est une bonne pratique. Ça évite d’exposer des variables sensibles directement dans le docker-compose.yml et ça facilite la gestion.

Structure des fichiers :

/vaultwarden/
├── .env
├── docker-compose.yml
└── data/

nano .env

Contenu du .env :

# ⚠️ IMPORTANT : Utilise des guillemets simples ' ' pour éviter les problèmes d'interpolation
VAULTWARDEN_ADMIN_TOKEN='$argon2id$v=19$m=19456,t=2,p=1$cXpKdUxHSWhlaUs1QVVsSStkbTRPQVFPSmdpamFCMHdvYjVkWTVKaDdpYz0$E1UgBKjUCD2Roy0jdHAJvXihugpG+N9WcAaR8P6Qn/8'

ADMIN_TOKEN=${VAULTWARDEN_ADMIN_TOKEN}

Vérification de la Configuration

Avant de lancer ton conteneur, vérifie que Docker Compose lit bien ton .env :

docker compose config

WARNING: The argon2id variable is not set. Defaulting to a blank string. WARNING: The v variable is not set. Defaulting to a blank string.

Houston, on a un problème. Tes guillemets sont mal configurés dans le .env ou le fichier n’est pas lu correctement.


Étape 4 : Configurer les inscriptions

Stratégie recommandée :

# Option 1 : Désactiver complètement (tu créeras les comptes via admin)
SIGNUPS_ALLOWED=false
INVITATIONS_ALLOWED=true  # Tu invites par email

# Option 2 : Autoriser temporairement (pour toi, puis tu désactives)
SIGNUPS_ALLOWED=true
# → Tu crées ton compte
# → Tu remets à false
# → Tu relances : docker compose restart vaultwarden

Démarrer

docker compose up -d

Vérifier

docker ps docker compose logs -f vaultwarden

Test rapide : Ouvre http://ton-ip-serveur:8000

Si tu vois la page de connexion Vaultwarden, c’est bon ! 🎉

⚠️ ATTENTION : Pour l’instant c’est en HTTP.
NE CRÉE PAS ENCORE DE COMPTE. On configure HTTPS d’abord (sinon ton Master Password part en clair sur le réseau).


Configuration HTTPS avec Nginx Proxy Manager

Si tu as déjà NPM (installé pour Nextcloud/Jellyfin), tu vas juste ajouter un nouveau proxy.

Si tu n’as pas NPM, consulte l’article Nextcloud pour l’installer (5 minutes).

Ajouter le proxy Vaultwarden

  1. NPM DashboardHostsProxy HostsAdd Proxy Host
  2. Details :
  1. SSL :
  1. Advanced (optionnel mais recommandé) :
# Headers de sécurité
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "same-origin" always;

# Timeout (Vaultwarden est rapide, pas besoin de gros timeout)
proxy_connect_timeout 10;
proxy_send_timeout 10;
proxy_read_timeout 10;

K8#mL2@pN9!qR4$tV7&wX1%yZ5^aC3*bD6

Bon courage au hacker pour craquer ça. 😂


5. Activer l’authentification à deux facteurs (2FA)

Scénario : Tu veux protéger ton compte Gmail avec 2FA.

  1. Gmail → Paramètres → Sécurité → Activer la validation en 2 étapes
  2. Choisis : Application d’authentification
  3. Gmail affiche un QR code
  4. Vaultwarden :
  1. Gmail : Entre le code à 6 chiffres affiché par Vaultwarden → Valider

🎉 Vaultwarden génère maintenant les codes 2FA automatiquement !

💡 Plus besoin de Google Authenticator/Authy → Vaultwarden fait tout.


Sécurité avancée

Activer le 2FA sur ton compte Vaultwarden

Scénario : Quelqu’un vole ton Master Password. Sans 2FA, il accède à tout. Avec 2FA, il est bloqué. 🛡️

  1. Interface webParamètresSécuritéAuthentification à deux étapes
  2. Choix de la méthode : Option 1 : Authenticator (TOTP) – Recommandé

Option 2 : Clé de sécurité matérielle (Yubikey)

Option 3 : Email (moins sécurisé, mais mieux que rien)

  1. Codes de secours :

🎉 Ton compte Vaultwarden est maintenant ultra-sécurisé !


Audit de sécurité de tes mots de passe

Scénario : Tu veux vérifier quels sont tes mots de passe faibles/réutilisés.

  1. Interface webOutilsRapports
  2. Rapports disponibles :
  1. Corriger :

💡 Fais cet audit 1x/an pour maintenir une hygiène de sécurité parfaite.


Backup & Restauration

Exporter tes données (backup manuel)

⚠️ IMPORTANT : Le backup de Vaultwarden = tes mots de passe. Protège-le comme de l’or.

Méthode 1 : Export chiffré (recommandé)

  1. Interface webOutilsExporter le coffre
  2. Format de fichier : .json (chiffré)
  3. Master Password : Entre-le pour déverrouiller
  4. Exporter → Télécharge vaultwarden_export_encrypted.json
  5. Stockage du backup :

Méthode 2 : Backup base de données Docker

# Backup du volume data
cd ~/vaultwarden
tar -czf vaultwarden-backup-$(date +%Y-%m-%d).tar.gz ./data

# Copier ailleurs (NAS, autre serveur...)
scp vaultwarden-backup-*.tar.gz user@nas:/backups/vaultwarden/

Réinstaller Docker

curl -fsSL https://get.docker.com | sh

Recréer la structure

mkdir -p ~/vaultwarden && cd ~/vaultwarden

Copier le docker-compose.yml (tu l’as sauvegardé à part, hein ?)

Extraire le backup

tar -xzf vaultwarden-backup-2025-XX-XX.tar.gz

Lancer Vaultwarden

docker compose up -d

🎉 Tous tes mots de passe sont de retour !


Cas d’usage réels

Scénario 1 : Particulier solo

Setup :

Collection :

Économie :

Bénéfices :


Scénario 2 : Famille (4 personnes)

Setup :

Utilisation :

Organisation :

Économie :


Scénario 3 : Petite entreprise (8 employés)

Setup :

Utilisation :

Sécurité :

Économie :


Problèmes courants & Solutions

❌ « Impossible de se connecter au serveur »

Symptômes :

Solutions :

  1. Vérifie que Vaultwarden tourne : docker ps # Tu dois voir 'vaultwarden' en 'Up'
  2. Vérifie l’URL :
  1. Check les logs : docker compose logs -f vaultwarden

❌ « Master Password oublié »

Symptôme : Tu as oublié ton Master Password. 😱

Réalité dure :

Solutions de secours :

  1. Si tu as un backup chiffré exporté :
  1. Si tu as une session encore ouverte quelque part :
  1. Prévention :

❌ Apps mobiles : remplissage auto ne marche pas

Symptôme : L’app ne propose pas de remplir les mots de passe.

Solutions :

iOS :

Réglages → Mots de passe → Remplissage auto → Vérifie que Bitwarden est sélectionné → Désactive iCloud Keychain si activé (conflit)

Android :

Paramètres → Système → Langues et saisie → Services de saisie automatique → Bitwarden → OU Paramètres → Mots de passe → Gestionnaire de mots de passe → Sélectionne Bitwarden


❌ Sync lente entre appareils

Symptôme : Tu ajoutes un mot de passe sur PC, il n’apparaît pas sur mobile après 5 minutes.

Solution :

  1. Vérifie Websocket : # Dans docker-compose.yml WEBSOCKET_ENABLED=true # Doit être à true
  2. Force la sync manuelle :
  1. Redémarre Vaultwarden : docker compose restart vaultwarden

❌ Problème : « Invalid admin token »

Cause : Token mal copié ou guillemets incorrects dans le .env.

Solution :

  1. Vérifie que tu as bien copié tout le hash (de $argon2id$... jusqu’à la fin)
  2. Assure-toi d’utiliser des guillemets simples ' ' dans le .env
  3. Pas d’espaces avant ou après le =

❌ Problème : « You are using a plain text ADMIN_TOKEN »

Cause : Tu as modifié le token via l’interface web d’administration ET tu utilises encore une variable d’environnement.

Solution : Les paramètres définis via l’interface web prennent le dessus sur les variables d’environnement. Si tu veux revenir aux variables d’environnement, tu dois :

  1. Supprimer le fichier config.json dans /data
  2. Ou modifier le hash directement via l’interface admin

⚠️ Ne touche PAS au config.json manuellement. Ça peut tout casser. Passe toujours par l’interface ou les variables d’environnement.


🎊 Conclusion : Le dernier pilier de ton indépendance

Félicitations ! Tu viens d’installer le service le plus critique de ton infrastructure : ton gestionnaire de mots de passe.

Pourquoi le plus critique ? Parce que c’est lui qui sécurise tous les autres. Sans Vaultwarden (ou équivalent), tu ne peux pas gérer sereinement Nextcloud, Jellyfin, et tous les services que tu vas déployer.

Tu as maintenant le dernier pilier.

Si tu as suivi mes tutos précédents, tu devrais avoir :

C’est la stack d’indépendance numérique complète. Tu remplaces Google Drive, Netflix ET LastPass avec des services que tu contrôles à 100%.

Économie annuelle : 534€ (j’ai fait le calcul).

🚀 Et maintenant ?

Si tu veux une vue d’ensemble de cette architecture, comprendre comment ces 3 services s’interconnectent et suivre une roadmap progressive pour les sécuriser et les optimiser :

👉 Consulte le guide complet d’indépendance numérique 2025

Tu y trouveras :

Spoiler : Ce n’est que le début. Il reste Prometheus+Grafana pour le monitoring, Uptime Kuma pour les alertes, et plein d’autres services à découvrir.

Previous
Indépendance Numérique 2025 : Le Guide Complet pour Reprendre le Contrôle
Next
Jellyfin avec Docker : Ton Netflix Gratuit en 30 Min (Économise 378€/an)