# 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 ```bash git clone gitea@gitea.malio.fr:MALIO-DEV/Vaulwarden.git cd Vaulwarden ``` ### 2. Configurer l'environnement ```bash cp .env.example .env ``` Editer `.env` et remplacer le token admin. Pour generer un token Argon2 : ```bash echo -n "MonMotDePasse" | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4 ``` ### 3. Lancer Vaultwarden ```bash docker compose up -d ``` L'interface est accessible sur `http://localhost:8080`. ### 4. (Optionnel) HTTPS avec NGINX ```bash sudo ./setup-vaultwarden-https.sh ``` Cela genere un certificat auto-signe et configure NGINX en reverse proxy sur le port 443. ## Mise a jour ```bash 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 joints - `sends/` : fichiers Send - `config.json` : configuration - `rsa_key.pem` : cle RSA du serveur ### Exporter une sauvegarde ```bash # 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 ```bash 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 ```bash 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 ```bash # 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 ```bash 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`.