What it is
gethomepage is a YAML-configured dashboard for self-hosted services. Tiles with icons, live widgets that pull metrics from each service's API, a few utility widgets up top (datetime, system resources, search). It's the internal start page my browser opens to.
Why I run it
Without an internal dashboard I'd have a Notion page or a bookmark folder, and I'd never look at it. With Homepage as my browser start page, it's the natural starting point for everything I do in the homelab. Click a tile to land in the service; glance at the widget on the tile to know if something needs attention.
The widget API integrations are the actual value, not the icons. Uptime Kuma's status page, PBS datastore usage, Plex active streams, AdGuard query counts, Proxmox VM/CT counts — all surfaced as small live numbers on the tiles. The dashboard answers "is anything obviously wrong right now" in two seconds.
How I use it
Sections are ordered operations-first, not alphabetically. What might be broken goes near the top:
- Infrastructure — Home Assistant, Portainer, Grafana, Proxmox. The "is the cluster healthy" row.
- Hosts & Services — quick links to second-node UIs, the router, the LLM machine.
- Network — Uptime Kuma + two AdGuards + NPM.
- Backups — PBS gets a full-width row because its widget has four stat blocks.
- Security & Access — Vaultwarden, Tailscale, icon-only (no widgets).
- Personal Cloud, Media, Media Tools, Sandbox — the day-to-day apps.
A few widgets aren't enabled deliberately. Vaultwarden's widget requires the master password, which is an unacceptable secret to put into a compose env var even on a homelab. Stirling PDF doesn't have an upstream widget. Nextcloud needs a user-driven app-password setup I haven't done.