DashMachine
Application dashboard for keeping services organized
DashMachine is a self-hosted application dashboard for organizing and accessing your services. It supports widgets, platform integrations, and themes to build a personalized homelab landing page.
Key features
- Application tiles and widgets
- Platform integrations
- Theming support
- Search functionality
Pros & cons
Strengths
- Flexible widget system
- Simple deployment
Trade-offs
- Development has slowed
- Smaller community
DashMachine replaces
Last reviewed Sep 13, 2026 · 813 words
DashMachine development has slowed to the point where I would not start a new homelab on it. That is the honest first sentence, and the catalogue's "development has slowed" con is as accurate today as when it was written. The second sentence matters too: it still works, its config.ini model is the simplest of any dashboard I have run, and the 1,265 people who starred it include a fair number who have never found a reason to leave. This guide is for two readers, the one deciding whether to install it and the one deciding whether to stay.
The config.ini is the whole product
DashMachine is a Flask app, 128 MB of RAM, one container, one volume. Everything visible on the page comes from a single config.ini in the user_data directory, and editing it in the built-in editor or on disk redraws the dashboard. Each section is an app:
[Jellyfin]
prefix = https://
url = jellyfin.home.lan
icon = static/images/apps/jellyfin.png
description = Media
open_in = this_tab
tags = Media
Tags become filter buttons at the top. Collections group tiles. A [Settings] section sets the theme, the background, and a search bar that can be pointed at DuckDuckGo or your own SearXNG. There is no database and no API; a backup is a copy of one directory. For someone who wants 20 links on a page with icons, and who would rather edit a text file than click through a settings UI, this is the appeal, and it has not aged.
Platforms and widgets still do their job
The "platform" system is DashMachine's word for integrations. A tile can run a ping platform that greys out when the host is down, a docker platform that shows container state, or one of the app-specific ones for Sonarr, Radarr, Transmission, Plex and a handful of others that pull a number or a status into the tile. Each is a small Python file in the container, and the ones I have used in the last year still return data, because the APIs they call have not changed much either.
What you will not get is anything the maintainer did not write before activity slowed: no widget for newer services, no Kubernetes awareness, no live bandwidth graphs. Access groups, which restrict tiles per login, exist and work for a shared family dashboard.
Why people keep it
Three reasons, all reasonable. It is Unlicense, so it is public domain and nobody can relicense it out from under you. It has no moving parts to break on update, because there are no updates. And its look is distinctive: big square tiles, a tag bar, and a search box, without the widget-heavy density that Homepage and Homarr default to. If your dashboard is a launcher and nothing else, an unmaintained launcher that renders links is not a risk in the way an unmaintained reverse proxy would be.
The one real risk is the base image. A Python and Flask stack that no longer gets rebuilt accumulates known vulnerabilities in its dependencies. Keep DashMachine on the LAN or behind an authenticating proxy, never exposed on its own.
Migrating to Homepage takes an afternoon
The dashboard category has moved on, and the move is not painful. Homepage uses YAML files rather than an ini, with the same idea: a services.yaml listing groups and links, and a wide widget library that covers everything DashMachine's platforms did plus a few hundred more. Dashy is the closest in spirit if you like a single config file with a built-in editor, and Heimdall is the choice if you want even less configuration than DashMachine. Converting a config.ini of 30 apps into services.yaml is an hour of copying URLs and icon names. The icons are the pleasant surprise: Homepage pulls from the same community icon set, so jellyfin resolves without you uploading anything.
Running it today
If you do install it, use the rmountjoy/dashmachine image, mount a volume at /dashmachine/user_data, map port 5000, and log in with the default admin and admin credentials, which you change immediately. Put it behind your reverse proxy with TLS. Set the search bar, add your tiles, and turn on the ping platform for anything you care about seeing go red. That is the entire lifecycle; there is no upgrade step to plan for.
What I'd do
New dashboard, start on Homepage; it has the momentum, the widgets, and a maintainer who ships. Already on DashMachine and happy, keep it on the LAN and keep it, because a text-file launcher does not need a roadmap. The moment you want a widget it does not have, spend the afternoon on the migration rather than waiting for a release that the pace of the project says is not coming.
Compare DashMachine
7 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