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:| Service | Container Running | Internal Functionality | External 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 |
| Homepage | N/A | ✅ Docker healthcheck | ✅ Kuma |
Gaps
Internal functionality is the weakest layer. Many containers have no Docker healthcheck — Homepage’ssiteMonitor 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.