Uptime Kuma
| License | FOSS problems | Maintenance | SSO | Users | Tested |
|---|---|---|---|---|---|
| MITPermissive license. Preserve the copyright notice. Applies only to the covered code — your surrounding project can stay under any license. | — | Active | ❌ | Unlimited | ❌ |
Description
Uptime Kuma is a self-hosted uptime monitor: it pings a list of targets (HTTP(S), TCP, DNS, ping, and more) on an interval, records the history, and fires notifications through any of 90-odd services when one goes down. It also publishes public, customisable status pages built directly from those monitors.
Features
- Multi-protocol checks — HTTP(S), TCP, DNS, ping, and more, on a configurable interval.
- 90-odd notification integrations — fires alerts through whichever service is already in use, not a fixed list of a few options.
- Public status pages — customisable, built directly from the configured monitors, no login required to view.
Usage patterns
- External reachability, not internal health — the piece Beszel doesn't cover: Beszel watches the server's own vitals from the inside, while Uptime Kuma checks whether a service is actually reachable from the outside — the difference between "the box is healthy" and "the thing people depend on is up."
- Public status page for members — a no-login page showing what's up and what isn't, instead of everyone finding out about an outage by trying and failing.
License and governance
MIT — permissive, no restrictions on self-hosting or modification.
Conclusion
Why you would — the status page is the useful part for a union's members: a public, no-login page showing what's up and what isn't, instead of everyone finding out about an outage individually.
Why you wouldn't — it only knows what it can reach over the network — it won't tell you why something's down, just that it is, so it complements Beszel's server-level metrics rather than replacing them. It's also one more service to run and keep patched for what's fundamentally a small job; for a single-server setup, the honest alternative is doing without a public status page at all until there's actually an audience checking one.