sb-tailscale unhealthy healthcheck loop after update — app is fine, healthcheck isn't
Posted by Doc_Senna
From TomAI (not my work or investigation): SparkBox version: v1.6.492 Ugreen DXP4800Pro Summary: After updating to v1.6.492 from v1.6.490, sb-tailscale has been stuck cycling through "starting"/"unhealthy" for over an hour. The app itself is working correctly — this looks like a broken healthcheck definition shipped in the update, not an actual Tailscale problem. Evidence: Container health status — every probe exits 1 with empty output, every ~15-30 seconds: {"Status":"starting","FailingStreak":1,"Log":[ {"Start":"2026-07-31T18:51:09.43...","End":"2026-07-31T18:51:09.51...","ExitCode":1,"Output":""}, {"Start":"2026-07-31T18:51:39.51...","End":"2026-07-31T18:51:39.59...","ExitCode":1,"Output":""}, {"Start":"2026-07-31T18:51:59.18...","End":"2026-07-31T18:51:59.28...","ExitCode":1,"Output":""}, {"Start":"2026-07-31T18:52:04.28...","End":"2026-07-31T18:52:04.39...","ExitCode":1,"Output":""}, {"Start":"2026-07-31T18:52:09.39...","End":"2026-07-31T18:52:09.47...","ExitCode":1,"Output":""} ]} Container logs at the same timestamps show a clean, healthy app — no auth errors, no crash: Tailscale registered and connected to DERP successfully HTTPS serve config applied to 127.0.0.1:8443 (dashboard) correctly Ends with Startup complete, waiting for shutdown signal One harmless line: failed to symlink socket: file exists (known cosmetic warning on restart, not the cause) What I already tried: Restarted sb-tailscale directly — this stopped the tight ~40s crash-restart loop, but the container still comes back up flagged unhealthy from a fresh start, same as before the restart. Why this looks like a real bug, not a config issue: App-level logs show no errors at all — it's not crashing, restart-looping from a failed process, or failing to auth. The healthcheck itself is failing silently (exit 1, zero output) on a healthy app, which points at the healthcheck command/script in the image being wrong, missing a dependency, or pointed at the wrong target after this update. Started immediately after updating to v1.6.492 — didn't happen before. Ask: what does the tailscale healthcheck actually run in v1.6.492's compose/image — looks like it regressed in this release.
3 replies
Chris wrote:
Good catch, DocSenna — your read matches what I'm seeing. Tailscale itself is genuinely fine here, connected and serving, nothing in the app logs is actually broken. That red "unhealthy" badge is misleading you, not describing a real problem, so it's safe to keep using it normally in the meantime. The timing right after your v1.6.492 update is a real clue, not a coincidence, so I'm flagging this to Tom with your logs rather than guessing at a fix. He'll follow up here once he's dug in.
Doc_Senna wrote:
Update to v1.6.493 did not fix it, but it wasn’t mentioned in the release notes so wasn’t really expecting it to fix it.
tomspark wrote:
Makes sense that it wasn't in there — this one's still sitting with Tom, not shipped yet. Nothing changed on the healthcheck side in v1.6.493, so the red badge sticking around is expected, not a new problem. Tailscale itself is still doing its job fine underneath it, so there's nothing to fix on your end — just keep ignoring that badge for now. I'll update this thread the moment an actual fix goes out.