Skip to content
RunStack
AutomationAutomation· Updated 19 Oct 2026

Uptime Kuma — uptime monitoring with alerts

Uptime Kuma in one command: HTTP, TCP, ping, DNS and certificate checks, alerts to Telegram and email, status pages, HTTPS, backups.

UbuntuUbuntuDebianDebianDockerDocker
Ubuntu 22.04 / 24.04 · Debian 12+
10

The site went down at night and you learned about it from customers in the morning. The certificate expired on Friday evening. Sounds familiar?

Uptime Kuma checks your sites and services every 20–60 seconds and tells you right away in Telegram, email, Slack or 90+ other services when something does not answer. It shows response times and history, warns about expiring certificates and makes nice public status pages.

What you get

  • Uptime Kuma 2.5.6 — the latest stable version. SQLite is set up right away, no wizard.
  • Checks: HTTP(s) and page keywords, TCP ports, ping, DNS, certificate expiry, push checks for cron jobs.
  • Alerts to Telegram, email, Slack, Discord, Mattermost and 90+ other services.
  • Status pages for your customers on your domain.
  • Your own address with HTTPS — a Let's Encrypt certificate is issued and renewed automatically.
  • Backups with one command — a consistent database copy in a couple of seconds, the last 14 kept.
  • Access from your IPs only — office, VPN.

Who it is for

  • Site and shop owners who want to know about downtime first.
  • Admins and DevOps: dozens of services, ports and certificates watched in one window.
  • Anyone who wants to show customers an honest status page.

How to install

  1. Prepare a server with Ubuntu or Debian. Point a domain's A record, e.g. status.example.com, at the server's IP.
  2. Copy the command from the Download block — it appears after you sign in. It contains your personal token, valid for 12 hours.
  3. Run it on the server and answer the questions:
Language / Язык (en / ru) [en]: en
Uptime Kuma version (latest stable: 2.5.6) [2.5.6]:
Install directory (data, settings, backups) [/opt/uptime-kuma]:
Mode: public — your domain with HTTPS (Let's Encrypt), local — a port on this server for your own proxy (public / local) [local]: public
Domain (its A record must point to this server): status.example.com
Email for Let's Encrypt: admin@example.com
Allow only these IPs/subnets:
  1. Create the admin right away: open https://status.example.com. Until then, the first visitor becomes the admin.
  2. Add the first monitor (Add New Monitor → a site URL) and a notification (Settings → Notifications → Telegram).

System requirements

Minimum to runWith headroom
OSUbuntu 22.04 / 24.04, Debian 12+Ubuntu 24.04
CPU1 vCPU, amd64 or arm641–2 vCPU
Memory512 MB1 GB
Disk5 GB10 GB

Uptime Kuma publishes no hardware requirements — the figures are ours, the installer checks the minimum. The database grows with the number of monitors and history retention (Settings → Monitor History). Run monitoring on a different server than what it watches — otherwise it goes down together with it.

  • Root access (sudo). Docker is installed automatically.
  • Domain mode: an A record pointing at the server and free ports 80 and 443.
  • Access to Docker Hub. If it is blocked, add a mirror: RS_REGISTRY_MIRROR=https://mirror.gcr.io.

Day-to-day commands

rs uptime-kuma status                  address, version and available update, backups
rs uptime-kuma backup                  backup to /opt/uptime-kuma/backups (the last 14 kept)
rs uptime-kuma upgrade [version]       backup → new version
rs uptime-kuma access "203.0.113.10"   allow only these IPs (off — remove)
rs uptime-kuma stop | start            stop / start
rs uptime-kuma down                    remove the containers, data stays
rs uptime-kuma purge                   full removal step by step, backups are never deleted

Running the installer again is safe: data, keys and the version are kept. All commands and common errors are in the wiki.

FAQ

How much is it? The installer is free for now. Uptime Kuma is open source under the MIT license.

Can it watch Docker containers? Yes, with a Docker Container monitor, but it needs /var/run/docker.sock — not mounted by default: that is full access to the host's Docker.

How do I watch cron jobs? A Push monitor: the job calls a URL after a successful run, and if the signal does not come you get an alert.

Official resources

Materials are available after sign-in and email verification.