Skip to content

Monitoring

I split monitoring into two layers: external uptime (is the site reachable from the internet?) and internal health (is the NAS pool happy, are Docker apps running?). This page covers the first layer and what I watch on the second.

status.saxobroko.com (SaxoStatus)

status.saxobroko.com is the public uptime dashboard — powered by SaxoStatus (GitHub repo; profile README references saxostatus for badge API paths).

Aspect Detail
URL status.saxobroko.com
Hosted on Not on TrueNAS — GitHub/static uptime service
Current checks saxobroko.com, blog.saxobroko.com, share.saxobroko.com
History 90-day operational timeline per service
Badge API Uptime + response-time JSON for main site mirrors (home, alt, alt2, ipfs) — see saxobroko/saxobroko README
Audience Me, plus anyone I share the status page with

When status shows red but I am at home, the fault might be Cloudflare, the tunnel, or the app — not necessarily the whole LAN. Cross-check with LAN access to 192.168.2.203.

Note: SaxoStatus does not currently monitor homelab tunnel apps (Jellyfin, Homepage, etc.) — only the public Saxo_Broko sites above. Homelab health is Tier 1–3 below + TrueNAS UI.

weather.saxobroko.com (SaxWeather)

weather.saxobroko.com is the SaxWeather app marketing site — not homelab infra monitoring. Static Cloudflare-hosted landing page for the iOS app (SaxWeather repo).

Do not confuse SaxWeather marketing-site downtime with NAS or Jellyfin outages. SaxWeather is not on the SaxoStatus dashboard today.

What to monitor

Tier 1 — user-facing (status page candidates)

Service URL Why it matters
Homepage dash.saxobroko.com Front door to everything
Jellyfin stream.saxobroko.com Primary video
TrueNAS UI dsm.saxobroko.com Admin and tunnel sanity check
Navidrome music.saxobroko.com Music playback
Photos photos.saxobroko.com Photo library
Overseerr request.saxobroko.com Requests
Authentik auth.saxobroko.com SSO for protected apps

Tier 2 — automation (optional on public status)

Service URL Notes
Sonarr sonarr.saxobroko.com TV pipeline
Radarr radarr.saxobroko.com Movie pipeline
Prowlarr prowlarr.saxobroko.com Indexers
Vaultwarden vault.saxobroko.com Passwords

Tier 2 failures often show up as "Jellyfin has no new stuff" before the status page matters.

Tier 3 — internal only (TrueNAS UI, not public status)

Check Where
Pool health (ONLINE vs DEGRADED) TrueNAS → Storage
Scrub schedule / last result TrueNAS → Storage → Scrub
SMART errors TrueNAS → Disks
Disk space TrueNAS dashboard; also watch qBittorrent download volume
cloudflared running TrueNAS Apps — cloudflared
UniFi gateway up UniFi app

Document internal alert routing here when set up: TODO: email/Telegram/Discord notifications for TrueNAS SMART or pool degraded.

Homepage as informal monitoring

Homepage at dash.saxobroko.com shows tile status for many services without a separate monitoring tool. Useful for a quick glance after Authentik login.

It is not a substitute for proper uptime checks with history and alerting.

When status is red — runbook

  1. Check from LAN — can I open the service on 192.168.2.203 or its LAN port?
  2. If LAN works, public failscloudflared or Cloudflare WAF/DNS — Common Issues
  3. If LAN fails too — TrueNAS power, network (UniFi), or app crashed in Docker
  4. If everything is down — power, ISP, or Dream Machine — physical checks first
  5. If only media apps fail — check pool space and Backups and pool health

What status does not tell you

Gap Where to look instead
Pool degraded TrueNAS Storage
Downloads stuck qBittorrent, Sonarr queue
Library not updating arr-stack, Jellyfin scan
Slow but "up" Disk scrub/resilver in progress
Geo-blocked 403 block no aus — not an outage

Adding a new monitor

When a new public service goes live:

  1. Add HTTPS check for the public URL
  2. Set interval and timeout appropriate for tunnel cold starts
  3. Optionally add to Homepage tiles for visual status
  4. Update Network and Services