Skip to content

Uptime Kuma on a VPS

Uptime monitoring

Category
Monitoring
Author
Louis Lam
License
MIT
Version
2.5.5

The script is free · VPS from $2.79 per month · installs in about 60 seconds

Install over SSH

root@vps:~# command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2

  • SystemUbuntu 24.04 · x86_64ok
  • Sourcegithub.com/louislam/uptime-kumaok
  • Version2.5.5ok
  • Port3001/tcplisten

✓ Uptime Kuma 2.5.5 installed · about 60 seconds

root@vps:~#

Install command from the library. Output is shortened and may differ on your server.

What it is

  • Monitoring
  • Uptime
  • Notifications
  • Status page

Uptime Kuma monitors the availability of websites and services — a self-hosted alternative to UptimeRobot. It checks HTTP, TCP ports, ping, DNS and containers, and alerts you about outages in Telegram or another messenger.

Your own instance on a separate VPS checks your services from the outside, with no limit on the number of monitors and intervals as short as 20 seconds. The same data powers a public status page for your customers.

It runs as a single Docker container and needs almost no resources.

  • HTTP(s), keyword, JSON, TCP, ping, DNS and Docker checks
  • Notifications via Telegram, Discord, email and 90+ services
  • Check interval from 20 seconds
  • Public status pages on your own domain
  • SSL certificate expiry and response time charts
  • Two-factor authentication

Recommended plan

For Uptime Kuma: at least 1 vCPU, 2 GB RAM and 10 GB NVMe.

Minimum to run
1 vCPU · 1 GB RAM · 10 GB disk
Systems
Ubuntu 22.04 · Ubuntu 24.04 · Debian 12

How to install

Three steps in the bot or one command over SSH; installation takes about 60 seconds.

  1. 01

    Choose a plan in the bot

    Open @ExpressHost_bot and pay for a VPS. The server will be ready in about 60 seconds.

  2. 02

    Add Uptime Kuma

    At the “Add-ons” step pick the script from the library, or run it later: Server settings → Scripts.

  3. 03

    Open http://SERVER-IP:3001 and create an administrator

    The bot will send the server address and login details to the chat.

Manually over SSH

Connect to the server as root and run the command. Supported systems: Ubuntu 22.04, Ubuntu 24.04, Debian 12.

Install command
command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2

Ports

Uptime Kuma ports
PortProtocolPurpose
3001tcpWeb interface and status pages

After installation

  1. 1.Open http://SERVER-IP:3001 and create an administrator
  2. 2.Set up notifications: Settings → Notifications → Telegram (bot token and chat ID)
  3. 3.Add monitors and, optionally, a status page

Uptime Kuma FAQ

Didn’t find an answer? Message @ExpressHost_SupportBot.

How many monitors can a plan handle?

Several hundred checks at a one-minute interval run comfortably on 1 vCPU and 2 GB RAM.

How do I update Uptime Kuma?

Run docker pull louislam/uptime-kuma:2, then remove the container and start it with the same command. Your data stays in the volume.

Where is the data stored?

In the uptime-kuma Docker volume (folder /app/data inside the container).

Uptime Kuma installs at checkout — in the bot.