Tools/louislam/uptime-kuma

Uptime Kuma

Self-hosted monitoring tool

93.3k ★+261/wkestablishedJavaScriptMIT License →trending

The Lens

By Erik Loyd, SaaS CEO and former COO/CFO of an AWS Premier Partner.

Updated Oct 2026

Uptime Kuma watches your websites, APIs, servers and containers and alerts you through Telegram, Discord, Slack, email or 90+ other services the moment one goes down. It's the self-hosted answer to UptimeRobot and Better Stack's uptime checks. MIT licensed, and there is no paid tier at all.

Setup is one docker run with the louislam/uptime-kuma:2 image (the old latest tag is deprecated and stuck on v1). Add HTTP, TCP, ping, DNS or Docker monitors checked as often as every 20 seconds, and publish status pages on your own domain. Since 2.1 it can also run ping and HTTP checks through Globalping's community probes, so you're not limited to checking from one box.

Solo and small teams: free. Bigger teams: still free, but 2.x has a single admin login with no roles. Multi-user is still an open request; the 3.0 auth rework is nightly-only.

The catch: you own the patching. This year brought a template-injection bug that let a logged-in user read server files (the first fix was incomplete) and an unauthenticated denial of service fixed in 2.5.4. Upgrading from v1 is a one-way migration that can take hours. And if its server dies, your alerts die with it.

Free vs Self-Hosted vs Paid

fully free

Free: Everything. MIT license, no paid plan, no hosted version and no gated features. Monitor types include HTTP(s), TCP, keyword, JSON query, WebSocket, ping, DNS, push, Steam game server and Docker containers, with 20-second intervals, multiple status pages mapped to your own domains, certificate info, proxy support, 2FA and 90+ notification services.

Self-hosted: Docker (louislam/uptime-kuma:2, plus -slim and -rootless tags) or Node.js >= 20.4 with pm2 on Linux or Windows; FreeBSD and NFS-backed data directories are not supported. SQLite by default, with MariaDB (embedded or external) added in 2.0. A community measurement on v1 put the container at about 102 MiB of RAM idle, adding roughly 0.12 MiB per HTTP monitor. Backup means copying the data directory; the JSON backup/restore feature was removed in 2.0. Moving from v1 is a one-way migration that can take hours on slow hardware, and the v1 and latest Docker tags are deprecated. Optional Globalping monitors use Globalping's probe network with an optional API token.

Paid: None. For comparison, hosted UptimeRobot is free for 50 monitors at 5-minute checks (hobby and non-profit use, 5 integrations); Solo is $13/month billed monthly or $12/month billed annually for 10 monitors at 60-second checks, and Team is $46/month monthly or $39/month annually for 100 monitors and 3 seats. Better Stack is free for 10 monitors and 1 status page, then $34 per responder license per month ($29 billed annually). What you give up by self-hosting is multi-region checking out of the box, on-call scheduling and anyone else keeping the server patched.

Free with no paid tier. It replaces UptimeRobot's $12 to $13/month Solo plan for 10 monitors, as long as you're willing to run and patch one container on a server separate from what it watches.

What to do by team size

Solo
free; one docker run and you're monitoring
Small team
free; status pages on your own domain for clients
Medium team
free, but 2.x has one admin login, so shared access means shared credentials
Large team
free as an internal check layer; pair it with a hosted multi-region monitor and an on-call tool like PagerDuty
Self-hosting ops:trivial

Get tools like this every Wednesday

One featured tool, three on the radar. No fluff.

Similar Tools

Score
91/100 · A+
Adoption30/30
Maintenance25/25
Community11/20
License15/15
Analysis10/10

A low score is not a verdict on quality. Young and niche tools start low by design. How we calculate scores

Trust Signals

High adoption: 85,346 starsActive community: 7,645 forksPermissive license (MIT)

About

Stars
93,308
Forks
8,667

Explore Further

More tools in the directory