Disclosure: this page contains affiliate links. If you buy through them we may earn a commission at no extra cost to you.

If your VPS goes down at 3 a.m., you want to know before your users do. A self-hosted uptime monitor pings your services every minute and alerts you the moment something breaks — and it costs nothing to run.

The tool: Uptime Kuma

Uptime Kuma is a free, open-source status monitor. It can:

  • Ping HTTP/HTTPS endpoints, TCP ports, DNS, and even Docker containers
  • Alert you via Telegram, email, Discord, Slack, and more
  • Show a public status page if you want to display uptime to customers

It’s a single Docker container — you’ll have it running in five minutes.

Set it up in 3 steps

# 1. create a volume for its data
docker volume create uptime-kuma

# 2. run it (port 3001)
docker run -d --restart=always -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma louislam/uptime-kuma:1

Then open http://YOUR_IP:3001, create an account, and add monitors for your sites and services.

Run it on a cheap second VPS

Here’s the trick: don’t host your monitor on the same box you’re monitoring — if that box dies, so does the monitor. Put Uptime Kuma on a tiny separate VPS. A RackNerd 1GB plan (~$22/yr) is perfect for this — it needs almost no resources.

Get a cheap VPS for monitoring

What to monitor

  • Your main site’s HTTPS endpoint (expect a 200)
  • SSH/TCP on critical servers
  • Certificate expiry (Uptime Kuma can warn you before an SSL cert lapses)

Bottom line: a $2/month monitor that pages you on downtime is the cheapest insurance a VPS owner can buy.