Compare commits

...

2 Commits

2 changed files with 148 additions and 2 deletions

126
README.md
View File

@ -1,3 +1,125 @@
# vaultgarden_deployment
# Déploiement Vaultwarden
Déploiement de vaultgarden sur mon VPS.
Ce projet contient la configuration Docker Compose pour déployer [Vaultwarden](https://github.com/dani-garcia/vaultwarden) sur un VPS avec Traefik comme reverse proxy.
## Qu'est-ce que Vaultwarden ?
Vaultwarden est une implémentation alternative du serveur Bitwarden écrite en Rust. C'est une solution légère et performante pour héberger votre propre gestionnaire de mots de passe.
## Prérequis
- Docker et Docker Compose installés
- Traefik configuré et fonctionnel sur le réseau `traefik`
- Un nom de domaine pointant vers votre VPS (configuré pour `vault.edipretoro.be`)
## Configuration
### Variables d'environnement
Créez un fichier `.env` à la racine du projet avec les variables suivantes :
```env
VAULTWARDEN_DOMAIN=https://vault.edipretoro.be
```
### Structure des données
Les données de Vaultwarden seront stockées dans le répertoire `./data/vaultgarden/` qui sera créé automatiquement au premier lancement.
## Déploiement
### Lancement du service
```bash
docker-compose up -d
```
### Vérification du statut
```bash
docker-compose ps
docker-compose logs -f vaultwarden
```
### Arrêt du service
```bash
docker-compose down
```
## Fonctionnalités
- **HTTPS automatique** : Certificats SSL gérés par Traefik via Let's Encrypt (résolveur `ovhtls`)
- **Compression** : Middleware gzip activé pour optimiser les performances
- **Redémarrage automatique** : Le conteneur redémarre automatiquement en cas d'arrêt inattendu
- **Réseau isolé** : Utilisation d'un réseau Docker dédié `vaultgarden` en plus du réseau Traefik
## Accès
Une fois déployé, Vaultwarden est accessible à l'adresse :
- **URL** : https://vault.edipretoro.be
Vous pouvez créer votre compte administrateur lors de la première connexion.
## Configuration Traefik
Le service utilise les labels Traefik suivants :
- Routeur configuré pour le domaine `vault.edipretoro.be`
- Certificat TLS via le résolveur `ovhtls`
- Service exposé sur le port 80 (interne au conteneur)
- Middleware de compression gzip activé
## Sauvegarde
Pour sauvegarder vos données, il suffit de copier le répertoire `./data/vaultgarden/` qui contient :
- La base de données SQLite
- Les pièces jointes
- Les icônes de sites web
- Les configurations
```bash
# Exemple de sauvegarde
tar -czf vaultwarden-backup-$(date +%Y%m%d).tar.gz ./data/vaultgarden/
```
## Mise à jour
```bash
# Récupérer la dernière image
docker-compose pull
# Redémarrer le service
docker-compose up -d
```
## Dépannage
### Vérifier les logs
```bash
docker-compose logs -f vaultwarden
```
### Vérifier la connectivité réseau
```bash
docker network inspect traefik
docker network inspect vaultgarden_vaultgarden
```
### Redémarrer le service
```bash
docker-compose restart vaultwarden
```
## Sécurité
- Utilisez toujours HTTPS en production
- Configurez des mots de passe forts
- Envisagez d'activer l'authentification à deux facteurs (2FA)
- Effectuez des sauvegardes régulières
- Limitez l'accès au panel d'administration
## Ressources
- [Documentation Vaultwarden](https://github.com/dani-garcia/vaultwarden/wiki)
- [Documentation Traefik](https://doc.traefik.io/traefik/)
- [Clients Bitwarden](https://bitwarden.com/download/)

24
docker-compose.yml Normal file
View File

@ -0,0 +1,24 @@
networks:
traefik:
external: true
vaultgarden:
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: ${VAULTWARDEN_DOMAIN}
volumes:
- ./data/vaultgarden/:/data/
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.vaultwarden.tls.certresolver=ovhtls"
- "traefik.http.routers.vaultwarden.service=vaultwarden"
- "traefik.http.services.vaultwarden.loadbalancer.server.port=80"
- "traefik.http.routers.vaultwarden.rule=Host(`vault.edipretoro.be`)"
- "traefik.http.routers.vaultwarden.middlewares=gzip"
networks:
- traefik
- vaultgarden