Skip to content

Uptime Kuma

External Uptime Monitoring

Uptime Kuma is a self-hosted monitoring tool with a clean web interface. It supports HTTP(s), TCP, DNS, and other monitoring types with notifications via Telegram, Discord, Slack, and many more. This instance runs on an external Hetzner VPS, independent from the home infrastructure, to provide reliable outside-in monitoring.

Why Choose Uptime Kuma?

  • External perspective - monitors home services from an independent VPS
  • Rich notifications - Telegram, Discord, email, webhooks, and 90+ integrations
  • Multiple protocols - HTTP(s), TCP, ping, DNS, Docker, and more
  • Status pages - public status pages for your services

Architecture

External Monitoring Server

Unlike other services in this setup, Uptime Kuma runs on a Hetzner VPS rather than the home Incus infrastructure. This ensures monitoring remains operational even when the home network or server is down - which is exactly when you need monitoring the most.

Install

Docker Compose

The deployment uses a single Docker Compose service with persistent data stored on the host.

docker-compose.yml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:2.0.2
    container_name: uptime-kuma
    volumes:
      - /opt/uptime-kuma/data:/app/data
    ports:
      - 3001:3001
    restart: always

Create the data directory

sudo mkdir -p /opt/uptime-kuma/data

Start the service

From the directory containing docker-compose.yml
docker compose up -d

Complete initial setup

Access the web interface at http://<vps-ip>:3001 and create your admin account.

Reverse Proxy

Uptime Kuma is exposed via the same HAProxy instance running on the Vultr VPS (Tokyo region) that serves the home Incus services, providing TLS termination and public access without exposing port 3001 directly.

Upgrade

Update the image tag

Edit docker-compose.yml and update the image version:

image: louislam/uptime-kuma:NEW-VERSION  # Update this line

Pull and recreate

Pull new image and restart
docker compose pull && docker compose up -d

Verify upgrade

Check the Uptime Kuma web interface and confirm the version in Settings > About.

Upgrade Complete

Data in /opt/uptime-kuma/data persists across container recreations.


Related Documentation:

External Resources: