explaingit

louislam/uptime-kuma

🔥 Hot86,955JavaScriptAudience · developerComplexity · 3/5ActiveLicenseSetup · moderate

TLDR

Self-hosted uptime monitoring tool that watches your websites and services, alerts you when they go down, and publishes status pages, no subscription required.

Mindmap

mindmap
  root((repo))
    What it does
      Monitor websites and APIs
      Alert on downtime
      Public status pages
      Certificate tracking
    Monitor types
      HTTP and HTTPS
      TCP and DNS
      WebSocket and ping
      Docker containers
    Notifications
      Telegram and Discord
      Slack and email
      90+ channels total
    Setup
      Docker or Docker Compose
      Linux and Windows
      Node.js 20.4 or later
    Features
      Multi-language UI
      Two-factor auth
      Proxy routing
      Ping charts

Things people build with this

USE CASE 1

Monitor your production websites and APIs to catch outages before customers notice.

USE CASE 2

Set up alerts across Telegram, Discord, or email so you're notified instantly when a service goes down.

USE CASE 3

Publish a public status page showing your team and customers the real-time health of your services.

USE CASE 4

Track SSL certificate expiration dates and get notified before they expire.

Tech stack

JavaScriptNode.jsDockerPM2

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Docker or Node.js + PM2 setup; database initialization needed before first run.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license text.

In plain English

Uptime Kuma is a self-hosted monitoring tool for keeping an eye on whether your websites and services are up and responding. Instead of paying a hosted service like Uptime Robot to ping your sites, you run Uptime Kuma yourself on your own server, and it watches the things you tell it to watch and alerts you when something goes down. The author built it because existing self-hosted alternatives were unstable or unmaintained, and wanted a fancier UI. The way it works is that you install Uptime Kuma, most easily through Docker or Docker Compose, with non-Docker installation supported on major Linux distributions and on Windows 10 or Windows Server 2012 R2 or higher, then open it in a browser. From the dashboard you add monitors for the things you care about. The README lists supported monitor types: HTTP and HTTPS, TCP, HTTP keyword and JSON queries, WebSocket, ping, DNS records, push, Steam game servers, and Docker containers. Checks can run as often as every 20 seconds. When a monitor fails, Uptime Kuma can notify you through more than ninety supported channels including Telegram, Discord, Slack, and email. You can also publish public status pages, map them to specific domains, view ping charts and certificate info, and route checks through a proxy. Two-factor authentication is supported. You would use Uptime Kuma if you want a free, self-hosted alternative to commercial uptime-monitoring services for your own websites, APIs, home network, or hobby servers. The interface is multi-language. Non-Docker installation requires Node.js 20.4 or later, Git, and PM2 to run the server in the background. The project is built in JavaScript.

Copy-paste prompts

Prompt 1
How do I install Uptime Kuma using Docker Compose and set up my first HTTP monitor?
Prompt 2
Show me how to configure Uptime Kuma to send alerts to Discord and Slack when a website goes down.
Prompt 3
How do I create a public status page in Uptime Kuma and map it to my own domain?
Prompt 4
What are all the monitor types Uptime Kuma supports and how do I set up a TCP monitor for a game server?
Prompt 5
How do I enable two-factor authentication in Uptime Kuma and set up notifications through multiple channels?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.