open source
An open-source uptime monitor you run yourself
Uptimepage is an AGPL uptime monitor with incidents and a status page built in, written in Rust. Run the single static binary on your own servers, or start free on the hosted tier. HTTP, TCP, DNS, TLS, ping and cron-heartbeat checks from as many regions as you run.
open-source uptime monitors compared
| Uptimepage | Uptime Kuma | OpenStatus | Prometheus + Blackbox | |
|---|---|---|---|---|
| license | AGPL | MIT | AGPL | Apache 2.0 |
| built with | Rust | JavaScript / Node | TypeScript / Node | Go |
| what you run | binary + Postgres + ClickHouse | one container | ~6 Docker services | Prometheus + Alertmanager |
| customer status page | branded, subscribers | basic, no subscribers | yes | build it yourself |
| monitoring as code | Terraform · REST · MCP | no REST API for monitors | Terraform · REST · MCP | config files |
| multi-region probes | yes, agents you run | single instance | 28 regions on hosted | federate it yourself |
| teams and roles | orgs + roles | single shared login | yes | external SSO / proxy |
| auto incidents from checks | yes | basic | yes | via Alertmanager |
Uptime Kuma is MIT; OpenStatus and Uptimepage are AGPL-3.0; Prometheus and Blackbox exporter are Apache 2.0.
OpenStatus's 28-region checking is on its hosted tier; self-hosting runs several Docker services.
Verified July 2026 against each project's repository and docs.
written in rust
The whole product is one statically linked Rust binary. That means a small memory footprint, no runtime or interpreter to install, and probes fast enough to check every 60 seconds from many regions without a heavy host. Memory safety without a garbage collector is why teams keep rewriting their infrastructure in Rust, and it is what keeps the monitor predictable under load.
one binary, not a stack to babysit
That Rust binary needs only Postgres for config and ClickHouse for the time-series. docker compose up brings it up with migrations applied on boot. No Kubernetes, no queue, nothing else to operate.
for developers
Declare monitors, status pages and channels in Terraform and review changes in a pull request. A full REST API and an MCP server mirror the dashboard, authenticated with scoped, org-bound tokens you can narrow to a single job.
for devops and sre
Run regional probe agents on your own servers and fold their results into each monitor per region. Failing checks open incidents automatically and route to Slack, Telegram, PagerDuty or SMS, with dedupe and flap-suppression so a 60-second blip never pages at 3 a.m.
for the company
A branded public status page with confirmed email and webhook subscribers comes in the same binary, so customers see the truth without a second tool. Self-host to keep every check result, incident and subscriber inside your own environment.
open source, your way
The source is AGPL: read it, run it, modify it. Self-host on your own infrastructure, or start on the free hosted tier and keep the self-hosted exit. The API and Terraform provider are identical either way.
Run it yourself
git clone https://github.com/uptimepage/uptimepage
cd uptimepage
docker compose up -d