Monitoring your services with Uptime Kuma
Running services without monitoring is flying blind. You find out something is down when you try to use it, or worse, when someone else tells you. Uptime Kuma is a self-hosted monitoring tool that checks your services and alerts you when they are unreachable.
What it monitors
Uptime Kuma can monitor HTTP endpoints, TCP ports, DNS records, Docker containers, and more. For each monitor, it periodically sends a request and records whether the service responded correctly. If it fails a configurable number of times, it sends you an alert.
The dashboard shows uptime percentages, response times, and a history of incidents. It is clean and easy to read at a glance.
Setting it up
One Docker container:
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- ./data:/app/dataOpen http://your-server-ip:3001, create an admin account, and start adding monitors.
What I monitor
I have monitors for every service I run:
- HTTP monitors for web apps (Nextcloud, Vaultwarden, this website)
- TCP monitors for databases and non-HTTP services
- Docker container monitors for services running on the same host
- Ping monitors for network infrastructure
Each monitor checks every 60 seconds. If a service fails 3 consecutive checks, I get an alert.
Notifications
Uptime Kuma supports a long list of notification channels: Discord, Slack, Telegram, email, Pushover, Gotify, and many more. I use Telegram because it is instant and works on every device.
Setting up a Telegram notification:
- Create a Telegram bot through BotFather
- Get your chat ID
- Add the bot token and chat ID in Uptime Kuma's notification settings
- Assign the notification to your monitors
Now when my Nextcloud goes down at 2 AM, I get a Telegram message. Whether I act on it at 2 AM is a different question.
Status pages
Uptime Kuma can generate public status pages that show the current state of your services. This is useful if you run services that other people depend on. You get a clean page showing which services are up, any active incidents, and uptime history.
The value
Before Uptime Kuma, I would occasionally discover that a service had been down for days without me noticing. Now I know within minutes. For a single Docker container with zero ongoing costs, the visibility it provides is invaluable.
Sources
Related posts
Uptime Kuma told me everything was fine. It wasn't.
Green checkmarks are not observability. Here is what I learned building a real monitoring stack.
TrueNAS: reliable storage for your homelab
Why I use TrueNAS for network storage in my homelab, how to set it up, and the features that make it worth running over a simple file share.
Proxmox Backup Server: incremental backups done right
Why I use Proxmox Backup Server for my homelab backups, how incremental backups save massive amounts of storage, and how to set it up.
Enjoying the blog? Subscribe via RSS to get new posts in your reader.
Subscribe via RSS