undownable

Uptime Kuma alternative (and the watcher for Kuma itself)

Updated Aug 19, 2026

Two very different people search for this. One is tired of maintaining the box that runs their monitoring and wants somebody else to host it. The other loves Uptime Kuma and has no intention of leaving, but has worked out the uncomfortable thing about self-hosted monitoring: when the power goes out, the monitor goes out with it. This page is honest about both.

What Uptime Kuma does well

Uptime Kuma is genuinely excellent software, and it is free in the way that matters: MIT licensed, self-hosted, no account, no seat count, no upsell. If you already run Docker somewhere, you can have it monitoring your whole stack in about five minutes, and nobody can ever raise your price or deprecate your tier.

None of that is faint praise. If your monitoring needs are internal and you enjoy running your own infrastructure, Uptime Kuma is very hard to beat, and this page is not going to pretend otherwise.

The structural gap: Kuma cannot report its own outage

Here is the failure mode that no amount of Kuma configuration fixes. Your monitoring instance runs on the same server, in the same rack, behind the same router and the same internet connection as some or all of the things it watches. When that shared layer fails, Kuma does not send you an alert saying the site is down. Kuma sends you nothing at all, because Kuma is down too.

Silence and health look identical from where you are sitting. That is the whole problem. A monitoring system that goes quiet during the exact event you bought it for is not reporting good news, it is reporting nothing, and you will not find out which until somebody tells you.

That last scenario, the reverse proxy case, is worth dwelling on. Kuma checking a service from inside your own network is not the same test your users run. It skips your public DNS, your certificate, your CDN, your firewall rules, and your ISP. A check that passes from the inside proves the process is alive. It does not prove anybody can reach it.

Angle one: replace Kuma with a hosted monitor

If the appeal of self-hosting has worn off, the swap is straightforward. Undownable runs the same check types you are using in Kuma, from outside your network, with nothing for you to patch, back up, or restart. The free plan covers ten monitors at five minute intervals with a status page and every alert channel, which is more than most Kuma installs are actually using. Pro is a flat price for the whole team, not per monitor and not per seat, which keeps the arithmetic simple as you grow.

You get HTTP and HTTPS checks, keyword matching, JSON API assertions with dot notation into the response body, TCP port checks, ping, DNS records, full SSL certificate validation, and push heartbeats. Alerts go to email, ntfy (including your own self-hosted ntfy server, with access tokens), Telegram, Slack, Discord, or a plain webhook. Every channel is on every plan, free included.

Angle two: keep Kuma, add an outside backstop

This is the setup we actually recommend, and it costs nothing to try. Keep Uptime Kuma exactly as it is. It stays your detailed internal view: every container, every internal port, every LAN-only thing that a hosted service can never see. Then add a small number of external checks that answer one question Kuma is not able to answer, which is whether the whole thing is still reachable and still alive.

You do not need to duplicate your entire Kuma monitor list. Three or four outside checks is usually the right number, and they fit comfortably in the free plan:

The heartbeat recipe: make Kuma prove it is alive

A push heartbeat inverts the logic. Instead of something checking your Kuma box, your Kuma box calls out on a schedule, and the alert fires when the calls stop. Because the call has to cross your router and your ISP to arrive, a missing heartbeat catches a dead container, a dead host, a dead network, and a dead building, all with one monitor.

Create a heartbeat monitor in Undownable, set the expected interval, and you get a private URL. Then have the Kuma host hit it from cron:

*/5 * * * * curl -fsS --max-time 10 https://undownable.com/ping/your-monitor-id > /dev/null

Better still, make the ping conditional on Kuma actually being healthy rather than just on cron still running. Ask Kuma for its own status first, and only forward the heartbeat if it answers:

*/5 * * * * curl -fsS --max-time 10 http://localhost:3001/ >/dev/null && curl -fsS --max-time 10 https://undownable.com/ping/your-monitor-id >/dev/null

Now the heartbeat means something specific: the machine is powered, the network is up, the route to the outside world works, and Kuma itself is answering. If any link in that chain breaks, the pings stop and you get paged by something that is not on your network. Kuma can also drive this itself with an HTTP notification pointed at the same URL, if you would rather configure it in the UI than in cron.

Side by side

Uptime Kuma Undownable
Pricing model Free software, you pay in hosting and time Free tier, then one flat price per team
Check interval As fast as your hardware allows 5 minutes on Free, 1 minute on Pro
Monitor count Unlimited 10 on Free, 50 on Pro
Status pages Built in, self-hosted (and down when you are) 1 on Free, unlimited on Pro, custom domains on Pro
Alert channels Dozens of integrations Email, ntfy, Telegram, Slack, Discord, webhooks, all plans
Team members Unlimited, single-instance user model Unlimited on Pro, no per-seat charge
API and automation Community API clients, no official REST API Versioned REST API plus a first-party MCP server
External backstop fit Cannot report its own outage by design Runs off your network, which is the entire point

Where Undownable differs

The vantage point is the headline difference, but a few others matter day to day.

Who should stick with Uptime Kuma

Plenty of people, and we would rather say so than pretend otherwise.

In every one of those cases the recommendation is the same: keep Kuma as your primary, and put one free heartbeat on it so its silence is not mistaken for good health.

Can Uptime Kuma monitor itself?

Not usefully. Kuma can watch its own container or run a self-check, but if the host, the network, or the power fails, Kuma stops running and stops alerting at the same moment. The absence of alerts is indistinguishable from everything being fine, which is why an external watcher is the only reliable answer.

Is Undownable a drop-in replacement for Uptime Kuma?

For anything on the public internet, largely yes: HTTP, keyword, JSON API, TCP, ping, DNS, SSL, and push heartbeat checks, plus status pages and alerts. For monitors that only resolve on your private network, no hosted service can replace Kuma, so the honest answer is to run both.

How do I get Uptime Kuma to ping an external heartbeat?

Create a heartbeat monitor to get a private ping URL, then either add a cron entry on the Kuma host that curls it on a schedule, or configure an HTTP notification inside Kuma pointed at the same URL. Gating the curl on a local Kuma health check makes the heartbeat prove Kuma is actually answering, not just that cron survived.

How many external monitors do I actually need alongside Kuma?

Usually three or four: a heartbeat on the Kuma host, an HTTP check on your public entry point, an SSL check on that hostname, and whichever single service costs you the most when it is down. That fits inside the free plan with room to spare.

Does running both mean I get paged twice for the same outage?

For an outage that both can see, yes, and that is generally what you want from a backstop. In practice you point the two at different things: Kuma covers depth on the inside, the external checks cover the handful of public surfaces plus the heartbeat, so overlap is small.

Is Uptime Kuma free forever?

Yes. It is MIT licensed open source with no paid tier and no vendor to change the terms. The cost is the server it runs on and the time you spend keeping it patched, backed up, and alive.

Related reading

Monitoring that watches from the outside

Free plan with 10 monitors, plus a 14-day Pro trial. No credit card required.

Start free