Dozzle est une interface web légère et performante permettant de visualiser les journaux de vos conteneurs Docker en temps réel. Ce projet fournit une configuration de déploiement prête pour la production, incluant la gestion SSL (via Reverse Proxy) et une couche d'authentification sécurisée.
- Visualisation Temps Réel : Suivi des logs sans rechargement de page.
- Support Multi-Nœuds : Compatible avec les agents Docker.
- Authentification Intégrée : Protection via
simpleprovider et gestion des utilisateurs. - Support Proxy : Configuration optimisée pour
nginx-proxyetacme-companion(SSL/TLS). - Persistance : Configuration et profils utilisateurs persistants.
- Docker & Docker Compose
- Un réseau Docker externe nommé
proxy(pour le reverse proxy). - Un Reverse Proxy actif (ex:
nginx-proxy) écoutant sur le réseauproxy.
.
├── docker-compose.yml # Définition des services
├── .env # Variables d'environnement (non versionné)
├── .env.example # Modèle de configuration
└── data/
├── users.yml # Base de données utilisateurs (YAML)
└── admin/ # Profils et configurations spécifiquesCopiez le fichier d'exemple pour créer votre configuration locale :
cp .env.example .envModifiez ensuite le fichier .env avec vos paramètres :
| Variable | Description | Exemple |
|---|---|---|
DOZZLE_VERSION |
Version de l'image Docker à utiliser | latest ou v4.x.x |
DOZZLE_HOSTNAME |
Nom d'affichage de l'instance | dozzle-prod |
DOZZLE_VIRTUAL_HOST |
Nom de domaine (pour le proxy) | logs.votredomaine.com |
DOZZLE_VIRTUAL_PORT |
Port interne (défaut Dozzle: 8080) | 8080 |
DOZZLE_LETSENCRYPT_HOST |
Domaine pour le certificat SSL | logs.votredomaine.com |
DOZZLE_LETSENCRYPT_EMAIL |
Email pour l'enregistrement SSL | admin@votredomaine.com |
DOZZLE_AUTH_PROVIDER |
Méthode d'auth (simple, none, etc.) |
simple |
L'authentification est gérée via le fichier data/users.yml.
Pour ajouter ou modifier un utilisateur, vous devez générer un hash de mot de passe (bcrypt).
Générer un nouvel utilisateur :
docker run --rm -v "$(pwd)/data:/data" amir20/dozzle generate-usersSuivez les instructions interactives. Copiez ensuite le bloc YAML généré dans data/users.yml.
Exemple de data/users.yml :
users:
admin:
name: "Administrateur"
email: "admin@unsta.dev"
password: "$2a$10$..." # Hash généréLancez le service en mode détaché :
docker compose --env-file=.env -f docker-compose.yml up -dVérifiez les logs pour confirmer le bon démarrage :
docker compose logs -fAccédez ensuite à votre instance via l'URL définie (ex: https://logs.votredomaine.com).
Mettre à jour Dozzle :
- Modifiez
DOZZLE_VERSIONdans.envsi nécessaire (ou gardezlatest). - Tirez la nouvelle image et redémarrez :
docker compose pull
docker compose --env-file=.env -f docker-compose.yml up -dArrêter le service :
docker compose --env-file=.env -f docker-compose.yml down