Skip to main content
Health monitoring across three layers: is the container running, is the app internally functional, and is it reachable externally.

Tools

  • Homepage — dashboard with container status (server/container), internal site monitors (siteMonitor), and API widgets
  • Uptime Kuma — external HTTP checks against public URLs, with alerting

Coverage Matrix

Each service is checked at up to three levels:
ServiceContainer RunningInternal FunctionalityExternal Reachability
Traefik✅ Homepage✅ Homepage API + widget✅ Kuma (accepts 401)
Cloudflared✅ Homepage⚠️ Homepage widget calls Cloudflare API (external)
Gluetun✅ Homepage widget (API key, real VPN status)⚠️ Kuma (control server only, accepts 401)
Pocket-ID✅ Homepage✅ Docker healthcheck✅ Kuma
Chromium✅ Homepage❌ Port check only✅ Kuma
Uptime Kuma✅ Homepage✅ Docker healthcheck✅ Kuma
Synapse✅ Homepage✅ Docker healthcheck✅ Kuma (accepts 401/403)
Element✅ Homepage✅ Docker healthcheck✅ Kuma
Stalwart✅ Homepage✅ Homepage JMAP widget (real query)✅ Kuma
Twake✅ Homepage❌ Port check only✅ Kuma
Draw✅ Homepage❌ Port check only✅ Kuma
OpenClaw✅ Homepage✅ Docker healthcheck + /healthz✅ Kuma (/healthz)
Docs (Mintlify)N/A (external)N/A⚠️ Homepage siteMonitor only
Miniflux✅ Homepage✅ Docker healthcheck✅ Kuma
Nextflux✅ Homepage❌ Port check only✅ Kuma
Yamtrack✅ Homepage✅ Docker healthcheck✅ Kuma
Seerr— (Pentium)✅ Docker healthcheck + widget✅ Kuma
Jellyfin— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
Audiobookshelf— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
Calibre Web— (Pentium)✅ Docker healthcheck✅ Kuma
Sonarr— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
Radarr— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
qBittorrent— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
Prowlarr— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
Bazarr— (Pentium)⚠️ Widget makes API calls but no healthcheck✅ Kuma
Chaptarr— (Pentium)❌ Port check only✅ Kuma (/ping)
RSSHub— (not on Homepage)❌ No healthcheck✅ Kuma
HomepageN/A✅ Docker healthcheck✅ Kuma
Pentium services show ”—” for container running because Homepage can’t reach Pentium’s Docker socket.

Gaps

Internal functionality is the weakest layer. Many containers have no Docker healthcheck — Homepage’s siteMonitor only confirms the port is open. Services with real internal checks: Stalwart (JMAP query), OpenClaw (/healthz), Miniflux, Synapse, Pocket-ID, Yamtrack, Element, Seerr, Calibre Web (all Docker healthchecks). Cloudflared has no external monitor. If the tunnel goes down, every public-URL Kuma monitor fails — so it’s implicitly covered but not explicitly tracked. Gluetun Kuma monitor only confirms the control server responds, not that the VPN tunnel is connected. Homepage’s widget with the API key gets the real status. Cheapest improvement: Add Docker healthchecks to containers that lack them. That gives internal functionality coverage without any external tooling changes.