Compare commits
2 Commits
d65b215cda
...
34e02123e9
| Author | SHA1 | Date | |
|---|---|---|---|
| 34e02123e9 | |||
| b118713e6e |
126
README.md
126
README.md
@ -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
24
docker-compose.yml
Normal 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
|
||||||
Loading…
x
Reference in New Issue
Block a user