162 lines
4.8 KiB
Markdown
162 lines
4.8 KiB
Markdown
---
|
|
title: Vaultwarden
|
|
created: 2026-06-06
|
|
updated: 2026-06-06
|
|
type: app
|
|
tags: [catalogue, 2FA, password-manager, security, rust]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=2FA, https://github.com/dani-garcia/vaultwarden]
|
|
---
|
|
# 🔐 Vaultwarden
|
|
|
|
> **Serveur Bitwarden-compatible**, écrit en Rust. Le standard de facto pour auto-héberger son gestionnaire de mots de passe.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [github.com/dani-garcia/vaultwarden](https://github.com/dani-garcia/vaultwarden) |
|
|
| **GitHub** | [dani-garcia/vaultwarden](https://github.com/dani-garcia/vaultwarden) |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage** | Rust |
|
|
| **Étoiles GitHub** | 62k ⭐ |
|
|
| **Dernière MAJ** | 2026-06-05 |
|
|
| **Catégorie** | [[cat-2fa|2FA]], [[cat-password-manager|Password Manager]] |
|
|
| **Mainteneur** | dani-garcia + communauté |
|
|
|
|
## 📝 Description
|
|
|
|
**Vaultwarden** est une réécriture non-officielle du serveur Bitwarden en Rust, beaucoup plus légère que l'original. Elle supporte **tous les clients Bitwarden** (browser, mobile, desktop) et inclut :
|
|
- Stockage chiffré de mots de passe
|
|
- Authentification 2FA (TOTP, WebAuthn, YubiKey, Duo, Email)
|
|
- Partage sécurisé entre utilisateurs
|
|
- Génération de mots de passe
|
|
- Audit des mots de passe compromis (HaveIBeenPwned)
|
|
- Support de fichiers joints chiffrés
|
|
- API compatible avec tous les clients Bitwarden officiels
|
|
|
|
**Avantage clé** : consomme ~100 Mo de RAM (vs 1+ Go pour le serveur officiel Bitwarden en C#/.NET).
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
vaultwarden:
|
|
image: vaultwarden/server:latest
|
|
container_name: vaultwarden
|
|
restart: unless-stopped
|
|
environment:
|
|
- DOMAIN=https://vault.example.com
|
|
- SIGNUPS_ALLOWED=true
|
|
- INVITATIONS_ALLOWED=true
|
|
- SHOW_PASSWORD_HINT=false
|
|
- LOG_LEVEL=info
|
|
- ROCKET_PORT=80
|
|
volumes:
|
|
- ./data:/data
|
|
ports:
|
|
- "8080:80"
|
|
# Optionnel : désactiver les nouvelles inscriptions après setup
|
|
# - SIGNUPS_ALLOWED=false
|
|
```
|
|
|
|
Avec **[[traefik]]** (reverse proxy), voici un exemple plus complet :
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
vaultwarden:
|
|
image: vaultwarden/server:latest
|
|
container_name: vaultwarden
|
|
restart: unless-stopped
|
|
environment:
|
|
- DOMAIN=https://vault.example.com
|
|
- SIGNUPS_ALLOWED=true
|
|
- LOG_LEVEL=info
|
|
volumes:
|
|
- vw-data:/data
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.vaultwarden.rule=Host(`vault.example.com`)"
|
|
- "traefik.http.routers.vaultwarden.entrypoints=websecure"
|
|
- "traefik.http.routers.vaultwarden.tls.certresolver=letsencrypt"
|
|
- "traefik.http.services.vaultwarden.loadbalancer.server.port=80"
|
|
networks:
|
|
- proxy
|
|
|
|
traefik:
|
|
# ... votre config Traefik existante
|
|
|
|
volumes:
|
|
vw-data:
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|
|
```
|
|
|
|
### Option 2 : Docker run
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name vaultwarden \
|
|
--restart unless-stopped \
|
|
-e DOMAIN=https://vault.example.com \
|
|
-v /path/to/data:/data \
|
|
-p 8080:80 \
|
|
vaultwarden/server:latest
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Démarrer le conteneur** (Docker Compose ci-dessus)
|
|
2. **Créer un compte** sur `https://vault.example.com`
|
|
3. **Désactiver les inscriptions** après votre premier compte :
|
|
```yaml
|
|
- SIGNUPS_ALLOWED=false
|
|
```
|
|
4. **Activer le 2FA** dans les paramètres de votre compte
|
|
5. **Installer les clients** :
|
|
- Browser : extension Bitwarden
|
|
- Mobile : app Bitwarden (iOS/Android)
|
|
- Desktop : app Bitwarden
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-bitwarden]] — Serveur officiel (plus lourd, C#/.NET)
|
|
- [[app-passbolt]] — Orienté équipes, PHP
|
|
- **KeePassXC** — Local only (pas de sync cloud)
|
|
|
|
### Propriétaires (ce que Vaultwarden remplace)
|
|
- **1Password** — Propriétaire, ~60$/an
|
|
- **LastPass** — Piraté en 2022, déconseillé
|
|
- **Dashlane** — Propriétaire
|
|
- **Keeper** — Propriétaire
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- **Chiffrement** : AES-256 côté serveur, zéro-knowledge (Bitwarden ne peut pas lire vos mots de passe)
|
|
- **2FA** : Supporte TOTP, WebAuthn/FIDO2, YubiKey, Duo, Email
|
|
- **Backups** : `./data` contient la base SQLite — sauvegarder régulièrement !
|
|
- **HTTPS obligatoire** : Ne JAMAIS exposer en HTTP
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Documentation officielle](https://github.com/dani-garcia/vaultwarden/wiki)
|
|
- [Wiki — Reverse proxy config](https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples)
|
|
- [Reddit r/Vaultwarden](https://www.reddit.com/r/Vaultwarden/)
|
|
- [Discord Vaultwarden](https://discord.gg/vaultwarden)
|
|
|
|
## Pages Liées
|
|
- [[cat-2fa]] — Catégorie 2FA
|
|
- [[cat-password-manager]] — Catégorie Password Manager
|
|
- [[traefik]] — Reverse proxy
|
|
- [[securisation-home-lab]] — Sécurité du serveur
|
|
- [[recettes-docker-compose]] — Templates Docker
|