Deploy Uptime Kuma with InfraPilot for Self-Hosted Monitoring and Status Pages
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
- InfraPilot → Traffic → Proxy Hosts → Add Proxy Host
- Domain:
status.yourdomain.com - Forward host:
uptime-kuma, port:3001 - Enable WebSocket support — Uptime Kuma uses WebSockets for its live dashboard updates
- 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.
Related posts
Blocking Vulnerable Images Before They Ship
Nightly vulnerability scans catch bad images after they are already running. Deploy gates move the check to build time, so a critical CVE blocks the deploy instead of becoming next month's incident.
Secrets in Self-Hosted Docker: Stop Committing .env Files
The .env file works until it leaks, drifts, or gets committed by accident. Here is what moving to an encrypted secrets store with versioning and container binding actually changes, and how to migrate without code changes.
Letting an AI Assistant Deploy for You, Safely
AI assistants are good at ops work, but you do not want a model wired straight to production. Preview-only API keys let an assistant build and tear down disposable environments while production stays off limits.