Dozzle: Il Visualizzatore di Log Docker in Tempo Reale Leggero e Potente

Logo Dozzle

Dozzle è uno strumento open-source utilizzato per monitorare i log dei container Docker in modo semplice ed intuitivo tramite un’interfaccia web. Quando si gestiscono container Docker su un server, dover usare docker compose logs -f per ogni container può essere un processo lungo, specialmente quando ne avete tanti in esecuzione. Dozzle risolve questo problema offrendo un dashboard realtime, leggero (l’immagine Docker è solo circa 7 MB compressi) e sicuro, che permette di visualizzare i log di tutti i container in un unico posto. Dozzle è self-hosted, quindi i vostri log rimangono privati sulla vostra infrastruttura.

Principali Caratteristiche di Dozzle Link to heading

  • Streaming in tempo reale: i log dei container vengono visualizzati live senza necessità di refresh manuali.
  • Ricerca e filtri avanzati: supporta ricerche full-text per identificare rapidamente errori, warning o stringhe specifiche.
  • Visualizzazione multi-container: possibilità di monitorare log di più container contemporaneamente in modalità split-screen.
  • Accesso shell opzionale: permette di collegarsi alla shell di un container direttamente dal browser.
  • Azioni sui container: start, stop e restart dei container dall’interfaccia.
  • Supporto multi-host: monitoraggio sicuro di host remoti tramite agenti dedicati.
  • Analisi SQL: query SQL sui log direttamente nel browser grazie a DuckDB in WebAssembly.
  • Sicurezza: supporto per autenticazione tramite reverse proxy (basic auth, OAuth) e agenti sicuri per connessioni remote.

Installazione e Configurazione Passo per Passo Link to heading

La procedura di installazione e utilizzo su un ambiente Docker locale è illustrata qui. Il metodo di deployment più semplice è Docker Compose. Ecco un file di esempio docker-compose.yml:

services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:v8
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Avviare con:

docker compose up -d

Dozzle diventa accessibile all’indirizzo http://localhost:8080.

Se lo si installa su un server, è consigliato proteggere l’accesso con un reverse proxy (come Nginx o Traefik) e autenticazione.

Ho pubblicato un esempio completo su un mio repository GitHub dove ho configurato Dozzle con la sua autenticazione nativa, tutti i comandi abilitati e un container applicativo per testarne il funzionamento.

I Prossimi Passi Link to heading

Dozzle si integra facilmente in stack Docker più complessi per un monitoraggio avanzato.

  • Protezione con Reverse Proxy: utilizzare Traefik o Nginx per esporre Dozzle su un dominio con HTTPS (Let’s Encrypt) e aggiungere autenticazione (basic auth, OAuth2 con Authelia o Authentik).
  • Monitoraggio Multi-Host: deploy di agenti Dozzle su host remoti per un dashboard centralizzato che aggrega log da più server Docker.
  • Integrazione in Stack Esistenti: aggiungere Dozzle a composizioni con Portainer, Watchtower o Homarr per un pannello di controllo completo.
  • Ambienti Cluster: deployment nativo in Docker Swarm o Kubernetes per scalabilità.

Queste integrazioni rendono Dozzle parte di un ecosistema di gestione container robusto e sicuro.

Conclusioni Link to heading

Dozzle trova utilizzo principale nel monitoraggio locale e remoto di log Docker, nel debugging rapido di applicazioni containerizzate e nell’analisi realtime in ambienti di sviluppo e produzione leggera.

Benefici principali:

  • Leggerezza e prestazioni elevate.
  • Interfaccia intuitiva con funzionalità avanzate come ricerca e split-view.
  • Privacy totale essendo self-hosted.
  • Compatibilità ampia con Docker, Swarm, Kubernetes e Podman.

Limitazioni:

  • Non ideale per log su scala enterprise molto elevata (mancano feature di retention lunga o alerting avanzato).
  • Dipendenza dal socket Docker per accesso locale, o agenti per remoto.
  • Funzionalità opzionali (shell, azioni) richiedono configurazione attenta per sicurezza.