Daily backup at 19h, zips data/ to backup/, keeps 2 max, notifies via Discord webhook. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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 automatique
Un script de backup automatique est inclus : backup-vaultwarden.sh.
- Frequence : tous les jours a 19h (cron)
- Format : zip du dossier
data/dansbackup/ - Retention : 2 backups max (rotation automatique)
- Notification : Discord via webhook
Lancer manuellement
./backup-vaultwarden.sh
Installer le cron
crontab -e
# Ajouter :
0 19 * * * /usr/bin/bash /home/matt/vaultwarden/backup-vaultwarden.sh >> /home/matt/vaultwarden/logs/cron_vaultwarden.log 2>&1
Sauvegarde manuelle
zip -r vaultwarden-backup-$(date +%Y%m%d).zip ./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. Changer le mot de passe admin
La sauvegarde contient un fichier data/config.json qui garde le token admin de la prod.
Pour utiliser le token defini dans .env, il faut supprimer l'ancien dans config.json :
# Editer data/config.json et supprimer la ligne "admin_token"
nano data/config.json
4. 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
├── backup-vaultwarden.sh # Script de backup automatique
├── .env # Variables d'environnement (non versionne)
├── .env.example # Exemple de configuration
├── data/ # Donnees Vaultwarden (non versionne)
├── backup/ # Backups zip (non versionne)
├── logs/ # Logs de backup (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.