Back to Blog
monitoringuptime-kumaself-hostingdevopstutorial

Deploy Uptime Kuma with InfraPilot for Self-Hosted Monitoring and Status Pages

I

InfraPilot Team

March 25, 2026

InfraPilot + Uptime Kuma: Complementary Monitoring

InfraPilot monitors your infrastructure from the inside — container health, CPU, memory, logs, and internal service metrics. Uptime Kuma monitors from the outside — checking whether your public endpoints are responding correctly. Together they give you complete coverage: you know both what's happening inside your containers and whether your users can actually reach your services.

Step 1 — Deploy Uptime Kuma

mkdir -p ~/apps/uptime-kuma && cd ~/apps/uptime-kuma
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    volumes:
      - uptime_data:/app/data
    ports:
      - "3001:3001"

volumes:
  uptime_data:
docker compose up -d

Step 2 — Expose via InfraPilot with SSL

  1. InfraPilot → Traffic → Proxy Hosts → Add Proxy Host
  2. Domain: status.yourdomain.com
  3. Forward host: uptime-kuma, port: 3001
  4. Enable WebSocket support — Uptime Kuma uses WebSockets for its live dashboard updates
  5. Enable Let's Encrypt SSL and force HTTPS

Visit https://status.yourdomain.com and create your admin account on first run.

Step 3 — Configure Your Monitors

Add monitors for each of your public services. For each one, set:

  • Monitor type: HTTP/HTTPS for web endpoints, TCP for databases or custom ports
  • URL: your public endpoint (e.g. https://app.yourdomain.com/health)
  • Interval: 60 seconds is sufficient for most services
  • Expected status code: 200 (or whatever your health endpoint returns)

Step 4 — Create a Public Status Page

Uptime Kuma lets you create a public status page showing the uptime of your services — great for communicating with users during incidents. Go to Status Pages → New Status Page, add your monitors, and set a custom domain like status.yourdomain.com.

Step 5 — Set Up Notifications

Add notification channels under Settings → Notifications. Uptime Kuma supports Slack, Discord, email, PagerDuty, Telegram, and many more. You can also trigger webhooks to your own endpoints.

The Complete Monitoring Stack

With both tools running:

  • InfraPilot alerts you when a container OOM-kills, CPU spikes, or an internal service fails
  • Uptime Kuma alerts you when a public endpoint stops responding — even if the container is technically running

This combination catches the full spectrum of failure modes: infrastructure-level and application-level, internal and external.