Introduction
Dozzle provides a browser-based interface for streaming container logs without storing them on disk. It connects directly to the Docker daemon, Swarm clusters, or Kubernetes environments and renders log output in real time with minimal resource usage.
What Dozzle Does
- Streams stdout and stderr from running containers in real time
- Supports Docker standalone, Docker Swarm, and Kubernetes deployments
- Provides regex-based log filtering and multi-container merged views
- Displays container resource stats (CPU, memory) alongside logs
- Supports authentication via simple file-based credentials or forward proxy headers
Architecture Overview
Dozzle is a single Go binary that connects to the Docker socket or Kubernetes API. It serves a Vue.js frontend over HTTP and uses server-sent events to push log lines to the browser. There is no database, no log storage, and no external dependencies beyond the container runtime itself.
Self-Hosting & Configuration
- Run as a single Docker container mounting the Docker socket
- Configure via environment variables: DOZZLE_LEVEL, DOZZLE_ADDR, DOZZLE_BASE
- For Swarm mode, deploy as a global service with agent and leader roles
- Supports TLS-secured remote Docker hosts via DOCKER_HOST and certificates
- Add basic auth with a users.yml file or use a reverse proxy for SSO
Key Features
- Zero-storage design: logs are streamed, never persisted
- Merged log view across multiple containers with color-coded sources
- Fuzzy search and regex filtering for rapid log triage
- Automatic container discovery as services start and stop
- Responsive UI works on mobile and desktop browsers
Comparison with Similar Tools
- Portainer — full container management platform; Dozzle focuses solely on log viewing with a smaller footprint
- Loki + Grafana — log aggregation stack requiring persistent storage and complex setup; Dozzle needs zero configuration
- docker logs CLI — single-container only and no filtering UI; Dozzle adds multi-container merged views
- Stern — terminal-based Kubernetes log tailing; Dozzle provides a web UI accessible to non-CLI users
- Seq — structured log server with storage and queries; Dozzle is ephemeral and read-only
FAQ
Q: Does Dozzle store logs? A: No. Dozzle streams logs directly from the container runtime and does not write anything to disk.
Q: Can I use Dozzle with Kubernetes? A: Yes. Dozzle supports Kubernetes via the standard kubeconfig or in-cluster service account authentication.
Q: How does authentication work? A: You can configure username/password pairs in a users.yml file, or use forward-auth headers from a reverse proxy.
Q: What resources does Dozzle consume? A: Dozzle is lightweight. The Go binary uses minimal CPU and memory since it proxies log streams without buffering.