DevOps

Uptime Kuma

A self-hosted uptime monitor with a public status page, running from a single container.

91.2k stars MIT JavaScript
4.8 / 5 Editor score

What it is

Uptime Kuma watches the services you run and tells you — and your users — when something goes down. It polls each target on an interval you set, keeps the response history, and flips a monitor to down the moment the check fails enough times in a row.

It covers HTTP, TCP ports, ping, DNS records, keyword matching on a page body, and push monitors where your own job reports in on a schedule. When something breaks it can alert through more than ninety channels, from email and Telegram to Slack, ntfy, PagerDuty and plain webhooks.

The other half of the tool is the status page: a public, branded page that shows which services are up and the incident history behind them. That combination — private monitoring plus a customer-facing page — is normally two paid products.

Why we recommend it

It replaces two subscriptions at once

Most hosted monitors charge separately for checks and for the public status page. Uptime Kuma bundles both, and the only recurring cost is the server you already rent. At a few dollars a month per service elsewhere, that pays for itself quickly.

The interface is built for people, not for SREs

Adding a monitor is a form: name, URL, interval, notification channel. There is no config file to learn and no query language. If you can use a web dashboard, you can run this.

Alert routing is granular

Each monitor notifies a specific set of channels rather than blasting everything everywhere. A database blip can page you while a marketing site outage only posts to a chat room, which keeps alerts meaningful.

The data stays yours

Response times, incident notes and subscriber email addresses live in a local SQLite or Postgres database. Nothing about your infrastructure uptime is handed to a third party.

How it scores

Ease of setup 5.0
Documentation 4.5
Community & support 5.0
Performance 4.5
Maintenance & activity 5.0

These are our editorial ratings, not benchmark results. We score on how the project behaves in practice — how long it takes to get running, how good the documentation is, how responsive the maintainers are, and how well it holds up over time. The licence and star count above are read from GitHub and are a snapshot.

Pros and cons

Strengths

  • A broad spread of monitor types — HTTP, TCP, ping, DNS, keyword and push
  • Public status pages with custom domains and incident history
  • Over ninety notification integrations, including plain webhooks
  • Single container to run, with a one-click update button in the UI
  • MIT licensed, so no restrictions on commercial use

Trade-offs

  • Monitors run from wherever you host it — a network problem on that box makes everything look down
  • Built as a single-instance tool, so there is no clustering if you need checks from several regions
  • Adding hundreds of monitors to one SQLite instance will eventually strain it; Postgres is the escape hatch

How to get it

Direct download

Clicking a button downloads the file straight from the project's release — you stay on this page.

One-line install

Prefer the terminal? Copy a command and you are done.

Docker docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

At a glance

CategoryDevOps
LicenceMIT
Written inJavaScript
GitHub stars91,203
Repositorylouislam/uptime-kuma

Licence and star count were read from the GitHub API when this page was generated and are a snapshot. Check the repository for the current figure and the authoritative licence text.

Other DevOps tools

We are not affiliated with Uptime Kuma or its maintainers. We list it because it is genuinely useful and genuinely free. If you plan to build a commercial product on top of it, read the licence on the repository first.

← Back to all tools