Dockpeek: A Lightweight Docker Dashboard That Auto-Discovers Traefik URLs
If you’re running Docker containers behind Traefik, you’ve probably got a few services scattered across ports, subdomains, or paths. Checking which ones are alive, where they live, and whether they’re healthy can become a drag. You could fire up Portainer or ship logs to a monitoring stack, but sometimes you just want something quick, small, and focused.
Enter Dockpeek: a lightweight Docker dashboard that auto‑discovers your Traefik‑routed services and shows them in a clean web interface. No setup beyond adding a container. No extra dependencies. Just point, click (or ctrl+click), and go.
What It Does
Dockpeek is a single‑container app that connects to your Docker socket, reads labels from running containers, and builds a live dashboard. It highlights services that are Traefik‑enabled, shows their hostnames / paths, container status, and even checks health endpoints. The UI is minimal — a dark table with sortable columns and live updates.
Under the hood, it uses:
- Go for the backend (fast, small binary)
- HTMX + Tailwind CSS for the frontend (no JS framework, just server‑driven interactivity)
- Docker SDK to watch container events in real‑time
It doesn’t need a database, doesn’t require you to modify docker‑compose files, and it respects your existing Traefik labels.
Why It’s Cool
-
Auto‑discovers Traefik URLs
If you’ve already settraefik.http.routers.myapp.rule=Host(\myapp.localhost`)`, Dockpeek picks it up and makes that URL clickable. No manual inventory. -
Zero‑configuration
Mount the Docker socket, set a port, run it. That’s it. The dashboard immediately populates with your running containers. -
Real‑time updates
When you start or stop a container, the UI updates without a page reload. You see new services appear as Traefik adds routes. -
Resource‑light
The binary is < 10 MB, uses negligible CPU/RAM. Perfect for a Raspberry Pi or a low‑end VPS. -
Health checks built‑in
If a container has a healthcheck or exposes a/healthendpoint, Dockpeek shows status. Quickly spot broken services without SSH‑ing.
How to Try It
Run it with Docker (example from the repo):
docker run -d \
--name dockpeek \
-p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/dockpeek/dockpeek:latest
Then open http://localhost:8080. That’s the whole setup.
If you’re using docker-compose, here’s a snippet:
version: '3'
services:
dockpeek:
image: ghcr.io/dockpeek/dockpeek:latest
ports:
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
The tool works with any Docker host (local, cloud VM, Synology NAS) as long as the socket is accessible.
Final Thoughts
Dockpeek isn’t trying to replace Portainer, Uptime Kuma, or a full APM tool. It’s more like a quick‑look snack — open it when you want to see what’s running, remember URLs, or check if something crashed. For developers who run a dozen containers behind Traefik (especially at home or in small teams), it fills a gap nicely.
The code is open source (MIT), written in Go, and the README is refreshingly clear. If you’re already using Traefik, give it a spin. It’s a five‑minute experiment that might become one of those “why didn’t I think of this” tools you reach for daily.
Follow us at @githubprojects for more dev‑focused tools and projects.
Repository: https://github.com/dockpeek/dockpeek