Uptime Kuma: A Self-Hosted Monitoring Tool for Uptime and Status Pages
Uptime Kuma is an easy-to-use, self-hosted monitoring tool by Louis Lam. It tracks HTTP(s), TCP, DNS, Ping and Docker, alerts via 90+ services, and runs in minutes with Docker.
by Louis Lam · spotlight by navanem
View source on GitHubTL;DR
- Uptime Kuma is an easy-to-use, self-hosted monitoring tool that tracks the uptime of your websites, APIs, servers, and other services from a fast, reactive dashboard.
- It is an independent open-source project (MIT licensed) created and maintained by Louis Lam, NOT by Navanem. This is a community spotlight, and the project lives at github.com/louislam/uptime-kuma.
- It monitors HTTP(s), TCP, DNS records, Ping, Docker containers and more, and can alert you through Telegram, Discord, Slack, email (SMTP) and 90+ other notification services.
- You can run it in about a minute with Docker Compose, then open the dashboard on port 3001 to add your first monitor.
What is Uptime Kuma?
Uptime Kuma is a self-hosted tool for monitoring whether your services are up. You point it at the things you care about - websites, APIs, database ports, game servers, Docker containers - and it checks them on a schedule, records the results, and shows them on a clean dashboard with response-time charts and certificate details. When something goes down, it sends you a notification.
The author started it as a self-hosted alternative to hosted services like Uptime Robot, with the goal of building a fast, reactive UI. It uses Vue 3, Vite, Bootstrap 5, and a WebSocket-based single-page app rather than a traditional REST API. It ships as a Docker image and supports 20-second check intervals, multiple status pages, two-factor authentication, and many languages.
A note on this page: Uptime Kuma is an independent project created and maintained by Louis Lam, NOT by Navanem. We are spotlighting it because it is a popular, genuinely useful self-hosting tool that a lot of IT teams and homelabbers rely on. All credit for the software goes to its author and contributors. If you find it useful, please star and support the project on GitHub.
What can Uptime Kuma monitor?
Uptime Kuma supports a range of monitor types so you can watch more than a single web page. Per the README, it monitors uptime for HTTP(s), TCP, HTTP(s) Keyword, HTTP(s) Json Query, Websocket, Ping, DNS Record, Push, Steam Game Server, and Docker Containers. It also records certificate info, renders a ping chart per monitor, and supports proxies.
Which notification channels does it support?
When a monitor changes state, Uptime Kuma can alert you through many channels. The README calls out Telegram, Discord, Gotify, Slack, Pushover, and Email (SMTP), and notes there are 90+ notification services in total. That breadth means you can usually wire alerts into whatever you already use.
Does Uptime Kuma have status pages?
Yes. Uptime Kuma supports multiple status pages, so you can publish a public view of your services' health. You can also map a status page to a specific domain. There is a temporary live demo (hosted in Frankfurt, Germany) where you can try the interface; the README notes that demo data is deleted after 10 minutes.
How do you self-host Uptime Kuma with Docker?
The README's recommended path is Docker Compose. You create a directory, download the official compose file, and start it:
mkdir uptime-kuma
cd uptime-kuma
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
docker compose up -dUptime Kuma then runs on all network interfaces, reachable at a URL like http://localhost:3001 or http://your-ip:3001. There is also a single docker run command if you prefer, and a non-Docker install using Node.js (>= 20.4), Git, and pm2. The README warns that network file systems such as NFS are not supported - map the data to a local directory or volume instead.
Why feature Uptime Kuma?
Self-hosted monitoring quietly earns its keep: it tells you a service is down before your users do, and keeps the history on infrastructure you control. Uptime Kuma packages that into something you can stand up in minutes, with a wide set of monitor types, many notification integrations, and status pages. For MSPs, homelabbers, and small IT teams who want visibility without paying per-monitor, it is an easy one to recommend.
FAQ
Is Uptime Kuma made by Navanem?
No. Uptime Kuma is an independent open-source project created and maintained by Louis Lam and its contributors. It is MIT licensed. Navanem did not build it; this page is an editorial spotlight. The project lives at github.com/louislam/uptime-kuma.
Is Uptime Kuma free?
Yes. It is open source under the MIT License, so you can self-host it for free. If you want to support the work, the author accepts sponsorships via GitHub Sponsors and Open Collective.
How often does Uptime Kuma check a monitor?
It supports check intervals as short as 20 seconds, per the README.
Can I run Uptime Kuma without Docker?
Yes. The README documents a non-Docker install on major Linux distros and Windows using Node.js (>= 20.4), Git, and pm2, though Docker Compose is the recommended option. FreeBSD, OpenBSD, and NetBSD are listed as not supported.
Where do I get it?
From the official repository at github.com/louislam/uptime-kuma. You can also try the temporary live demo first.