# Dozzle > Real-time log viewer for Docker, Docker Swarm, Kubernetes and Podman, in the browser. Dozzle runs as one container that reads logs straight from the Docker API. It stores no logs of its own. Minimal install (open http://localhost:8080 afterwards): ```yaml services: dozzle: image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock - dozzle_data:/data ports: - 8080:8080 volumes: dozzle_data: ``` Everything below is off by default and turned on with an environment variable: - `DOZZLE_AUTH_PROVIDER=simple` (or `oidc`, `forward-proxy`): require login. Do this before exposing Dozzle beyond a private network, since docker.sock is root-equivalent. - `DOZZLE_ENABLE_ACTIONS=true`: start, stop, restart and update containers from the UI. - `DOZZLE_ENABLE_SHELL=true`: attach or exec into containers from the browser. - `DOZZLE_REMOTE_AGENT=host:7007`: add other Docker hosts that run `dozzle agent`. - `DOZZLE_ENABLE_MCP=true`: expose an MCP server at `/api/mcp` (Streamable HTTP) so AI assistants can read container logs and stats. Swarm, Kubernetes and Podman each have their own guide below. The full variable list is in Environment Variables. ## Table of Contents - [Agent Mode](https://dozzle.dev/guide/agent.md): Run Dozzle in agent mode to view logs from remote Docker hosts over TLS, organize hosts into groups, and lock agents down with your own certificate. - [Alerts](https://dozzle.dev/guide/alerts-and-webhooks.md): Set up Dozzle alerts on Docker container logs, CPU and memory metrics, and lifecycle events, and send them to a webhook, Slack, Discord, or ntfy. - [Anonymous Analytics](https://dozzle.dev/guide/analytics.md): What anonymous usage data Dozzle sends, what it never includes, where it is stored, and how to turn analytics off with --no-analytics. - [App Icons](https://dozzle.dev/guide/app-icons.md): How Dozzle shows project logos next to Docker containers, how image names are matched, and how to override the icon or supply your own with a label. - [Authentication](https://dozzle.dev/guide/authentication.md): Compare Dozzle's authentication options, from a users.yml file to GitHub, OIDC, or a forward proxy, and the security steps to take before exposing it. - [Connecting Your Instance](https://dozzle.dev/guide/dozzle-cloud/connecting.md): Link a self-hosted Dozzle to Dozzle Cloud without a public IP or open port, check that it connected, and fix it when nothing shows up. - [Container Actions](https://dozzle.dev/guide/actions.md): Enable Dozzle container actions to start, stop, restart, remove, or update Docker containers from the UI, and see what each action does to your data. - [Container Disk Usage](https://dozzle.dev/guide/container-disk-usage.md): How Dozzle measures the disk used by each Docker container and its volumes, what it leaves out, and how to clean up unused images, volumes and build cache. - [Container Groups](https://dozzle.dev/guide/container-groups.md): How Dozzle groups Docker containers by Compose stack or Swarm service, and how to make custom groups with the dev.dozzle.group label, including on Kubernetes. - [Container Links](https://dozzle.dev/guide/container-links.md): Add a dev.dozzle.url label so Dozzle links each Docker container to its web UI, how Traefik labels prefill the URL, and how service labels work in Swarm. - [Container Names](https://dozzle.dev/guide/container-names.md): Override the name Dozzle shows for a Docker container with the dev.dozzle.name label, and how naming works for Kubernetes pods and Coolify deployments. - [Container Shell Access](https://dozzle.dev/guide/shell.md): How to enable shell access in Dozzle to attach to or exec into Docker and Kubernetes containers from the browser, and how to secure it. - [Container Updates](https://dozzle.dev/guide/updates.md): How Dozzle checks Docker containers for newer images and updates them by hand or on a schedule, with automatic rollback and old image cleanup. - [Debugging](https://dozzle.dev/guide/debugging.md): Raise Dozzle's own log level to debug or trace with --level or DOZZLE_LEVEL, read the output with docker logs, and know what to include in a bug report. - [Default Profile](https://dozzle.dev/guide/default-profile.md): Ship a default profile.json so new and anonymous Dozzle users start with your chosen theme, timestamps, sidebar grouping and other UI settings. - [Dozzle Cloud](https://dozzle.dev/guide/dozzle-cloud.md): What Dozzle Cloud adds to self-hosted Dozzle, including alert triage, notifications to Slack, Telegram or Discord, and daily log review on paid plans. - [Dozzle vs docker logs](https://dozzle.dev/guide/dozzle-vs-docker-logs.md): What Dozzle adds over docker logs and terminal tools, and when the terminal is all you need. - [Dozzle vs Grafana Loki](https://dozzle.dev/guide/dozzle-vs-loki.md): Whether you need Grafana and Loki to read Docker logs, or whether Dozzle is enough, and how to use both. - [Dozzle vs Portainer](https://dozzle.dev/guide/dozzle-vs-portainer.md): How Dozzle and Portainer differ for reading Docker logs, and how to run them side by side. - [dtop CLI](https://dozzle.dev/guide/dtop.md): Install dtop, a terminal tool that shows your running Docker containers in real time over SSH, TCP or a local socket and opens Dozzle for logs. - [Environment Variables and Subcommands](https://dozzle.dev/guide/supported-env-vars.md): Every Dozzle environment variable and flag, including authentication options, plus the generate, agent, generate-certs, and healthcheck subcommands. - [FAQ](https://dozzle.dev/guide/faq.md): Fixes for common Dozzle problems, such as upgrading, backing up /data, logs that never load behind nginx or Traefik, and duplicate host IDs. - [Filter](https://dozzle.dev/guide/filters.md): Limit which Docker containers Dozzle can see with DOZZLE_FILTER or --filter, and learn how UI, agent and user filters combine. - [Following Log Files on Disk](https://dozzle.dev/guide/log-files-on-disk.md): How to see logs that a container writes to files instead of stdout in Dozzle, by logging to streams or tailing the file with a sidecar container. - [Forward Proxy](https://dozzle.dev/guide/authentication/forward-proxy.md): Put Dozzle behind a forward proxy such as Authelia, Cloudflare Zero Trust, or oauth2-proxy that passes the user, email, and roles in request headers. - [Getting Started](https://dozzle.dev/guide/getting-started.md): Run Dozzle as a single container with docker run, Docker Compose, Docker Swarm or Kubernetes, and start reading Docker logs on port 8080. - [Healthcheck](https://dozzle.dev/guide/healthcheck.md): Enable Dozzle's built-in Docker healthcheck in Compose, see what the /healthcheck endpoint checks, and which exit codes mean healthy or unhealthy. - [Host Metrics](https://dozzle.dev/guide/host-metrics.md): Show the Docker host's uptime, load average and disk usage on Dozzle's host card, with the /proc and drive mounts each setup needs. - [Hostname](https://dozzle.dev/guide/hostname.md): Change the name Dozzle shows for its local Docker host with --hostname or DOZZLE_HOSTNAME, and how to name agents in the multi-host menu. - [In Your Dozzle](https://dozzle.dev/guide/dozzle-cloud/in-dozzle.md): What changes in your own Dozzle after you link it to Dozzle Cloud, including Ask Dozzle, metrics history, and alerts that survive a reload. - [Kubernetes Support](https://dozzle.dev/guide/k8s.md): Run Dozzle in Kubernetes to view pod logs, with the RBAC, Metrics API and kubelet setup for stats, plus pod restarts, namespaces and filters. - [MCP Integration](https://dozzle.dev/guide/mcp.md): Enable Dozzle's MCP server so AI assistants like Claude and Copilot can read Docker container logs and stats, and set up clients and authentication. - [Moving from Watchtower](https://dozzle.dev/guide/moving-from-watchtower.md): Replace Watchtower with Dozzle to update Docker containers on a schedule, with each Watchtower setting and label mapped to its Dozzle equivalent. - [Notification Channels](https://dozzle.dev/guide/dozzle-cloud/channels.md): Send Dozzle Cloud alerts to email, Telegram, Discord, Slack, ntfy, webhooks or browser push, mute noisy alerts, and find out why an alert never arrived. - [OpenID Connect](https://dozzle.dev/guide/authentication/oidc.md): Use OpenID Connect with Keycloak, Authentik, Authelia, or Zitadel as Dozzle's user database, with roles and container filters read from the token. - [Plans & Limits](https://dozzle.dev/guide/dozzle-cloud/plans.md): What Dozzle Cloud plan limits look like when you hit them, from raw alerts to search retention and the free instance limit, and how to check usage or cancel. - [Podman](https://dozzle.dev/guide/podman.md): Run Dozzle with Podman, rootful or rootless, as a standalone service, Quadlet unit or agent, and fix missing memory stats and failing healthchecks. - [Remote Host Setup](https://dozzle.dev/guide/remote-hosts.md): Connect Dozzle to remote Docker hosts over TLS or a Docker socket proxy and label each host, though agents are now the recommended way to do this. - [Reverse Proxy & Base Path](https://dozzle.dev/guide/changing-base.md): Run Dozzle behind a reverse proxy or under a sub-path with --base, with Nginx, Traefik and Caddy settings that keep log streaming and container shells working. - [Setup Wizard](https://dozzle.dev/guide/setup-wizard.md): How the Dozzle setup wizard turns on login, container actions, shell access, remote hosts, Dozzle Cloud, and auto-update on a fresh Docker install. - [Sign in with GitHub & OIDC](https://dozzle.dev/guide/authentication/oauth.md): Let users listed in Dozzle's users.yml sign in with GitHub, Google, Keycloak, or another OIDC provider, and keep the client secret in Docker secrets. - [Simple Authentication](https://dozzle.dev/guide/authentication/simple.md): Set up Dozzle's simple authentication with a users.yml file, and limit which Docker containers each user sees and what they can do with filters and roles. - [SQL Engine](https://dozzle.dev/guide/sql-engine.md): How to query JSON container logs with SQL in Dozzle, using DuckDB running in your browser through WebAssembly, with example queries and limits. - [Swarm Mode](https://dozzle.dev/guide/swarm-mode.md): How to deploy Dozzle in Docker Swarm mode as a global service to see logs from every node, group stacks and services, and add authentication and agents. - [What is Dozzle?](https://dozzle.dev/guide/what-is-dozzle.md): Dozzle is an open-source, web-based log viewer that streams real-time container logs and metrics from Docker, Docker Swarm, and Kubernetes in your browser. - [What's New in v11](https://dozzle.dev/guide/whats-new.md): What changed in Dozzle v11, including the redesigned UI, sign in with GitHub and OIDC, new log level formats, alert history, and the upgrade sign-out. - [Your Data](https://dozzle.dev/guide/dozzle-cloud/your-data.md): What Dozzle Cloud collects from your Docker host, how to stop a container's logs from being forwarded, what Cloud stores, and how to close your account.