comparing self-hosted
Uptimepage vs the self-hosted monitoring tools
The modern self-hosted crowd, compared honestly. Uptime Kuma and Gatus check the most protocols and run the lightest; OpenStatus and OneUptime match Uptimepage on config-as-code and multi-region; Kener has the prettiest status page. Uptimepage sits where monitoring, a real subscriber status page and Terraform, REST and MCP meet in one binary. Start free on the hosted tier or self-host under AGPL, no card.
what you get
- Built-in checks HTTP, TCP, DNS, TLS, ping, domain
- Check interval every 60s
- Status page branded, subscribers
- Probes multi-region, run your own
- As code Terraform + REST + MCP
- Run it one binary, hosted or AGPL
how they compare
| Uptimepage | Uptime Kuma | OpenStatus | OneUptime | Gatus | Kener | |
|---|---|---|---|---|---|---|
| fastest check interval | 10s | 1s | 30s | 60s | seconds | 60s |
| check breadth | HTTP·TCP·DNS·TLS·ping | 40+ types | HTTP·TCP·DNS | 25+ types | 11 protocols | 9 types |
| ping / ICMP | yes | yes | no | yes | yes | yes |
| TLS + domain expiry | yes | yes | stub | yes | yes | SSL only |
| push / heartbeat monitor | no | yes | no | yes | yes | yes |
| branded status page | yes | basic | yes | yes | dashboard | yes |
| status-page subscribers | email + webhook | RSS only | email + webhook | email·SMS·Slack | no | email + RSS |
| alert channels | 14 | ~95 | 13 | 9 | 41 | 4 |
| auto-incidents from checks | yes | no | yes | yes | no | yes |
| multi-region probes | yes | add-on | 28 regions | yes | no | no |
| config-as-code | Terraform · REST · MCP | socket API | Terraform · CLI | Terraform · CLI | YAML | REST API |
| MCP server | yes | no | yes | yes | no | no |
| teams / RBAC | orgs + roles | single user | workspaces | projects + SSO | basic auth | roles |
| tech stack | Rust | Node.js | TypeScript + Go | TypeScript | Go | SvelteKit |
| deploy footprint | 1 binary + 2 DBs | 1 container | multi-service | 6-14 services | 1 tiny binary | Node + Redis |
| license | AGPL-3.0 | MIT | AGPL-3.0 | Apache-2.0 | Apache-2.0 | MIT |
Fastest interval each tool can reach; hosted free tiers are usually slower. Uptimepage's self-hosted floor is 10s, and hosted plans run at 60s on the free founding plan (with 50 monitors) or 30s on Pro.
OpenStatus lists ICMP, UDP and SSL-certificate monitors in its config, but its open-source Go checker implements only HTTP, TCP and DNS.
Uptime Kuma has around forty monitor types and about ninety-five alert integrations, but it is single-user, is configured over a socket API rather than REST or Terraform, and its status pages offer RSS, not email or webhook subscribers.
Gatus is a health dashboard with badges rather than a subscriber status page, and its multi-region support is an experimental status-federation feature, not distributed probes.
Alert-channel counts mix first-class and niche providers: Uptime Kuma's total includes the Apprise meta-provider and dozens of SMS gateways, and Gatus's includes automation bridges like Zapier, IFTTT and n8n. Uptimepage's fourteen are native integrations.
Facts verified against each project's source in July 2026 (Uptime Kuma 2.4.0, OpenStatus, OneUptime 11.0.12, Gatus 5.36.0, Kener 4.1.1). Open-source projects move quickly, so check their current source before you decide.
Uptime Kuma: the broadest checks, the lightest footprint
Uptime Kuma is the community favourite for good reason: around forty monitor types (databases, gRPC, MQTT, SNMP, Steam, real-browser, push heartbeats), roughly ninety-five alert integrations, 20-second intervals, and a single container to run. Where it stops is the team and status-page side. It is single-user with no roles, it is driven entirely over a socket API with no REST or Terraform, its status pages take an RSS feed rather than email or webhook subscribers, and incidents are posted by hand, not opened from a failing check. Uptimepage trades some of that protocol breadth for a subscriber status page, organizations with roles, auto-opened incidents and config-as-code.
OpenStatus and OneUptime: the dev-first platforms
These are the closest to Uptimepage in philosophy. OpenStatus is monitoring-as-code done well: a Terraform provider, a CLI, an MCP server, auto-resolving incidents, email and webhook subscribers, and probes across twenty-eight regions with sub-minute checks. Its trade-offs are a heavier stack (Turso plus Tinybird plus hosted queues) and an open-source checker that implements only HTTP, TCP and DNS, with ICMP, UDP and SSL-certificate monitors declared in config but not built. OneUptime does everything Uptimepage does and then keeps going into on-call scheduling, escalation, logs, tracing and APM, but that reach costs you a Postgres, ClickHouse, Redis and many-service deployment to operate. Uptimepage aims at the same developer surface, Terraform, REST and MCP, but as one binary you can actually run. It matches those sub-minute checks too: 30 seconds on Pro and 10 seconds self-hosted, while the free founding plan already carries fifty monitors at sixty seconds.
Gatus: the protocol-rich checker
Gatus is a joy if you want declarative checks in version control. Eleven endpoint protocols including gRPC, SSH, WebSocket, STARTTLS and UDP, a rich condition language with JSONPath body assertions and certificate-expiry checks, multi-step suites, and a tiny static binary with an optional zero-database mode. What it is not is a status page. It ships a health dashboard with badges, not a branded page with subscribers, it has no incident timeline, and it is single-tenant behind one basic-auth or OIDC boundary. Uptimepage covers the everyday HTTP, TCP, DNS, TLS and ping checks and pairs them with the public status page, subscribers and multi-tenant teams Gatus leaves out.
Kener: the polished status page
Kener is the best-looking status page of the group: separate light and dark palettes, custom CSS and footer HTML, twenty-four locales, embeddable widgets, four badge styles and custom RBAC roles. It checks real services too, including gRPC, SQL and heartbeats. The gaps are on the monitoring platform side: no multi-region probing, four alert channels (email, webhook, Slack, Discord), email-and-RSS subscribers only, a single tenant, and a hard Redis dependency. Uptimepage gives up a little status-page theming for multi-region probes, more alert channels and config-as-code.
Where Uptimepage fits
Uptimepage is not the very fastest interval or the widest protocol list here, and it is honest about that. What it does is put the two halves together: real HTTP, TCP, DNS, TLS-certificate, ping and domain-expiry monitoring, and a branded public status page with confirmed email and webhook subscribers, auto-opened incidents and scheduled maintenance. All of it is driven from code with a Terraform provider, a full REST API and an MCP server, isolated per organization with roles, and checked from probes you can run in any region. It runs as one binary with Postgres and ClickHouse, hosted for free or self-hosted under AGPL.