selfhostedworld.com logoselfhostedworld.com

Try describing what you need:

Dozzle logo

Dozzle

★ 14.6k

A self-hosted alternative to Datadog

MIT LicenseOpen Source — No Paywall10 Containers — 10 containers — heavy hosting footprintDocker · Compose · Package +1No external DBTelemetry: Opt-Out18+ active committers (12mo)

About

Dozzle is a web-based log viewer for Docker environments. It is intended for people who want to inspect container logs live without storing them, and it emphasizes a small footprint and quick access...

Community Ratings

No ratings yet

Features

  • real-time Docker log viewing
  • fuzzy search for container names
  • regex log search
  • SQL log queries
  • split screen for multiple logs
  • live memory and CPU stats
  • multi-user authentication
  • forward proxy authentication
  • Swarm mode support
  • agent mode for multiple Docker hosts

Details

Last Updated
Oct 12, 2026
Created
Oct 30, 2018
Install Methods
dockerdocker-composepackage-managersource
Requirements
Docker Engine 19.03 or newer (API version 1.40+)Go 1.25+Node.jsBunprotoc
Authentication
localproxy-auth
Privacy & Independence
Telemetry: Opt-outNo Cloud Required
User Model
Multi-User
Deployment

Deployment: Docker Compose ✓10 Containers — heavy hosting footprintRuns as 10 containers

Run Dozzle with Docker Compose

Compose file from the Dozzle project repository.

10 services · 4 unclassified (dozzle_e2e, alpine, docker-socket-proxy, playwright)

no resource limits declared

needs persistent storage (9 volumes)

docker-compose.yml · @ 8e5fe19 · scanned Oct 10, 2026

# Every container_name carries the dozzle_e2e_ prefix so filters can match test
# containers exactly and nothing else on a dev machine leaks into the snapshots.
# The fixed project name makes a leftover run from another worktree get recreated
# instead of blocking the next one with name conflicts.
# No host ports are published: playwright reaches every instance by service name on
# the compose network, so a run never collides with whatever else is on the machine.
name: dozzle_e2e

x-dozzle-healthcheck: &dozzle-healthcheck
  test: ["CMD", "/dozzle", "healthcheck"]
  interval: 5s
  retries: 5
  start_period: 5s
  start_interval: 5s

services:
  custom_base:
    container_name: dozzle_e2e_custom_base
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DOZZLE_FILTER=name=^dozzle_e2e_custom_base$$
      - DOZZLE_BASE=/foobarbase
      - DOZZLE_NO_ANALYTICS=1
      - DOZZLE_HOSTNAME=custom name
    healthcheck: *dozzle-healthcheck
    image: dozzle_e2e:local
    pull_policy: never
  simple-auth:
    container_name: dozzle_e2e_simple-auth
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./e2e/data:/data
    environment:
      - DOZZLE_FILTER=name=^dozzle_e2e_
      - DOZZLE_AUTH_PROVIDER=simple
      - DOZZLE_NO_ANALYTICS=1
    healthcheck: *dozzle-healthcheck
    image: dozzle_e2e:local
    pull_policy: never
  dozzle:
    container_name: dozzle_e2e_dozzle
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DOZZLE_FILTER=name=^dozzle_e2e_dozzle$$
      - DOZZLE_NO_ANALYTICS=1
      - DOZZLE_HOSTNAME=localhost
      - DOZZLE_LEVEL=debug
    # Deliberately no healthcheck: this container is the subject of the visual
    # snapshots, and a healthcheck makes a health badge appear in the sidebar
    # (HostMenu.vue), which shifts the reference images.
    # The only service that builds. Every other dozzle instance runs this same
    # image by tag, so bake makes one target instead of seven: each target used
    # to export its own copy of the cache and load its own copy of the image.
    # The others set pull_policy: never, or compose tries Docker Hub for the tag.
    image: dozzle_e2e:local
    build:
      context: .
  # Dedicated instance + noisy container so log streaming can be asserted without
  # perturbing the dozzle_e2e_dozzle filter the other instances rely on.
  logs-viewer:
    container_name: dozzle_e2e_logs-viewer
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - DOZZLE_FILTER=name=^dozzle_e2e_logspam$$
      - DOZZLE_NO_ANALYTICS=1
      - DOZZLE_HOSTNAME=logs
    healthcheck: *dozzle-healthcheck
    image: dozzle_e2e:local
    pull_policy: never
    depends_on:
      - logspam
  logspam:
    container_name: dozzle_e2e_logspam
    image: alpine:3
    command:
      - sh
      - -c
      - 'i=0; while true; do i=$$((i+1)); echo "logspam line $$i"; sleep 1; done'
  remote:
    container_name: dozzle_e2e_remote
    environment:
      - DOZZLE_REMOTE_HOST=tcp://proxy:2375|remote-host
      - DOZZLE_FILTER=name=^dozzle_e2e_dozzle$$
      - DOZZLE_NO_ANALYTICS=1
    healthcheck: *dozzle-healthcheck
    image: dozzle_e2e:local
    pull_policy: never
    depends_on:
      proxy:
        condition: service_healthy
  dozzle-with-agent:
    container_name: dozzle_e2e_with-agent
    environment:
      - DOZZLE_REMOTE_AGENT=agent:7007
      - DOZZLE_NO_ANALYTICS=1
      - DOZZLE_LEVEL=debug
    healthcheck: *dozzle-healthcheck
    image: dozzle_e2e:local
    pull_policy: never
    depends_on:
      agent:
        condition: service_healthy
  agent:
    container_name: dozzle_e2e_agent
    command: agent
    environment:
      - DOZZLE_FILTER=name=^dozzle_e2e_dozzle$$
      - DOZZLE_NO_ANALYTICS=1
    healthcheck:
      test: ["CMD", "/dozzle", "healthcheck"]
      interval: 5s
      retries: 5
      start_period: 5s
      start_interval: 5s
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./e2e/data/notifications.yml:/data/notifications.yml:ro
    image: dozzle_e2e:local
    pull_policy: never
  proxy:
    container_name: dozzle_e2e_proxy
    image: tecnativa/docker-socket-proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - CONTAINERS=1
      # Dozzle calls /info on connect; without it the host never initializes and
      # lists zero containers.
      - INFO=1
    healthcheck:
      test: ["CMD", "nc", "-z", "127.0.0.1", "2375"]
      interval: 5s
      retries: 5
      start_period: 5s
      start_interval: 5s

  playwright:
    container_name: dozzle_e2e_playwright
    image: mcr.microsoft.com/playwright:v1.64.0-jammy
    working_dir: /app
    volumes:
      - .:/app
    command: npx --yes playwright test
    environment:
      - PWTEST_SKIP_TEST_OUTPUT=1
      - CI=1
    depends_on:
      dozzle:
        condition: service_started
      custom_base:
        condition: service_healthy
      remote:
        condition: service_healthy
      simple-auth:
        condition: service_healthy
      dozzle-with-agent:
        condition: service_healthy
      logs-viewer:
        condition: service_healthy

This file may be out of date. Check the Dozzle documentation for current setup steps.

Track your self-hosted stack

Bookmark software to try, rate tools you've used, and keep your collection in one place.

Metadata extracted from README on Oct 10, 2026

Related Software

Uptime Kuma logo

Uptime Kuma

92.3k
Uptime Kuma is an easy-to-use self-hosted monitoring tool for checking service and server uptime.
Status PagesNetwork UtilitiesAutomation Tools+3
Single ContainerFully FOSS
Details
Lobe Chat logo

Lobe Chat

83.1k
LobeHub is a self-hostable AI agent platform for organizing, creating, and collaborating with multi-agent workflows.
Artificial IntelligenceAI InterfacesSelf Hosting Solutions+3
6 Containers
Details
Huginn logo

Huginn

50.0k
Huginn is a self-hosted automation system for building agents that monitor online events and perform actions on your behalf.
Automation ToolsPermissive LicenseAI Agents+3
4 Containers
Details
AnythingLLM logo

AnythingLLM

67.0k
An all-in-one AI application for chatting with documents, building AI agents, and running local or cloud LLM workflows.
Artificial IntelligenceAutomation ToolsSelf Hosting Solutions+7
Single Container
Details
Immich logo

Immich

116.0k
High performance self-hosted photo and video management solution.
Photo GalleriesCopyleft LicenseMedia Management+1
6 Containers
Details
SillyTavern logo

SillyTavern

34.3k
SillyTavern is a locally installed interface for interacting with text generation LLMs, image generation engines, and TTS voice models.
Artificial IntelligenceAI InterfacesCopyleft License+3
Single Container
Details
Superset logo

Superset

75.1k
A modern, enterprise-ready business intelligence web application for data exploration and visualization.
Analytics ToolsPermissive LicenseDatabase Management+1
10 Containers
Details
Memos logo

Memos

63.7k
Memos is an open-source, self-hosted note-taking tool for quick capture.
Note Taking AppsPermissive LicenseKnowledge Management+2
Single Container
Details
Twenty logo

Twenty

58.2k
An open-source CRM for managing customer data, permissions, workflows, emails, and related records.
CRM SystemsSelf Hosting SolutionsAutomation Tools+4
FOSS with Issues
Details
wg-easy logo

wg-easy

27.1k
A web UI for installing and managing WireGuard on Linux hosts.
Self Hosting SolutionsNetwork UtilitiesRemote Access+1
Single Container
Details
Langfuse logo

Langfuse

35.7k
Langfuse is an open source LLM engineering platform for teams to develop, monitor, evaluate, and debug AI applications.
IDE ToolsArtificial IntelligenceFOSS with Issues+5
6 ContainersFOSS with Issues
Details
Jitsi Meet logo

Jitsi Meet

30.1k
Jitsi Meet is an open source video conferencing platform for browser-based meetings with mobile apps and SDKs.
Video ConferencingPermissive LicenseSelf Hosting Solutions
Single Container
Details