Uptime Kuma: setup, limits and alternatives
Uptime Kuma is the most popular self-hosted uptime monitor. This guide covers what it does, how to run it, where self-hosting stops, and how it compares with the alternatives, our own hosted service among them.
What Uptime Kuma is
Uptime Kuma is a self-hosted monitoring tool under the MIT license. You run it on your own machine, your checks and history stay on that machine, and no plan tier decides what you may monitor. The project sits above ninety thousand stars on GitHub, which makes it the default answer when someone asks what to self-host for uptime checks.
Out of the box it checks HTTP and HTTPS (plain, keyword and JSON query), raw TCP, ping, DNS records, WebSocket connections, Steam game servers and Docker containers, and its push monitors catch things that report in rather than answer, like cron jobs. Alerts reach more than ninety notification services, from email and Slack to Telegram and webhooks, and it serves multiple status pages that can sit on their own domains.
Running it in one command
The Docker route is the whole quick start. A volume keeps your data across updates.
On any machine with Docker, this starts Uptime Kuma on port 3001 with its data in a named volume:
docker run -d --restart=always -p 3001:3001 \
-v uptime-kuma:/app/data --name uptime-kuma \
louislam/uptime-kuma:2
Without Docker it runs on Node.js 20.4 or newer. Two habits save self-hosters grief: put it behind a reverse proxy with authentication instead of exposing the port raw, and treat updates as routine, because security fixes arrive only if you install them.
What people monitor with it
The homelab is the natural habitat, and the push monitor is the underrated feature.
The classic fleet is a homelab: Home Assistant, Pi-hole, Plex, TrueNAS, the UniFi controller, and the websites running beside them. HTTP checks cover the web interfaces, ping and TCP cover the boxes and services, and a DNS check watches the resolver itself.
Push monitors reverse the direction: something inside your network calls a URL on schedule, and silence raises the alert. That covers cron jobs and backups, and it also answers a common question, how to monitor your own internet connection: a device inside pings a push monitor hosted outside, and the gaps in the record are your outages. The same technique works against a hosted heartbeat check, which keeps the record outside the connection it measures. Heartbeat monitoring →
Where self-hosting stops
None of this is a flaw in Uptime Kuma. It is the shape of running the watcher yourself.
One vantage point
Your install checks from where it runs. A hiccup on its own network reads as everything down, and an outage visible only from outside your network reads as everything fine. Hosted services answer this by re-checking from several regions and alerting only on agreement; a lone instance cannot.
How confirmation works →The watcher shares your fate
When the machine running Uptime Kuma goes down, monitoring goes down with it, and no alert marks the difference. Self-hosters solve this with a second instance elsewhere or an outside check pointed at the first one.
Upkeep is yours
Updates, backups of the data volume, and the reverse proxy in front are your responsibility. The time cost is modest for one instance and real for several.
Uptime Kuma against the field
One line each, for the comparisons people actually search.
Gatus
monitoring as YAML in git instead of clicks in a dashboard; the same self-host trade with a code-review workflow.
Upptime
no server at all; GitHub Actions checks every five minutes with the status page on GitHub Pages.
Prometheus + blackbox
uptime probes inside a metrics stack; the right call when Prometheus already runs, heavy when it does not.
Zabbix
a whole infrastructure-monitoring platform; website checks are one feature among hundreds, and the learning curve matches.
Checkmk
fleet and server monitoring first, HTTP checks second; closer to finished than most self-hosted options.
Netdata
per-second metrics from inside the server; a different job that pairs with Kuma rather than replacing it.
Healthchecks
cron and scheduled-job monitoring specifically; narrower on purpose.
Grafana
draws dashboards from data someone else collects; it needs a prober like blackbox, it is not one itself.
OneUptime
the whole category, status pages to on-call, in one self-hosted platform, with the operational weight that implies.
The full roundup, every figure sourced and dated: open-source website monitoring tools →
Leaving Kuma in either direction: Uptime Kuma alternatives compared →
Uptime Kuma or Uptimia
The real comparison is self-hosted against hosted. Both answers are legitimate; they fit different situations.
What Uptime Kuma gives you
No subscription, data on your own machine, checks against things only your network can see, and a tool you can read the source of. The price is the three limits above: one vantage point, shared fate, and upkeep.
What a hosted service gives you
Checks from many regions with an outage confirmed before anyone is alerted, nothing to patch or back up, and alerting that does not depend on your own machine being up. Uptimia adds the check types self-hosting rarely covers: browser transactions, real-user timings, and a server agent feeding the same dashboard.
The two also stack: keep a Kuma instance for the inside view and point one hosted uptime check at it, so the watcher is watched. The free plan covers that. Push-style jobs can report to a hosted heartbeat the same way they report to a Kuma push monitor.
What the hosted side looks like while an outage is confirmed: three regions agree before anyone is alerted, which is the view no single instance has.
Monitoring Logs
every 30 s · one location per check
Tokyo14:32:18—Down
London14:32:16—Down
New York14:32:14—Down
Frankfurt14:32:11—Down
Amsterdam14:31:41382 msUp
New York14:31:11371 msUp
Frankfurt14:30:41358 msUpHTTP Response — Last Check
Amsterdam · 14:31:41Frankfurt · 14:32:11Response Time
avg 390 ms · last 7 daysThe outside view,handled for you.
Keep your Kuma. Add one hosted check from many regions, confirmed before it alerts, free for one monitor.
Uptime Kuma, defined
Uptime Kuma is an open-source, self-hosted monitoring tool released under the MIT license. It checks websites and services over HTTP, TCP, ping and DNS among others, sends alerts through more than ninety notification services, and publishes status pages. It runs from a single Docker container or on Node.js, and it is maintained as a community project on GitHub.
01Is Uptime Kuma free?+
02Is Uptime Kuma safe to use?+
03What can Uptime Kuma monitor?+
04Does Uptime Kuma need Docker?+
05How do I monitor my internet connection with it?+
06Can it monitor a Windows service?+
07Why am I seeing false positives?+
08How many monitors can one install handle?+
09Uptime Kuma or UptimeRobot?+
10Does Uptime Kuma have status pages?+
Self-hosted inside, hosted outside
Run Uptime Kuma for the view from within. Add one Uptimia monitor for the view your users have, confirmed from many regions before it alerts.