Docs / Monitoring & Logging / Setting Up Uptime Monitoring with Uptime Kuma

Setting Up Uptime Monitoring with Uptime Kuma

By Admin · Feb 25, 2026 · Updated Apr 23, 2026 · 36 views · 1 min read

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:latest

Install 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.js

Monitor Types

TypeUse Case
HTTP(S)Check website response and status codes
TCP PortVerify a service is listening on a port
PingICMP ping check for host availability
DNSVerify DNS resolution returns expected results
Docker ContainerCheck container is running
MySQL/RedisDatabase 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";
    }
}

Was this article helpful?