Pourquoi un visualiseur de logs Docker dans le navigateur
Le flux de travail standard en ligne de commande Docker — docker ps, puis docker logs -f <container> — convient pour un conteneur sur un seul serveur. Il montre ses limites dès que vous faites tourner plusieurs conteneurs, devez corréler les logs entre services, ou voulez donner à un collègue une visibilité en lecture seule sans lui confier de clé SSH. Dozzle règle ces trois points : un seul onglet de navigateur affiche tous les conteneurs de l’hôte, vous cliquez pour suivre en direct n’importe lequel, et la recherche en temps réel filtre le flux sans quitter la page. Comme Dozzle se contente de lire le socket Docker et n’écrit jamais sur le disque, il n’y a rien à maintenir, aucune base de données à sauvegarder et aucun coût de stockage.
Ce que Dozzle vous apporte
- Diffusion des logs en direct via WebSocket — sans polling, sans délai, suivi instantané de n’importe quel conteneur.
- Recherche plein texte et filtrage par regex directement dans le flux de logs, conteneur par conteneur.
- Vue divisée multi-conteneurs — épinglez plusieurs conteneurs côte à côte pour corréler les événements en temps réel.
- Accès en lecture seule au socket Docker — Dozzle ne peut ni démarrer, ni arrêter, ni modifier le moindre conteneur.
- Moins de 10 Mo de RAM au repos — une empreinte négligeable, sans risque à ajouter sur n’importe quel VPS en service.
- Mode agent multi-hôtes en option — un hub Dozzle unique agrège les logs de plusieurs hôtes Docker.
- Authentification basique intégrée et prise en charge d’OIDC pour restreindre l’accès aux utilisateurs autorisés.
Prérequis
Un VPS sous Ubuntu 22.04 (ou Debian 12) avec Docker déjà installé. Dozzle a besoin de moins de 10 Mo de RAM et d’aucun espace disque — il est totalement sans état. Aucun nom de domaine n’est strictement requis : Dozzle est accessible sur le port 8080 via l’IP de votre serveur. Si vous voulez du HTTPS et un sous-domaine personnalisé (logs.votre-domaine.com), placez un reverse proxy Caddy ou Nginx devant.
Déployer Dozzle sur votre VPS
Récupérer et démarrer Dozzle
Connectez-vous en SSH et lancez une seule commande Docker : docker run -d --restart=always -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock:ro --name dozzle amir20/dozzle:latest. Le drapeau :ro monte le socket en lecture seule — Dozzle peut seulement lire les logs, pas piloter les conteneurs. L’image pèse environ 20 Mo au premier téléchargement. Dozzle démarre immédiatement, sans configuration initiale.
Ouvrir la console de logs
Rendez-vous sur http://<your-server-ip>:8080. La barre latérale de gauche liste par nom tous les conteneurs en cours d’exécution. Cliquez sur n’importe quel conteneur pour suivre ses logs en direct. Utilisez la barre de recherche en haut pour filtrer par mot-clé, ou collez une regex pour un filtrage avancé.
Activer l’authentification
Par défaut, Dozzle est ouvert à toute personne capable d’atteindre le port 8080. Ajoutez une authentification basique en passant des variables d’environnement : --env DOZZLE_USERNAME=admin --env DOZZLE_PASSWORD=<strong-password>. Pour un déploiement en équipe, configurez OIDC en créant un fichier de configuration dozzle.yml et en le montant sur /data/config.yaml à l’intérieur du conteneur. Au minimum, restreignez le port 8080 à votre IP : ufw allow from <your-ip> to any port 8080.
Optionnel : HTTPS avec Caddy
Pour servir Dozzle en HTTPS sur logs.votre-domaine.com, installez Caddy (apt install caddy) et créez /etc/caddy/Caddyfile avec : logs.votre-domaine.com { reverse_proxy localhost:8080 }. Lancez systemctl reload caddy et Caddy émet automatiquement un certificat Let’s Encrypt. Faites d’abord pointer l’enregistrement DNS A de logs.votre-domaine.com vers l’IP de votre VPS.
Optionnel : agents multi-hôtes
Pour surveiller les conteneurs de plusieurs serveurs, lancez Dozzle en mode agent sur chaque hôte distant : docker run -d --restart=always -p 7007:7007 -v /var/run/docker.sock:/var/run/docker.sock:ro --name dozzle-agent amir20/dozzle:latest agent. Sur votre instance Dozzle principale, ajoutez --env DOZZLE_REMOTE_AGENT=<agent-ip>:7007 pour chaque hôte distant. Tous les hôtes apparaissent alors comme des nœuds distincts dans la barre latérale de gauche.
Se connecter la première fois
Dozzle s'ouvre directement sur les journaux de vos conteneurs, sans aucun identifiant. Considérez cette adresse comme confidentielle et protégez-la avant de la partager.
Associez Dozzle à Beszel pour une visibilité complète sur vos conteneurs
Dozzle vous montre *ce que* votre conteneur affiche. Beszel vous montre *combien* de CPU, de RAM et de disque il consomme, avec des graphiques historiques et des alertes. Déployez les deux sur le même VPS — Dozzle pour le débogage des logs en direct, Beszel pour le suivi des tendances de consommation — et vous obtenez une pile d’observabilité de conteneurs complète et auto-hébergée, pour moins de 60 Mo de RAM au total.