You need to know when your site is down. But paying for UptimeRobot or PagerDuty for a personal project feels wrong.
Uptime Kuma is the answer. It's a fancy, reactive status page and monitoring tool that you host yourself. It supports HTTP, TCP, Ping, DNS, and even Steam Game Servers.
The Setup
version: '3.3'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- ./uptime-kuma-data:/app/data
ports:
- "3001:3001"
restart: always
Features
- Fancy UI: It looks like a modern SaaS product.
- Notifications: Telegram, Discord, Slack, Email, Gotify… it supports everything.
- Status Page: You can create a public status page (like
status.example.com) to show your users that yes, you are working on it.
The "Certificate Expiry" Trick
One of my favorite features: Uptime Kuma can monitor your SSL certificates. Point it at your HTTPS domain, and it will alert you 7 days before your cert expires. No more expired Let's Encrypt surprises.