Docs menu Retired systems

Homelab Dashboard

The dashboard application I built myself and ran on docker-main, until its container stopped and I retired it on 2026-09-26. Homarr replaced it the next day.

Updated Source in the repo

Homelab Dashboard was my own dashboard application. I kept its source in my Forgejo instance and published it as a container image, and it ran on docker-main. I retired it on 2026-09-26, and on 2026-09-27 Homarr replaced it at the same internal name. Its data and integrations were not migrated.

ItemValue
Hostdocker-main (CT 110 on grey-server)
Containerhomelab-dashboard, from my own published image on its latest tag, which tracked the newest release
NetworkingHost networking, so it saw real syslog source addresses and could reach the LAN directly
DataSQLite under the project’s data directory, with an environment file and application key beside it
IntegrationsConfigured from a setup wizard in the interface or from the .env; an optional SSH key for GPU and sensor stats
ProxmoxIts own read-only Proxmox account and API token, and a firewall rule for its API traffic
AccessAn internal HTTPS name through Nginx Proxy Manager
DeployedNot recorded; it was in the service inventory by 2026-07-27
Retired2026-09-26

The archived Compose file is all that’s left of the deployment. The image tag could be pinned to a release, or to a short commit hash to run an unreleased build from main, and the file says so in its comments.

Why it went

The container exited with code 137 early on 2026-09-22. From then on its blackbox probe read probe_success 0, and Grafana’s Internal service is unreachable alert was firing for its HTTPS name. When I came to it four days later, I removed the service rather than repair it. I never established why it stopped in the first place.

Retirement, 2026-09-26

AreaChange and result
docker-mainRemoved the stack through Dockhand’s authenticated API, with its stack file, then deleted the project directory, environment file, application key and SQLite data
DockerRemoved its unused network and both image tags; its port closed, and none of the 14 remaining running containers was unhealthy
MaintenanceTook the project out of the fleet-update inventory and validator in the repo and on ansible-01; both validators passed with 19 Compose projects
ProxyDeleted its proxy host through the API; nginx -t passed and the shared certificate stayed in use
UniFiDeleted its DNS record, removed its port from the shared rule that lets the proxy reach docker-main, and deleted the rule that admitted its Proxmox API traffic
ProxmoxConfirmed the monitoring exporter uses its own token, then deleted the dashboard’s token and its read-only account; no dashboard user or ACL remained
PrometheusRemoved only its blackbox target, checked with promtool and reloaded; removed it from the uptime generator and deployed the regenerated dashboard

Deleting the Proxmox token first briefly reported an invalid token ACL, and deleting the account removed it, leaving zero dashboard ACLs.

Archiving the source took a detour. Forgejo’s API returned 403 to my reads, the standard login redirected to a password-change page, and a temporary token scoped to repository writes got 403 as well. I deleted that token and confirmed none remained, then set only the repository’s is_archived flag directly in a guarded SQLite transaction and read back is_archived=1. I changed no account password. The Git repository stays on disk as the source archive.

The final checks found no Grafana alert instance for the old name and no trace of it in the uptime dashboard, all 56 Prometheus targets up with no failing probe, and every one of the 23 remaining HTTPS names answering with valid TLS and its expected status. The regenerated uptime dashboard passed its layout check and all 112 of its queries returned data.

The replacement

Homarr 1.77.2 arrived on 2026-09-27 at the same internal name, as a fresh deployment rather than a migration. The other services page covers it.

Written from the public Homelab repository on GitHub, which records the lab's changes, incidents and current state.