wiki / noc-homelab / status-apiedited 2026-07-19
Status API
The Machines section on this site’s home page is live homelab data. It comes from a static JSON file, /homelab-status.json, regenerated every 60 seconds — no backend behind the website, just a file push.
Pipeline
- The dashboard aggregates every machine’s agent reports into one status view.
- A LaunchAgent runs a push script each minute: it fetches that view, projects it through a public-services allowlist, folds in 24 hours of hourly history, and uploads the result to the webroots of both sites.
- The site fetches
/homelab-status.jsonclient-side and renders the machine chassis — no JS means no section, nothing else breaks.
The allowlist is the privacy boundary: only explicitly listed services appear publicly, under display labels chosen for the site. A consolidated entry can group several internal services under one light — it shows online only when all of them are.
Payload
{
"updated": "2026-07-19T00:00:00Z",
"machines": [
{
"id": "noc-tux", "label": "noc-tux",
"online": true, "uptime": "…",
"services": [ { "id": "matrix", "label": "Matrix", "online": true } ]
}
]
}
Machine reachability, uptime, and per-service online flags — that’s the whole contract. History rides alongside for the 24-hour sparkline window.
backlinks (2): noc-homelab/agents · noc-homelab/overview