Doku

MIT
Platform
Web Docker Linux
Licence
MIT Open source
Doku

Doku is a small self-hosted web app that answers one question: what is actually eating your Docker disk? It connects to the Docker socket and mounts the host root read-only, then renders current usage for images, containers, volumes, build cache, container logs, Overlay2 layers and bind mounts on a single dashboard. It is written in Go and shipped as a container, so installation is one docker run and there is no agent, database or configuration file to maintain.

Key Features

  • One-screen dashboard — Total disk usage as a percentage, broken down by images, containers, volumes, logs and build cache with both a gauge and exact sizes
  • Overlay2 breakdown — Shows how much of the storage driver is in use versus orphaned layers not bonded to any image, the usual place reclaimable space hides
  • Logs and bind mounts — Container log files and host bind mounts are measured too, since both routinely grow unnoticed
  • Read-only by design — Both mounts are read-only and the tool never deletes anything; it reports, you decide
  • Tunable scanning — Separate intervals for general usage, log sizes, bind mounts and the expensive Overlay2 scan, plus an intensity setting (aggressive, normal, light) to keep load off small hosts
  • Access control — Optional HTTP basic auth from an htpasswd file, and SSL certificates can be mounted for HTTPS
  • Proxy-friendly — A root path option lets it sit behind a reverse proxy under a sub-path, and the port is configurable
  • Lightweight — A single Go binary in a small container, no external dependencies and no persistent data of its own

Why Use Doku?

docker system df gives you the totals, but not the shape of the problem: which category dominates, which layers are orphaned, whether it is logs or volumes that grew overnight. Doku turns that into a dashboard you can glance at, which matters most on a small VPS or homelab host where a few gigabytes of unreferenced layers is the difference between running and out of disk. Because it only reads, it is safe to leave running on a production host — unlike cleanup scripts, it cannot free space you still needed.

Use Cases

  • Small VPS housekeeping — See which of images, volumes or logs is filling a 50 GB disk before pruning blindly
  • Homelab monitoring — Keep a read-only view of Docker storage next to your uptime and metrics dashboards
  • Pre-cleanup triage — Check orphaned Overlay2 layers and unused build cache before running a prune
  • Investigating disk alerts — Confirm in seconds whether a full-disk alert came from Docker at all

Both mounts are required at their documented paths: read access to /var/run/docker.sock, and the host root mounted at /hostroot. Configuration is entirely through environment variables.

Licence

MIT — free to use, modify and run commercially, with the source on GitHub.

Alternatives

  • Netdata — real-time host and container metrics with alerting; broader than disk usage, heavier to run
  • Grafana — dashboards over metrics you already collect, if you want storage trends rather than a point-in-time breakdown

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.