Know when your services go down โ before your users do
Once you start self-hosting things, you quickly realise you need a way to know when they stop working. Uptime Kuma is a lightweight, self-hosted monitoring dashboard that runs beautifully on a Raspberry Pi and gives you a clean, real-time view of whether your services are up or down โ with alerts when things go wrong.
It monitors websites, services, and ports; sends alerts via email, Telegram, Slack, Discord, and a dozen other channels; and produces a clean status page you can share publicly if you want. The whole thing is a single Docker container and takes about five minutes to get running.
What you’ll need
- Any Raspberry Pi running Docker (Pi 3B or newer)
- Something to monitor โ your own websites, a Nextcloud instance, a Pi-hole, anything with a URL or open port
Installation
Create a docker-compose.yml:
version: '3'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
ports:
- 3001:3001
volumes:
- uptime-kuma:/app/data
volumes:
uptime-kuma:
Bring it up:
docker compose up -d
Browse to http://<your-pi-ip>:3001, create an admin account, and you’re in. The dashboard is clean and immediately usable.
Adding monitors
Click “Add New Monitor” and you’ll see a range of monitor types:
- HTTP(s) โ the most common; checks a URL and optionally verifies the returned status code or looks for specific text in the response
- TCP Port โ checks whether a specific port is open on a host; useful for non-HTTP services
- Ping โ basic ICMP ping to check a host is alive
- DNS โ monitors a DNS record and alerts if it changes
- Docker Container โ if Uptime Kuma has access to your Docker socket, it can monitor container health directly
Set a check interval โ 60 seconds is a sensible default for most services. You can tighten that for critical things or loosen it for less important ones.
Notifications
Before adding monitors, configure at least one notification channel. Go to Settings > Notifications. Telegram is particularly easy to set up โ create a bot via BotFather, grab the token and chat ID, and you’ll get instant messages on your phone whenever something goes down or recovers. Email works well too if you’d rather not use a messaging app for this.
Status pages
Uptime Kuma’s status page feature lets you create a public-facing page showing the status of your chosen services. It’s optional, but nice if you run anything others depend on. You can pick a subdomain for it and even assign a custom domain.
What to monitor
Some things worth throwing in straight away:
- Your Pi-hole admin interface (confirms your Pi-hole Pi is still alive)
- Any websites or services you’re self-hosting
- Your Nextcloud instance
- Your router’s local admin page (ping monitor)
- External sites you depend on โ your email provider, your domain registrar
Over time, the history graphs Uptime Kuma builds up become genuinely useful. You’ll start to spot patterns โ a service that goes briefly down at the same time every day, or response times creeping up as a disk fills.
This is part four of our “Things to do with your old Raspberry Pi” series. Next week: turning your Pi into a lightweight network file server with Samba.

Leave a Reply
You must be logged in to post a comment.