Files
2026-06-09 18:40:21 +02:00

6.3 KiB


title: Dozzle created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, docker, container, monitoring-docker, logs, ui, beginner] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Docker, https://github.com/amir20/dozzle]

🐳 Dozzle

Le viewer de logs Docker temps réel le plus simple et le plus léger — interface web fluide, pas de stockage, pas de config.

📋 Informations Générales

Champ Valeur
Site web dozzle.dev
GitHub amir20/dozzle
License MIT
Langage Go
Étoiles GitHub 13,2k
Dernière MAJ 2026-06-05
Catégorie cat-docker

📝 Description

Dozzle est un viewer de logs Docker en temps réel accessible depuis une interface web. Sa philosophie : ne rien stocker, juste afficher en streaming ce que vos conteneurs écrivent sur stdout/stderr. Zéro indexation, zéro Elasticsearch, zéro base de données — du docker logs -f revisité en webapp.

Le résultat : un binaire statique Go de ~15 Mo, qui démarre en quelques secondes et consomme quelques dizaines de Mo de RAM. Idéal pour un homelab où l'on veut déboguer rapidement sans déployer un Loki + Grafana.

  • Streaming temps réel des logs de tous vos conteneurs
  • Recherche full-text (regex possibles) dans les logs
  • Filtrage par conteneur, niveau, date
  • Multi-hôtes (Docker Swarm, agents distants)
  • Mode agent pour interroger un hôte distant
  • Statistiques de logs (volume, débit par conteneur)
  • Dark mode natif
  • Authentification basique (user/password, support OIDC via reverse proxy)
  • Pas de stockage = aucun risque de saturation disque
  • Docker stats (CPU/RAM/Net) intégrées à l'UI
  • Mobile-friendly

Public cible : tout homelaber qui veut un tail -f graphique. Dozzle ne remplace pas un Loki/Grafana, mais le complète à merveille pour le debug quotidien.

Alternatives directes : app-cadvisor (métriques, pas logs), Portainer (logs basiques), Loki + Grafana (stack complète, lourde), LoggiFly (notifications de logs).

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  dozzle:
    image: amir20/dozzle:latest
    container_name: dozzle
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro  # ro = read-only (suffisant)
    ports:
      - "8888:8080"
    environment:
      - DOZZLE_AUTH=admin:$2y$10$XXXXXXXXXXXXXX  # bcrypt hash, voir ci-dessous
      # ou: DOZZLE_ENABLE_ACTIONS=true          # permet start/stop depuis l'UI
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.dozzle.rule=Host(`dozzle.example.com`)"
      - "traefik.http.routers.dozzle.entrypoints=websecure"
      - "traefik.http.routers.dozzle.tls.certresolver=letsencrypt"
      - "traefik.http.routers.dozzle.middlewares=authelia@docker"  # recommandé

🔐 Pour générer le hash bcrypt : htpasswd -nB admin puis retirer le : et utiliser le hash $2y$... complet.

Option 2 : Binaire natif (sans Docker)

# Linux / macOS / Windows : un seul binaire statique
curl -sL https://github.com/amir20/dozzle/releases/latest/download/dozzle-linux-amd64 -o dozzle
chmod +x dozzle
./dozzle
# UI sur http://localhost:8080

⚙️ Configuration Initiale

  1. Accéder à l'UI : http://IP:8888
  2. Vérifier que la liste des conteneurs s'affiche (lecture du socket Docker)
  3. Cliquer sur un conteneur : les logs s'affichent en streaming
  4. Utiliser la barre de recherche : regex, filtres rapides (ex : error, level=warn)
  5. Activer l'auth : variable DOZZLE_AUTH ou via reverse proxy
  6. (Optionnel) Activer les actions : DOZZLE_ENABLE_ACTIONS=true permet de start/stop des conteneurs depuis l'UI

🔄 Alternatives

Open Source

  • Loki + Grafana — Stack complète, indexation, alertes, retention (lourd)
  • Portainer — Logs basiques inclus
  • app-cadvisor — Métriques (pas logs)
  • LoggiFly — Notifications de logs
  • Docker natif — docker logs -f en CLI
  • Sentry — Pour les erreurs applicatives, pas Docker en soi

Propriétaires

  • Datadog Logs — Payant, très complet
  • Loggly (SolarWinds) — SaaS logging
  • Papertrail — Cloud log management
  • Splunk — Enterprise

Tableau comparatif

Critère Dozzle Loki+Grafana Portainer logs docker logs
Stockage logs (streaming) (retention)
Recherche (regex) (LogQL puissant) Basique
UI web (élégante) (Grafana) (basique)
RAM/CPU ~30 Mo ~500 Mo+ Inclus 0
Setup 2 min 30 min+ 5 min 0
Alertes
Licence MIT AGPL Zlib (CE) Apache-2.0

Verdict : Dozzle est imbattable pour le debug quotidien. Pour des besoins de rétention et d'alertes, ajouter Loki+Grafana à côté.

🔐 Sécurité

  • ⚠️ Socket Docker exposé : Dozzle a besoin du socket pour lister les conteneurs et lire les logs. Montez-le en :ro (read-only) — Dozzle n'a pas besoin d'écrire.
  • Auth obligatoire en exposition web : activez DOZZLE_AUTH ou passez par un middleware app-traefik (Authelia, Authentik, oauth2-proxy).
  • Activer DOZZLE_NO_LOG_LEVEL=true si vous ne voulez pas que Dozzle injecte des niveaux dans les logs.
  • Ne pas activer DOZZLE_ENABLE_ACTIONS si vous exposez Dozzle publiquement — risque de DoS par arrêt de conteneurs critiques.
  • Restriction IP / VPN : idéal est de n'exposer Dozzle que sur le réseau interne ou via Tailscale.

📚 Ressources

Pages Liées