Skip to content

When a site is down

Use this when a saxobroko.com URL fails in the browser — timeout, 502, 403, or blank page. Work top-down: is it one app, all homelab sites, or everything including SaxDocs?

Step 1 — Identify scope

Symptom Likely layer
Only one app (e.g. Jellyfin) That Docker app or its tunnel hostname
All tunnel apps (stream, dash, vault, dsm, …) down cloudflared on NAS or Cloudflare Tunnel
docs.saxobroko.com down but home apps work Cloudflare Pages or GitHub deploy
Nothing resolves DNS or domain expiry
403 from outside Australia Expected WAF — not an outage — WAF rules

Check status.saxobroko.com for public sites (main site, blog, share).

Step 2 — Test from home vs internet

  1. On home Wi‑Fi, try the LAN URL if you know it — e.g. https://192.168.2.203 for TrueNAS.
  2. Try the public URL — e.g. stream.saxobroko.com.
LAN works, public fails Public and LAN both fail
Cloudflare Tunnel, DNS, or WAF NAS app, NAS power, or pool issue

Step 3 — One app down (LAN works)

  1. TrueNAS → Restart the Docker app for that service.
  2. Cloudflare → Zero Trust → Tunnels → your tunnel → Public Hostnames — confirm hostname points at correct internal URL (e.g. http://192.168.2.203:PORT).
  3. Read app logs in TrueNAS AppsLogs.

Step 4 — All tunnel sites down

  1. On LAN, open TrueNAS — if unreachable, Turn everything on.
  2. TrueNAS → Apps → restart cloudflared (or the tunnel app name).
  3. Cloudflare → Zero Trust → Tunnels — tunnel should show Healthy / connected.
  4. If tunnel shows Down after NAS restart, wait 2–5 minutes, then restart cloudflared again.

Tunnel config reference: cloudflared.

Step 5 — docs.saxobroko.com down

SaxDocs is on Cloudflare Pages, not the NAS.

  1. Open github.com/saxobroko/SaxDocs/actions — last deploy green?
  2. Cloudflare → Workers & PagessaxdocsDeployments — latest success?
  3. If deploy failed: read the log — often missing GitHub secret or build error.
  4. DNS: Websites → saxobroko.com → DNSdocs should point at Pages, not old home IP.

Deploy flow: This docs site.

Step 6 — DNS / SSL errors

  1. Log in to Cloudflare — Cloudflare account access.
  2. DNS — records exist for the subdomain?
  3. SSL/TLS — for tunnel hosts, localnet full strict ssl rule applies — WAF reference.
  4. Domain expiry — Renew the domain.

Step 7 — Access / login loop (site "works" but no content)

Symptoms: endless redirect, JavaScript challenge instead of Authentik login.

  1. Confirm Bot Fight Mode is offAuthentik troubleshooting.
  2. Test auth.saxobroko.com loads (must not be behind Access itself).
  3. Last resort only: Disable Cloudflare Access temporarily.

Step 8 — NAS storage emergency

If TrueNAS dashboard shows DEGRADED pool, fix storage first — When the pool is degraded. Apps will behave badly until the pool is healthy.

Quick reference table

URL Host First fix
stream.saxobroko.com Jellyfin on NAS Restart Jellyfin app
docs.saxobroko.com Cloudflare Pages Check GitHub Actions deploy
dash.saxobroko.com Homepage on NAS Restart app + Authentik
vault.saxobroko.com Vaultwarden on NAS Restart app
saxobroko.com Pages / static SaxoStatus + Pages deploy

Full URL list: Network.

When to stop guessing

  • Pool DEGRADED or FAULTED
  • Multiple drives failed
  • Unsure which DNS record to delete

Get help — document what you tried and screenshots of Cloudflare + TrueNAS alerts.