What Is Uptime Kuma?
Uptime Kuma is a self-hosted monitoring tool similar to Uptime Robot. It monitors HTTP, TCP, DNS, and more, with a clean dashboard and notification integrations.
Install with Docker
docker run -d \
--name uptime-kuma \
--restart=unless-stopped \
-p 3001:3001 \
-v uptime-kuma-data:/app/data \
louislam/uptime-kuma:latestInstall Without Docker
sudo apt install -y nodejs npm git
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
node server/server.jsMonitor Types
| Type | Use Case |
|---|---|
| HTTP(S) | Check website response and status codes |
| TCP Port | Verify a service is listening on a port |
| Ping | ICMP ping check for host availability |
| DNS | Verify DNS resolution returns expected results |
| Docker Container | Check container is running |
| MySQL/Redis | Database connectivity checks |
Notification Channels
Uptime Kuma supports 90+ notification services:
- Email (SMTP)
- Slack, Discord, Telegram
- PagerDuty, OpsGenie
- Webhooks (custom endpoints)
- Ntfy, Gotify, Pushover
Status Pages
Create public status pages to show your users the health of your services — similar to status.github.com. Each status page can include multiple monitors grouped by category.
Reverse Proxy with Nginx
server {
server_name status.example.com;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}