← Blog

Self-hosted Uptime Kuma: install it on your VPS with HTTPS

Tutorial · · 6 min read

Uptime Kuma is the most popular self-hosted uptime monitor: it checks your sites, APIs, ports or servers every few seconds, alerts you through Telegram, Discord, email and dozens of other channels, and publishes status pages for your customers. All from a polished interface, without paying per monitor.

In this guide you'll install it on your VPS with the SecuryBlack template, with HTTPS and with its data safe across updates. At the end you'll also see its big limitation and how to cover it.


What you need

  1. A VPS with Docker. Uptime Kuma is light: 512 MB of free RAM is enough for dozens of monitors.
  2. The server connected to SecuryBlack with CromoForge, the agent that deploys your apps.
  3. A subdomain, for example status.yourdomain.com.
  4. Ports 80 and 443 free for the HTTPS proxy.

Step 1: point the subdomain at the server

Create an A record named status with your VPS's public IP (and AAAA if you have IPv6). Check that it resolves before moving on:

dig +short status.yourdomain.com

Step 2: create the app from the template

In the panel, go to Apps → New app → Template, choose Uptime Kuma and fill in name, server and domain. If you're signed in, this link opens the panel with the Uptime Kuma template selected.


Step 3: what the template does

  • Uses version 2 with SQLite. Uptime Kuma 2 asks which database to use on first start. The template already picks SQLite, the simplest option and enough for the vast majority of installs, so you go straight to creating your account.
  • Keeps the data in a volume. Monitors, history, notifications and status pages live in /app/data, in a Docker volume that survives every deployment.
  • Serves the app over HTTPS. Uptime Kuma only listens on 127.0.0.1 and a Caddy proxy in front requests and renews the certificate. The interface's websockets work through the proxy with no extra setup.

Step 4: create the admin account right away

Open https://status.yourdomain.com. Uptime Kuma asks you to create a user: the first account created becomes the admin. Do it as soon as the deployment finishes. Then, under Settings → Security, you can turn on two-factor authentication.


Step 5: your first monitors

Click Add New Monitor and try:

  • HTTP(s) against your main site, with a 60-second interval.
  • HTTP(s) - Keyword to check that the page contains a specific text, not just that it answers.
  • TCP Port against a non-web service, such as your mail server.

Under Settings → Notifications, set up a channel (Telegram is the quickest) and mark it as default. If you want to show your status to customers, create a Status Page and add the monitors you want to make public.


The limitation: who watches the watcher?

Uptime Kuma runs on your server. If that VPS goes down, loses its network or fills its disk, Uptime Kuma goes down with it and tells you nothing. It's the classic problem of monitoring from the inside.

There are two ways to cover it:

  1. Run it on a different server from the ones it watches, ideally at another provider.
  2. Watch it from the outside. A SecuryBlack uptime monitor on https://status.yourdomain.com checks from outside your server that both Uptime Kuma and the VPS are answering. To compare approaches, see the UptimeRobot vs Uptime Kuma vs SecuryBlack comparison.

Updating and maintaining Uptime Kuma

  • Update: click Deploy on the app. It pulls the latest Uptime Kuma 2 release; your monitors and their history stay in the volume.
  • Watch the disk: with many monitors and short intervals, the history grows. Under Settings → Monitor History you choose how many days to keep, and the server monitoring agent alerts you if the disk fills up.
  • Delete it: from Settings → Danger zone. Deleting the app also deletes its volume, with all monitors and history.

Conclusion

Uptime Kuma is a great way to get monitoring and status pages without quotas, and with the template it's ready in minutes, with HTTPS. Pair it with an external check and you're also covered the day the server itself goes down. Create your SecuryBlack account and try it.

Blog

Find out what's wrong with your server

Connect your first VPS and get the security audit. Free during the beta.