Skip to main content

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

  UptimepageUptime KumaOpenStatusPrometheus + Blackbox
license AGPLMITAGPLApache 2.0
built with RustJavaScript / NodeTypeScript / NodeGo
what you run binary + Postgres + ClickHouseone container~6 Docker servicesPrometheus + Alertmanager
customer status page branded, subscribersbasic, no subscribersyesbuild it yourself
monitoring as code Terraform · REST · MCPno REST API for monitorsTerraform · REST · MCPconfig files
multi-region probes yes, agents you runsingle instance28 regions on hostedfederate it yourself
teams and roles orgs + rolessingle shared loginyesexternal SSO / proxy
auto incidents from checks yesbasicyesvia 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

links

FAQ

Is Uptimepage really open source?
Yes. The source is AGPL, so you can read it, run it, and modify it. If you would rather not host it, the hosted tier is free with no card.
Can I self-host the uptime monitor?
Yes. Clone the repo and run `docker compose up`. That brings up the single binary with Postgres and ClickHouse and applies migrations on boot. No Kubernetes to operate.
What can it monitor?
HTTP, TCP, DNS, TLS-certificate and domain expiry, ICMP ping, cron-job heartbeats and scripted browser login flows, every 60 seconds from as many regions as you run.
Does it include a status page?
Yes. Incidents open automatically from failing checks and flow onto a branded public status page your customers can subscribe to, all from the same binary.
Is it free?
Self-hosting under AGPL is free. The hosted tier is also $0 a month if you prefer not to run it yourself.

Start in under 5 minutes.

Start free

features · pricing · notes