Uptime Kuma VPS

Uptime Kuma in Docker, reachable only from the server until you claim it over an SSH tunnel. Then add monitors, alerts and a status page.

Who it suits

Watching your sites, ports and APIs, with alerts and a public status page. Run it somewhere other than the things it watches: a monitor on the same server can't tell you that server is down.

Which plan

Budget suits a personal set of monitors. Very short check intervals across many monitors are what make it work harder.

What we install

Uptime Kuma checks your sites, ports and APIs and alerts you by email, Telegram, Discord and more. It runs in Docker with its data in a named volume, and its port is bound to localhost.

$ apt Debian family (apt)
  • ca-certificates
  • curl
  • docker-ce
  • docker-ce-cli
  • containerd.io
  • docker-buildx-plugin
  • docker-compose-plugin
$ dnf Red Hat family (dnf)
  • docker-ce
  • docker-ce-cli
  • containerd.io
  • docker-buildx-plugin
  • docker-compose-plugin

From order to ready

  1. Server ready. We email you when the server is running, and you can log in with SSH. The installer starts on that same first boot.
  2. Installer running. It logs to /var/log/vps9-setup.log; tail -f it to watch.
  3. Application ready. This can be minutes after SSH works. The installer writes its exit code to /var/lib/vps9-setup.exit; a value of 0 means installation succeeded. It's ready when docker ps shows the uptime-kuma container up and curl -I http://127.0.0.1:3001 answers on the server.

What you still do

  1. From your computer, run ssh -L 3001:127.0.0.1:3001 root@<your IPv4> and leave it open.
  2. Open http://localhost:3001 and create the admin account.
  3. Add your monitors and a notification channel. For a public status page, put Caddy or nginx with HTTPS in front of 127.0.0.1:3001.

Exposure and security

Port 3001 is bound to 127.0.0.1, so the internet can't reach Uptime Kuma and nobody else can create its admin account; you claim it through an SSH tunnel. To publish a status page later, put Caddy or nginx with HTTPS in front on your domain.

Backups and upgrades

The container runs the louislam/uptime-kuma:2 image, which follows every 2.x release. To update, pull it and re-create the container with the same port and volume options. Its data lives in the uptime-kuma volume; back that up off the server. Servers set up before 2026-10-21 run version 1 (:1): moving them to 2 converts the database on its first start, which can take a while with months of history, so back up the volume first. We run the hardware, the network and the first-boot install; after that, Uptime Kuma is yours to run, and we don't manage or update it for you. Off-site backups of the whole disk are an optional paid add-on; they copy the disk as it is at one moment, so keep the app's own backups as well.

Ready when you are

Order a server