2.7 KiB
2.7 KiB
Vaultwarden
Gestionnaire de mots de passe auto-heberge compatible Bitwarden, deploye avec Docker.
Prerequis
- Docker et Docker Compose
- (Optionnel) NGINX pour le reverse proxy HTTPS
Installation
1. Cloner le projet
git clone gitea@gitea.malio.fr:MALIO-DEV/Vaulwarden.git
cd Vaulwarden
2. Configurer l'environnement
cp .env.example .env
Editer .env et remplacer le token admin. Pour generer un token Argon2 :
echo -n "MonMotDePasse" | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4
3. Lancer Vaultwarden
docker compose up -d
L'interface est accessible sur http://localhost:8080.
4. (Optionnel) HTTPS avec NGINX
sudo ./setup-vaultwarden-https.sh
Cela genere un certificat auto-signe et configure NGINX en reverse proxy sur le port 443.
Mise a jour
docker compose pull
docker compose up -d
Sauvegarde
Le dossier ./data contient toutes les donnees :
db.sqlite3: base de donnees (comptes, mots de passe chiffres)attachments/: fichiers jointssends/: fichiers Sendconfig.json: configurationrsa_key.pem: cle RSA du serveur
Exporter une sauvegarde
# Arreter le conteneur pour eviter la corruption de la BDD
docker compose down
# Copier le dossier data
cp -r ./data ./data_backup_$(date +%Y%m%d)
# Relancer
docker compose up -d
Compresser pour transfert
tar czf vaultwarden_backup_$(date +%Y%m%d).tar.gz ./data
Restauration / Migration
Pour remonter le projet sur une autre machine a partir d'une sauvegarde :
1. Cloner le projet sur la nouvelle machine
git clone gitea@gitea.malio.fr:MALIO-DEV/Vaulwarden.git
cd Vaulwarden
cp .env.example .env
# Editer .env avec le token admin
2. Restaurer les donnees
# Copier le backup sur la nouvelle machine puis :
cp -r /chemin/vers/data_backup ./data
# Ou decompresser une archive :
tar xzf vaultwarden_backup_XXXXXXXX.tar.gz
3. Lancer
docker compose up -d
Tout est restaure : comptes, mots de passe, fichiers joints.
Structure du projet
.
├── docker-compose.yml # Definition du service Docker
├── setup-vaultwarden-https.sh # Script de configuration NGINX + HTTPS
├── .env # Variables d'environnement (non versionne)
├── .env.example # Exemple de configuration
├── data/ # Donnees Vaultwarden (non versionne)
└── README.md
Acces admin
L'interface d'administration est accessible sur /admin (ex: http://localhost:8080/admin).
Le mot de passe correspond au VAULTWARDEN_ADMIN_TOKEN defini dans .env.