Dashboard

The main view. Each tile represents one monitored system — GREEN means all checks are passing, RED means something is broken. Tiles update automatically every 15 seconds.

http://updownboard.local:8080/

UpDownBoard

Last updated: 11:14:32 AM
Router
GREEN
Proxmox Host
GREEN
NAS-01
GREEN
prod-db-01
RED
Cloudflare DNS
GREEN
Jenkins
RED
Web App
GREEN
GitHub
GREEN
VPN Gateway
RED
Linux Server
GREEN
Windows Host
GREEN
Staging Env
RED

Failure detail

Click any RED tile to see exactly which check failed and the error message. Ping down and Postgres unreachable — something went sideways with prod-db-01.

http://updownboard.local:8080/

UpDownBoard

Last updated: 11:14:32 AM

All-clear detail

Green tiles show passing status too. CPU 42%, memory 61%, disk 38% — Linux Server is doing fine.

http://updownboard.local:8080/

UpDownBoard

Last updated: 11:14:32 AM

/status endpoint

Plain-text view of the current state and recent state-change history. Useful on a wall monitor with watch curl http://updownboard.local:8080/status, or piped into anything that reads text.

http://updownboard.local:8080/status
UpDownBoard Status ======================================== CURRENT STATE: GREEN Cloudflare DNS GREEN GitHub GREEN Linux Server GREEN NAS-01 GREEN Proxmox Host GREEN Router GREEN Web App GREEN Windows Host RED Jenkins RED Staging Env RED VPN Gateway RED prod-db-01 RECENT STATE CHANGES: [2026-06-03 11:09:14] prod-db-01: UNKNOWN -> RED (ping: Ping failed: host unreachable; tcp: Port 5432 timed out) [2026-06-03 11:09:14] Jenkins: UNKNOWN -> RED (ping: Ping failed: host unreachable; http: HTTP timeout after 10s) [2026-06-03 11:09:14] VPN Gateway: UNKNOWN -> RED (ping: Ping failed: host unreachable; tcp: Port 1194 timed out) [2026-06-03 11:09:14] Staging Env: UNKNOWN -> RED (ping: Ping failed: host unreachable; http: HTTP timeout after 10s) [2026-06-03 10:52:07] Linux Server: RED -> GREEN (all checks passed) [2026-06-03 10:51:52] NAS-01: UNKNOWN -> GREEN (all checks passed) [2026-06-03 10:51:52] Router: UNKNOWN -> GREEN (all checks passed)

/api/systems endpoint

Raw JSON state for all systems. Wire it into your own dashboards, alerting pipelines, or whatever else you can think of. It's just an HTTP GET.

http://updownboard.local:8080/api/systems
{ "Router": { "state": "GREEN", "failed_checks": [], "last_checked": "2026-06-03T11:14:31.004122+00:00", "reason": "all checks passed" }, "prod-db-01": { "state": "RED", "failed_checks": [ { "type": "ping", "message": "Ping failed: host unreachable" }, { "type": "tcp", "message": "Port 5432 timed out" } ], "last_checked": "2026-06-03T11:14:31.209847+00:00", "reason": "ping: Ping failed: host unreachable; tcp: Port 5432 timed out" }, "Linux Server": { "state": "GREEN", "failed_checks": [], "last_checked": "2026-06-03T11:14:32.118934+00:00", "reason": "all checks passed" } }