---
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](https://dozzle.dev/) |
| **GitHub** | [amir20/dozzle](https://github.com/amir20/dozzle) |
| **License** | MIT |
| **Langage** | Go |
| **Étoiles GitHub** | 13,2k ⭐ |
| **Dernière MAJ** | 2026-06-05 |
| **Catégorie** | [[cat-docker\|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é)

```yaml
# 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)

```bash
# 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

- [GitHub amir20/dozzle](https://github.com/amir20/dozzle)
- [Site officiel](https://dozzle.dev/)
- [Documentation](https://dozzle.dev/guide/getting-started)
- [Démo live](https://demo.dozzle.dev/)

## Pages Liées
- [[cat-docker]] — Catégorie Docker
- [[app-cadvisor]] — Métriques conteneurs
- [[app-portainer]] — Alternative plus complète
- [[app-traefik]] — Reverse proxy
- [[observabilite]] — Stack observabilité
- [[securisation-home-lab]] — Durcir l'infra
