comparing open source
An Uptime Kuma alternative you run as code
Uptimepage is open source and does two jobs well: uptime monitoring and a public status page. Manage all of it as code, give your team roles, and let customers subscribe to status updates. Run the single binary yourself or use the free hosted tier. No card.
The table below is the whole comparison, unedited. Read it first if you like, it is the same one we would send you.
AGPL-3.0 · one binary · free tier · no card required
How they compare
| Uptimepage | Uptime Kuma | |
|---|---|---|
| fastest check interval | 60s hosted · 10s self | 1s |
| check types | HTTP · TCP · DNS · TLS · domain · ping · heartbeat · flow | 31 types |
| ping / ICMP | yes | yes |
| push / heartbeat monitor | yes | yes |
| TLS + domain expiry | yes | yes |
| branded status page | yes | basic |
| status-page subscribers | email + webhook | RSS only |
| auto incidents from checks | yes | manual |
| multi-region probes | yes | add-on |
| alert channels | 14 native | 94 |
| config-as-code | Terraform · REST · MCP | socket API |
| teams / RBAC | orgs + roles | single user |
| how you run it | hosted or self-host | 1 container |
| license | AGPL-3.0 | MIT |
Uptime Kuma is single-user with one shared login and is driven over an internal socket API rather than a REST or Terraform surface; its status pages offer an RSS feed, not email or webhook subscribers.
Its 94 integrations include the Apprise meta-provider and many SMS gateways; Uptimepage's 14 are native. Kuma's 2.x line checks as often as every second, faster than Uptimepage's floor.
Verified against Uptime Kuma 2.4.0 source in July 2026. Open-source projects move quickly, so check the current source before you decide.
Everything as code
An official Terraform provider and a full REST API cover monitors, status pages and alert channels, and an MCP server lets an LLM client read your monitoring and act only with your approval, every write audited. Declare your monitoring in a repo and review changes in a pull request.
Status pages your customers subscribe to
Branded public pages on your own domain, with automatic incident detection, operator narration and maintenance windows. Visitors opt in with confirmed email or webhook and get notified on every change, with signed payloads they can verify.
Built for teams
Organizations with roles and invitations, isolated per tenant end to end. Run one instance for the whole team, or for every client, without sharing a single login.
Probes you own
Run regional probe agents on your own servers, wherever your users are, and Uptimepage folds their results into each monitor's health per region. Point the provider at the hosted tier or your own server; the config stays the same.
Declare a monitor in Terraform
resource "uptimepage_target" "api" {
name = "api prod"
interval = 60
check = {
type = "http"
http = {
url = "https://example.com/healthz"
expected_status = {
kind = "exact"
exact = 200
}
}
}
}
Where Uptimepage fits
The parts a homelab never needs and a team always does: an account per teammate with roles, a status page customers can subscribe to, probes in several regions plus any you run yourself, and every monitor declarable through a Terraform provider, a REST API and an MCP server. Checks cover HTTP, TCP, DNS, TLS, domain expiry, ping, heartbeat and browser flows, and a failing one opens its own incident. Still one binary, hosted free with no card or self-hosted under AGPL.
- 01Sign in with GitHub or Google. No card, no sales call.
- 02Paste a URL. The first check runs before you have finished reading this.
- 03Publish the status page, or export it to Terraform and keep it in Git.
api99.98%
p95 142ms · one incident in 45 days
dashboard99.91%
p95 318ms · two degraded days
webhooks99.99%
p95 88ms · no incidents
RESOLVED14 min
Elevated latency on the dashboard API
14:22 resolved, latency back under 300ms
14:08 opened automatically by the dashboard check
up degraded down 45 days · email & webhook subscribers