mk-dashboard

One page for the Docker host under your desk.

Runs today.

mk-dashboard in the dark theme: CPU, memory, load, disk and network tiles, a live chart, disks and sensors, and a card per compose stack with its containers
A pretend homelab, from tools/demo in the repository

One container, all of it.

Live CPU and memory with a month of history behind the picker, the health check and what it last said, ports, mounts, networks. Logs, processes, events and the environment are a tab away.

The gitea container: resource tiles, a live chart, the health-check history and its configuration

Is it up, and until when.

HTTP, TCP and TLS checks for your apps, other machines and the outside world, with latency and the days left on each certificate. What stays down becomes an alert on your phone.

The Network page: eight checks with state, latency and certificate expiry, one of them down with a timeout

The SQLite files your apps keep.

Found under the stacks, matched to the container that owns them. Tables, rows and schema, one read-only query, an integrity check, snapshots, and a restore that stops the container first.

A SQLite database open on its Tables tab: four tables on the left, the rows of one on the right, with CSV and JSON export

Did the backup run?

The newest file per app in your backups directory, stale after the hours you choose, and the tail of the log beside it.

The Backups page: four apps, each fresh, with the newest archive, its age and size, above the backup log

And the rest

Details

One container
docker run -d -p 8800:8800 -v /var/run/docker.sock:/var/run/docker.sock -v /proc:/host/proc:ro -v /sys:/host/sys:ro -v /:/host/root:ro -v mk-dashboard-data:/data -e DASH_DATA_DIR=/data ghcr.io/mkornas/mk-dashboard
The host mounts are read-only; the docker socket is what the actions use, and DASH_READONLY=true turns them off. Open to your LAN only until you set up a sign-in.
Runs on
A single Docker host. One container, no database.
Licence
AGPL-3.0, free and open source. A commercial licence is available for companies that cannot use the AGPL.
Source
github.com/mkornas/mk-dashboard