Monitoring stack: Uptime Kuma 2.4 (up/down + status pages) and Prometheus (metrics, 90d retention). Deployed 2026-07-11.
| Guest | LXC 119 "uptime" on NAS |
| IP | 192.168.86.215 |
| Tailscale | uptime / 100.112.73.57 |
| Resources | 1 vCPU / 512 MB |
| Rootfs | 8G ceph-storage |
| Data | /opt/monitoring = bind mount of /mnt/pve/cephfs/monitoring (shared=1) |
| Port | Purpose |
|---|---|
| 3001 | Uptime Kuma UI (admin: codyh) |
| 9090 | Prometheus UI |
codycodez.com domain checks + tailnet checks), MQTT port check, Storj node port, Home Assistant tailnet ping, Wiki.js (added 2026-07-11)prometheus/config/targets//mnt/pve/cephfs/monitoring) — survives container rebuild ✅ but LXC 119 is not in the vzdump job (data is on cephfs, so exposure is config-only; still worth adding)/mnt/pve/cephfs/monitoring/README.mdKuma is provisioned via its socket.io API (socket.io-client available inside the container; default transports only — websocket-only hangs; monitorList is pushed immediately after login, attach handlers early; Kuma 2.x add requires conditions: []).
cd /opt/monitoring && docker compose pull && docker compose up -d && docker image prune -f
Alert notifications (ntfy runs on Odysseus already), LibreNMS or node-exporter for real metrics.