Skip to main content

Uptime Kuma: a self-hosted status and uptime monitor

What Uptime Kuma is, what it is known for, and why it is the easiest self-hosted way to watch your sites and get alerted when they go down.

Uptime Kuma is a self-hosted uptime monitor with a public status page. It pings your sites and services on a schedule, alerts you when they fail, and shows a clean "all systems operational" page you can share.

What it is

A single, self-contained web app (Node.js) that monitors everything from HTTP endpoints and TCP ports to DNS records, ping, and keyword presence in a page. It is the self-hosted, friendlier cousin of hosted tools like UptimeRobot or Better Stack.

What it does

  • Checks HTTP(s) URLs, TCP ports, ping, DNS, and more, on a schedule you set.

  • Alerts through many channels — email, Slack, Discord, Telegram, webhooks, and dozens more.

  • Serves a public status page you can brand and share with customers.

  • Tracks history with uptime percentages and response-time graphs per monitor.

  • Supports groups, maintenance windows and notifications, so a planned change does not fire a false alarm.

What it is known for

  • Being easy. It is famously the "install it in five minutes and it just works" uptime monitor — a big reason it is one of the most-deployed self-hosted apps.

  • Beautiful status pages out of the box, with no extra service.

  • Tiny footprint — it runs happily in a few hundred MB of RAM.

Why use it

  • Know before your customers do. The point of monitoring is to find out from the tool, not from an angry email.

  • A public status page builds trust — visitors see you are watching, and see the current state.

  • No per-monitor pricing — hosted monitors charge per check/monitor; self-hosted is a flat cost.

  • Full control of alert routing — send alerts wherever your team actually looks.

Where and how

A 1–2 vCPU, 1 GB VPS is plenty; it is one of the lightest useful services you can host. Deploy the official Docker image with a persistent volume for its SQLite database, put it behind TLS, and set the admin password immediately. Important: run your monitor somewhere other than the server it watches — a monitor that goes down with the thing it monitors tells you nothing. Point it at your sites, wire up an alert channel, and enable the status page. See /app-hosting/uptime-kuma and Uptime monitoring setup.