TV dashboards

TV dashboards are auto-refreshing, fullscreen views of your servers — designed for ops walls, Raspberry Pis behind office TVs, and second-monitor wallpaper for the on-call engineer. Each dashboard has its own URL secured by a token; no login required.

Create a dashboard

  1. Go to Dashboard → TV Dashboards → New dashboard.
  2. Name it (e.g. "Production wall" or "Backend ops").
  3. Configure the layout — which servers to show, in what order, and what tiles per server (CPU, memory, disk, uptime).
  4. Save. The dashboard is created with a unique tv_key and a display URL.

The display URL

Each dashboard exposes a tokenized URL:

https://boxwatch.app/tv/<tv_key>

The tv_key looks like bw_tv_<32 hex chars>. Open this URL in any browser — no login needed, no session cookie. The token in the URL is the only credential.

Open it on a Pi, a kiosk PC, a monitor in the office — anywhere with a browser. The page auto-refreshes its data without a full reload.

Treat the TV key like a password. Anyone with the URL can view your server metrics. If you accidentally share it (Slack screenshot, browser history, public photo of the dashboard), rotate it from Dashboard → TV Dashboards → Regenerate key.

Browser setup for a wall display

Run Chrome (or Chromium on a Pi) in kiosk mode:

chromium-browser \
  --kiosk \
  --noerrdialogs \
  --disable-infobars \
  --check-for-update-interval=31536000 \
  https://boxwatch.app/tv/bw_tv_YOUR_KEY

For a Raspberry Pi setup that auto-starts on boot, drop the above into /etc/xdg/autostart/boxwatch.desktop after disabling the screensaver in ~/.config/lxsession/LXDE-pi/autostart.

Rotate the key

If the URL leaks (someone posted a screenshot, an ex-employee still has it), regenerate:

Dashboard → TV Dashboards → <your dashboard> → Regenerate key

The old URL stops working immediately. Update your Pi or kiosk to the new URL.

POST/dashboards/:id/regenerate-key
Auth: bearer

Multiple dashboards

Rotating across several dashboards in one display can be done browser-side. A Chrome extension like "Tab Auto Refresh" or a bash loop that switches URLs every few minutes works well. There's no built-in carousel in the BoxWatch UI today.

For multi-screen setups, point each Pi at a different tv_key and pin them to different physical monitors.

Account limits

Every account gets up to 6 TV dashboards, free. The dashboard endpoint returns 403 when you exceed the cap.

API

GET/dashboards
Auth: bearer
POST/dashboards
Auth: bearer
GET/dashboards/:id
Auth: bearer
PATCH/dashboards/:id
Auth: bearer
POST/dashboards/:id/regenerate-key
Auth: bearer
DELETE/dashboards/:id
Auth: bearer

Create body:

{
  "name": "Production wall",
  "layout": {
    "servers": [12, 14, 18],
    "tiles": ["cpu", "memory", "disk"]
  }
}

The exact layout shape depends on what the renderer expects — inspect the dashboard you create via the web UI for a working example.

(API reference pages are coming soon — see /docs/api for the overview.)

See also

Was this page helpful?