matthieu f0ff1ec42b feat: add automated backup script with Discord notifications
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>
2026-04-02 09:51:53 +02:00
2026-04-02 09:51:53 +02:00
2025-07-03 09:20:24 +00:00

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/ dans backup/
  • 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.

Description
No description provided
Readme 35 KiB
Languages
Shell 100%