Netdata and Grafana tell you how your servers are performing, but neither directly answers a simpler, more urgent question: is this specific service actually reachable right now? Uptime Kuma fills that gap precisely, continuously checking whether your self-hosted services are actually up and immediately alerting you the moment one isn’t.
What Is Uptime Kuma?
Uptime Kuma is a free, open-source, self-hosted uptime monitoring tool with a clean, modern web interface. It periodically checks configured services — websites, APIs, ping targets, even specific ports — and tracks their availability over time, sending notifications through numerous channels the moment something goes down.
Why Uptime Monitoring Matters Beyond Resource Monitoring
Netdata and Grafana excel at showing you resource trends and historical performance, but a service can be completely down (crashed process, failed container, network issue) while the underlying server itself shows entirely normal CPU and memory usage. Uptime Kuma specifically closes this gap, checking actual service availability directly rather than inferring it from resource metrics.
Installing Uptime Kuma with Docker
yaml
version: '3'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
volumes:
- ./uptime-kuma-data:/app/data
ports:
- '3001:3001'
restart: unless-stopped
docker compose up -d
Completing Initial Setup
Navigate to http://your-server-ip:3001 and create your administrator account during the first-run setup wizard.
Adding Your First Monitor
- Click Add New Monitor.
- Choose the Monitor Type: HTTP(s), TCP Port, Ping, DNS, and several others are supported.
- Enter the target — for example, your Nginx Proxy Manager-fronted Jellyfin instance’s URL.
- Set the Heartbeat Interval (how often Uptime Kuma checks, e.g., every 60 seconds).
- Click Save.
Monitoring Different Service Types
- HTTP(s) monitors – check that a web-based service returns a successful response, useful for anything with a web dashboard (Nginx Proxy Manager, Grafana, Gitea)
- TCP Port monitors – confirm a specific port is accepting connections, useful for non-HTTP services like a database or SSH
- Ping monitors – basic reachability checks for devices that don’t run a specific service to check, like a network switch’s management interface
- DNS monitors – verify a DNS server is actually resolving queries correctly
Setting Up Notifications
Under Settings → Notifications, configure how you want to be alerted when a monitor goes down — Uptime Kuma supports a wide range of notification methods including Discord, Slack, Telegram, email, and dozens of other services, letting you choose whatever channel you already actively monitor.
Creating a Public Status Page
Uptime Kuma can generate a public-facing status page summarizing the current status of selected monitors, useful if you want to share service availability with household members or anyone else who relies on your self-hosted services without needing direct dashboard access themselves:
- Go to Status Pages → New Status Page.
- Add the monitors you want publicly visible.
- Customize the page’s appearance and description.
- Publish, optionally behind your reverse proxy for a clean URL.
Setting Up Maintenance Windows
For planned downtime (applying updates, performing migrations), configure a maintenance window under Maintenance to suppress alerts during that specific period, avoiding unnecessary notification noise for downtime you already know is happening and don’t need to be alerted about.
Reviewing Historical Uptime
Each monitor tracks historical uptime percentage and response time trends over configurable periods, useful for identifying services with recurring reliability issues that might warrant deeper investigation — a service repeatedly showing brief outages might point toward an underlying resource constraint worth checking in Netdata or Grafana.
Combining with Existing Monitoring
Uptime Kuma, Netdata, and Grafana/Loki each answer a different question: is the service reachable (Uptime Kuma), how are resources trending (Netdata/Grafana), and what do the logs actually show when something breaks (Loki). Running all three together gives genuinely comprehensive visibility rather than any single blind spot in your overall monitoring coverage.
Final Thoughts
Setting up Uptime Kuma answers the most immediate, practical monitoring question a homelab needs answered — is this actually working right now — with fast alerting the moment something isn’t. Combined with the resource and log monitoring covered elsewhere in this series, it completes a truly thorough view of your homelab’s overall health and availability.

Leave a Reply