Uptime Kuma is a self-hosted monitoring tool built with Vue 3 and a WebSocket-based single-page app. It watches HTTP(s), TCP, DNS, ping, Docker containers, and other targets at intervals as low as 20 seconds and shows results on a fast, reactive dashboard. It was created by Louis Lam as a self-hosted alternative to hosted services like UptimeRobot after he found existing self-hosted options unstable or abandoned.
Uptime Kuma fits teams and individuals who want visibility into their own infrastructure without paying for a hosted monitoring SaaS: personal projects, small business websites, self-hosted home lab services, and internal company tools that don't need enterprise-scale monitoring. Because monitors cover HTTP, TCP, DNS, ping, and Docker containers, it can watch anything from a public website's uptime to whether a background container is still running, from the same dashboard. Public status pages, mapped to a monitor's own domain, make it useful as a lightweight status page for teams that want to communicate incidents without paying for a separate status-page product. The 20-second check interval and certificate-expiry tracking make it suitable for catching short outages and expiring TLS certificates before they become customer-facing incidents. Because everything runs in a single Docker container with a bundled SQLite-backed data volume, it's inexpensive to run continuously on a small VPS or home server alongside other self-hosted services.
Docker Compose is the recommended install path: download the project's compose.yaml and run docker compose up -d, which starts the dashboard on port 3001. A single docker run command with a named volume works as well, and exposure can be limited to localhost by binding to 127.0.0.1. Uptime Kuma also runs directly on Node.js 20.4+ on major Linux distributions and on Windows 10 or Windows Server 2012 R2 and newer; FreeBSD, OpenBSD, NetBSD, and platforms like Replit or Heroku are not supported. For non-Docker installs, the project recommends running server/server.js under PM2 so the process stays alive in the background and restarts on boot. NFS-backed filesystems are explicitly unsupported for the data volume.