ServiceHub
Read-only status page for what is running on a headless Mac mini
ServiceHub answers one question about the Mac mini: what is running on this machine, and who started it? The mini runs a dozen or so self-hosted services under a mix of launchd, PM2, and Homebrew, and finding out what owns port 3000 used to mean a shell session. ServiceHub is a single page, reachable from any machine on the tailnet, that lists it all.
The page stacks five sections. A system strip shows the macOS version, uptime, load, memory pressure, disk space, and the top processes. Listening ports come first because “what is on that port?” is the usual reason to open the page; each row is cross-referenced against PM2 and launchd so it reads as a named service rather than an anonymous node process. The launchd section hides Apple’s own jobs unless you ask for them, reads each plist for its program and schedule, and scans the daemons folder so root-owned services are not missing. PM2 and Homebrew services get their own tables, with crash loops flagged.
The interface is monospaced and dense, with a filter box and sortable headers on every table, an “updated N seconds ago” counter, and a colored stripe down the left edge of each row: green for running, red for a nonzero exit, blank for loaded and idle. It works at phone width. Every collector fails on its own, so a broken one shows an error row while the rest still load, and results are cached so refreshes do not hammer the box.
There are no start, stop, or restart buttons, by design, so a stray click can never take a service down. Full port visibility comes from one sudoers entry scoped to a single fixed lsof command; until it is installed the page says it is showing current-user sockets only.