dashdot
Simple, modern server resource dashboard
dashdot is a simple, modern server dashboard that displays live system resource usage like CPU, memory, storage, and network. It targets users wanting a clean overview of one machine. It is deployed via Docker.
Key features
- Live CPU, RAM and storage graphs
- Clean modern interface
- Network and OS info
- Single-container deploy
Pros & cons
Strengths
- Attractive design
- Lightweight
- Zero config
Trade-offs
- Single host only
- Resource view, not app launcher
dashdot replaces
Last reviewed Sep 13, 2026 · 820 words
dashdot is a beautifully rendered speedometer for one machine: CPU load and temperature, RAM, each disk's usage, network throughput, a speed test, and a card with the OS and uptime, refreshed live and laid out like something a designer made. It stores nothing, alerts on nothing, and knows about exactly one host. That is a deliberate scope and the reason it runs in 128 MB with zero configuration. If you want a screen on the wall or a tab that tells you at a glance whether the box is busy, it is the best-looking option available. If you want to know what happened at 03:00, it cannot tell you, and you should read the last two sections first.
The mounts are the whole install
dashdot reads host statistics from inside a container, which only works if it can see the host. The project's recommended Compose gives it that view read-only:
services:
dashdot:
image: mauricenino/dashdot:latest
ports:
- "3001:3001"
privileged: true
volumes:
- /:/mnt/host:ro
restart: unless-stopped
privileged: true is what most people balk at, and the alternative is a longer list of specific mounts (/etc/os-release, /proc, /sys and the block devices) that the documentation spells out for the cautious. The root bind mount is what lets the storage widget show your actual disks rather than the container's overlay filesystem. Without either, dashdot starts fine and cheerfully reports on a container, which is the usual reason the first screenshot people post shows a 40 GB disk on a 4 TB server. Port 3001 is the default; put it behind your reverse proxy like everything else, and note there is no authentication built in, so do not expose it to the internet raw.
The environment variables are the only configuration
Everything else is a DASHDOT_ variable. DASHDOT_ENABLE_CPU_TEMPS=true turns on the temperature graph, which needs the sensors readable from inside the container and is another thing privileged mode provides. DASHDOT_WIDGET_LIST=os,cpu,storage,ram,network orders and trims the widgets. DASHDOT_FS_DEVICE_FILTER hides the Docker overlay and snap loop mounts that otherwise clutter the storage card. DASHDOT_SPEED_TEST_INTERVAL controls how often it runs a bandwidth test, which I set to a few hours on a metered connection because the test genuinely downloads and uploads data. A GPU widget exists for Nvidia cards if you pass the runtime through, and DASHDOT_SHOW_HOST overrides the displayed hostname for the wall-screen case. That is the entire tuning surface, and for what the tool is, it is enough.
It is not a launcher and it is not a monitor
The listed alternative, Heimdall, is a different category of tool: an application launcher with icons for your services. dashdot has no links, no bookmarks and no service status. The way the two usually meet is through Homepage or Homarr, launchers that can embed live resource widgets or an iframe tile; dashdot's role there is as the pretty tile, or you skip it and let the launcher's own widget do the job.
On the monitoring side, dashdot keeps no history and sends no alerts. Netdata gives you per-second history, hundreds of metrics and alerting for about 200 MB more RAM. Beszel is the newer lightweight choice that watches several hosts from one panel with weeks of history and per-container Docker stats, and it is the tool I would point most homelabbers at if they showed me dashdot and asked about their other three machines. Glances is the terminal-native equivalent with a web mode. dashdot is not competing with any of them; it competes with the blank screen.
Where it genuinely wins
Three cases. A dedicated display, an old tablet or a small monitor on the rack, where the design and the large live graphs read from across the room. A single-server setup where the operator is you, you check it a few times a day, and a full metrics stack is more infrastructure than the server itself. And a public-facing status page for a community box, where "the server is fine, here is the load" is all you want to show; add authentication at the proxy or accept that load and disk sizes are public. In all three it does something Grafana never will: it looks good with no work.
What I'd do
Run dashdot with the root mount and privileged mode on the one machine you look at most, filter the overlay mounts, drop the speed-test interval to 6 hours, and embed it in Homepage as the top tile. Then, for the actual question of what is happening on your servers over time, run Beszel alongside it; the two together cost under 300 MB and cover both the glance and the graph. Do not try to make dashdot into the graph. That is the mistake its scope is protecting you from.
Compare dashdot
11 head-to-head comparisons.
Similar dashboards & startpages apps
Portainer CE
Dashboards & StartpagesLightweight management UI for Docker and Kubernetes
Replaces Rancher, Docker Desktop
CasaOS
Dashboards & StartpagesSimple, easy-to-use home cloud system and dashboard
Replaces Google homepage
Glance
Dashboards & StartpagesSelf-hosted feeds and info dashboard
Replaces Heimdall
Web Check
Dashboards & StartpagesAll-in-one OSINT tool for analysing any website
Homepage
Dashboards & StartpagesFast, file-configured application dashboard
Replaces Heimdall
Dashy
Dashboards & StartpagesFeature-rich personal dashboard for self-hosters
Replaces Heimdall