Project | Monitoring
Live Service Status
Real-time uptime monitoring for public-facing services - powered by a self-hosted
Uptime Kuma instance running inside a Proxmox LXC container. The data below is live
and intentionally high-level.
Uptime Kuma
Proxmox LXC
Self-Hosted
Cloudflare Tunnel
NPMplus
SQLite
Deployment
LXC on Proxmox
Uptime Kuma runs in a lightweight Debian LXC container on the Proxmox cluster — no full VM overhead. Node.js 20 is installed directly, the app runs as a systemd service with auto-restart, and SQLite keeps all data local with no external database to maintain. The whole stack uses under 150 MB of RAM at idle.
Automation
API-Driven Provisioning
All 30+ monitors were added via the Uptime Kuma socket.io WebSocket API using a custom Node.js script — not manual UI clicks. This meant discovering the exact payload schema the API expects (including required fields like conditions and accepted_statuscodes), handling sequencing to avoid race conditions, and debugging directly against the SQLite database when the API returned ambiguous errors.
Security
Public Without Exposure
The status page is publicly reachable at status.masternazz.com but reveals nothing about the internal network. Service names are generic ("Media Streaming", "Authentication"), no internal IPs or hostnames appear, and this status path is served through Cloudflare Tunnel. Other operational services may use documented WAN forwards, but the monitoring backend itself is only accessible from inside the LAN.