Have hade this issue since mid June. None of the apps are displaying anything
17 replies
tomspark wrote:
Hi noahlol01! Thanks for reporting. The resource usage display polls each app for stats. When it shows nothing, usually the apps aren't fully initialized or the dashboard can't reach them internally. To diagnose: SSH and run sparkbox doctor, paste the output here. Also, what NAS type are you on?
tomspark wrote:
We shipped a fix for this in v1.6.311 — the resource gauges were staying blank instead of polling on their own. Run sudo sparkbox update to grab the latest (v1.6.315) and the stats should start showing up automatically. If they're still blank after the update, reply here with what you see and we'll dig in further.
noahlol01 wrote:
SparkBox Doctor Running diagnostics... [Install location] [OK] SparkBox is installed at: /opt/sparkbox [OK] Settings file (.env): /opt/sparkbox/.env [OK] Media library folder (MEDIAROOT): /mnt/nas [Docker] [OK] Docker daemon is accessible [OK] Docker version: Docker version 29.6.1, build 8900f1d [OK] Docker Compose: 5.3.0 [Docker Socket] [OK] Docker socket exists at /var/run/docker.sock [OK] Docker socket is readable [User IDs] [INFO] Current user: root (UID=0, GID=0) [OK] PUID=1000 (containers run as UID 1000) [OK] PGID=1000 (containers run as GID 1000) [Container Egress] [OK] Containers can reach webhook.tomsparkbox.com (license server) [Port Conflicts] [OK] Port 53: available [OK] Port 80: in use (Docker -- likely SparkBox) [OK] Port 443: in use (Docker -- likely SparkBox) [OK] Port 8080: available [OK] Port 8443: in use (Docker -- likely SparkBox) [OK] Port 9000: in use (Docker -- likely SparkBox) [OK] Port 9092: available [Portainer Auth] [OK] Portainer admin login verified (HTTP 200) [VPN Tunnel] [OK] Gluetun tunnel is healthy [Hardware Transcoding] [OK] /dev/dri exists -- GPU devices detected total 0 drwxr-xr-x 3 root root 100 Jun 26 16:03 . drwxr-xr-x 20 root root 4500 Jun 26 16:03 .. drwxr-xr-x 2 root root 100 Jun 26 16:03 by-path crw-rw---- 1 root video 226, 1 Jun 26 16:03 card1 crw-rw---- 1 root render 226, 128 Jun 26 16:03 renderD128 [OK] Intel Quick Sync / GPU render device available (renderD128) [OK] Render device is accessible by current user [Media Storage] [OK] MEDIAROOT=/mnt/nas exists [OK] MEDIAROOT is writable [OK] Your apps (user id 1000) can read your media library [INFO] Free space at MEDIAROOT: 1082GB [System Resources] [INFO] Total RAM: 7190MB [INFO] Available RAM: 4366MB [OK] RAM looks sufficient for 4 enabled modules [INFO] Free disk at SBROOT: 223GB [NAS-Specific] [INFO] NAS type: generic [INFO] Install directory: /opt/sparkbox [WARN] Install directory is on system partition -- consider moving to a data volume [Container Health] [OK] All SparkBox containers are running [Tailscale Reachability] [OK] Dashboard reachable on the LAN IP (192.xxx.xx.xx:8443) — no Tailscale route shadow ============================================ All checks passed! ============================================ Im running ubuntu server
noahlol01 wrote:
v1.6.330 this is the version im on. not working
tomspark wrote:
Thanks for the full diagnostics — those all look solid! The issue persisting on v1.6.330 after Tom's fix suggests the resource polling might be getting stuck or not triggering for your dashboard config. A couple safe next steps: (1) In your browser, do a hard refresh (Ctrl+Shift+R or Cmd+Shift+R) and check the browser console for errors. (2) SSH in and run docker logs sparkboxdashboard to see if the resource poller is reporting any issues. Paste any errors here and we can dig deeper. Flagged this for the team — Tom's reviewing similar reports now.
noahlol01 wrote:
okay. did not work after hard refresh. and the command gives me: Error response from daemon: No such container: sparkboxdashboard
tomspark wrote:
Thanks for the dig! The missing container is the key clue. Let's see what's actually running: SSH in and run docker ps -a | grep -iE 'dashboard|sparkbox' — paste the output. This will show us what containers exist and their actual names. Also grab the last 20 lines of docker logs sparkboxapi if it exists. This info will help us understand why the resource poller isn't starting.
noahlol01 wrote:
sudo docker ps -a | grep -iE 'dashboard|sparkbox' [sudo: authenticate] Password: b670bd61b31e sparkbox-sparkbox-dashboard "/app/entrypoint.sh …" 8 hours ago Up 8 hours (healthy) 0.0.0.0:8443-8443/tcp sb-dashboard sudo docker logs sparkboxapi Error response from daemon: No such container: sparkboxapi
tomspark wrote:
Good find! The container is actually sb-dashboard, not sparkboxdashboard. Try: sudo docker logs sb-dashboard and paste any errors. Also check: sudo docker logs sparkboxcore or run sudo docker ps -a to list all containers so we see what's actually running. The resource poller might be in a different container. This will help us pinpoint why stats aren't displaying.
noahlol01 wrote:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bb185802d982 lscr.io/linuxserver/qbittorrent:5.2.0 "/init" 9 hours ago Up 9 hours (healthy) sb-qbittorrent 263551d318c0 lscr.io/linuxserver/sabnzbd:4.4.1 "/init" 9 hours ago Up 9 hours (healthy) sb-sabnzbd 95d478dbbc56 lscr.io/linuxserver/prowlarr:2.3.5 "/init" 9 hours ago Up 9 hours (healthy) sb-prowlarr 856065a7d51f lscr.io/linuxserver/sonarr:4.0.17 "/init" 9 hours ago Up 9 hours (healthy) sb-sonarr e0c408c326cb lscr.io/linuxserver/radarr:6.1.1 "/init" 9 hours ago Up 9 hours (healthy) sb-radarr fcd80e75a057 ghcr.io/thephaseless/byparr:2.0.0 "uv run main.py" 9 hours ago Up 8 hours (healthy) sb-byparr 3f1c8b68af80 qmcgaw/deunhealth:latest "/app" 9 hours ago Up 9 hours (healthy) sb-deunhealth 0db5b8dade57 qmcgaw/gluetun:v3.41.1 "/gluetun-entrypoint" 9 hours ago Up 9 hours (healthy) 0.0.0.0:7878-7878/tcp, [::]:7878-7878/tcp, 8000/tcp, 0.0.0.0:8191-8191/tcp, [::]:8191-8191/tcp, 8388/tcp, 0.0.0.0:8686-8686/tcp, [::]:8686-8686/tcp, 0.0.0.0:8989-8989/tcp, [::]:8989-8989/tcp, 8888/tcp, 8388/udp, 0.0.0.0:8089-8080/tcp, [::]:8089-8080/tcp, 0.0.0.0:8186-8081/tcp, [::]:8186-8081/tcp, 0.0.0.0:8181-9696/tcp, [::]:8181-9696/tcp sb-gluetun 2b5d33e555af lscr.io/linuxserver/bazarr:1.5.6 "/init" 9 hours ago Up 9 hours (healthy) 0.0.0.0:6767-6767/tcp, [::]:6767-6767/tcp sb-bazarr 62fe3fc84716 seerr/seerr:v3.2.0 "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 0.0.0.0:5055-5055/tcp, [::]:5055-5055/tcp sb-seerr 8eaba7f74cea jellyfin/jellyfin:10.11.11 "/jellyfin/jellyfin" 9 hours ago Up 9 hours (healthy) 0.0.0.0:8096-8096/tcp, [::]:8096-8096/tcp sb-jellyfin-media 4e2e805b5f32 ghcr.io/immich-app/immich-server:v2.7.5 "tini -- /bin/bash -…" 9 hours ago Up 9 hours (healthy) 0.0.0.0:2283-2283/tcp, [::]:2283-2283/tcp sb-immich-server 8354ab5d37d3 redis:7-alpine "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 6379/tcp sb-immich-redis 1162b1c41e8a ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.1 "/usr/local/bin/immi…" 9 hours ago Up 9 hours (healthy) 5432/tcp sb-immich-db 6900f8ffb39a ghcr.io/immich-app/immich-machine-learning:v2.7.5 "tini -- python -m i…" 9 hours ago Up 9 hours (healthy) sb-immich-ml b670bd61b31e sparkbox-sparkbox-dashboard "/app/entrypoint.sh …" 9 hours ago Up 9 hours (healthy) 0.0.0.0:8443-8443/tcp sb-dashboard e2c1d18370d7 portainer/portainer-ce:2.42.0 "/portainer --admin-…" 9 hours ago Up 9 hours 8000/tcp, 9443/tcp, 0.0.0.0:9000-9000/tcp, [::]:9000-9000/tcp sb-portainer 41a47b86f72f jc21/nginx-proxy-manager:2.14.0 "/init" 9 hours ago Up 9 hours (healthy) 0.0.0.0:80-81-80-81/tcp, [::]:80-81-80-81/tcp, 0.0.0.0:443-443/tcp, [::]:443-443/tcp sb-npm 7e4e4e990adc ghcr.io/gethomepage/homepage:v1.13.1 "docker-entrypoint.s…" 9 hours ago Up 9 hours (healthy) 0.0.0.0:3000-3000/tcp, [::]:3000-3000/tcp
tomspark wrote:
Thanks for the comprehensive output! All containers show healthy and running—exactly what we needed to see. Since the containers are good but stats still aren't displaying, let's check if the resource poller service is running in the dashboard. Try: sudo docker logs sb-dashboard | grep -iE 'resource|poll|stats' (paste last 50 lines). Also check browser console (F12 → Console tab) for JavaScript errors. This will help us pinpoint whether it's a backend service issue or frontend polling problem. Flagged for investigation.
noahlol01 wrote:
only have 2 line sudo docker logs sb-dashboard | grep -iE 'resource|poll|stats' [alerts] Failed to restart sb-seerr: (HTTP code 304) container already started - [alerts] Failed to restart sb-bazarr: (HTTP code 304) container already started -
tomspark wrote:
Ah, those empty logs for resource/poll/stats are the smoking gun—the resource poller isn't running. Let's try one safe step: sudo docker restart sb-dashboard, wait ~30s, then refresh your browser. If stats are still blank, run docker logs sb-dashboard for startup errors. Flagged for investigation—this pattern (valid setup, all healthy containers, but poller stuck) needs dev review.
noahlol01 wrote:
sudo docker logs sb-dashboard [startup] Cleared stale operation lock: lock from previous dashboard instance (bootId mismatch) [2026-07-04T11:14:56.496Z] [INFO] SparkBox Dashboard running on port 8443 [2026-07-04T11:14:57.663Z] [INFO] SBROOT: /app [2026-07-04T11:14:57.666Z] [INFO] License tier (cached): legend [2026-07-04T11:14:57.668Z] [INFO] Backup encryption: dedicated key [health-report] Weekly report scheduler started (Sundays 8 AM). [knowledge-miner] Initialized. Daily mining at 4:00 AM. [2026-07-04T11:15:00.884Z] [INFO] [perms] migrated .env-hash from 664 to 600 [2026-07-04T11:15:00.886Z] [WARN] [perms] could not chmod .module-render-hashes: EPERM: operation not permitted, chmod '/app/state/.module-render-hashes' [2026-07-04T11:15:00.887Z] [INFO] [perms] migrated agent-outcomes.jsonl from 664 to 600 [2026-07-04T11:15:00.888Z] [INFO] [perms] migrated alerts.json from 664 to 600 [2026-07-04T11:15:00.897Z] [INFO] [perms] migrated arr-api-keys.json from 664 to 600 [2026-07-04T11:15:00.898Z] [INFO] [perms] migrated arr-bootstrap.log from 664 to 600 [2026-07-04T11:15:00.898Z] [INFO] [perms] migrated arr-bootstrapped from 664 to 600 [2026-07-04T11:15:00.900Z] [INFO] [perms] migrated authelia-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.902Z] [INFO] [perms] migrated bazarr-wired from 664 to 600 [2026-07-04T11:15:00.903Z] [INFO] [perms] migrated chat-usage.json from 664 to 600 [2026-07-04T11:15:00.904Z] [INFO] [perms] migrated dashboard-prefs.json from 664 to 600 [2026-07-04T11:15:00.905Z] [INFO] [perms] migrated duplicati-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.906Z] [INFO] [perms] migrated filebrowser-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.906Z] [INFO] [perms] migrated filebrowser-init.log from 664 to 600 [2026-07-04T11:15:00.906Z] [INFO] [perms] migrated filebrowser-initted from 664 to 600 [2026-07-04T11:15:00.907Z] [INFO] [perms] migrated gotify-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.907Z] [INFO] [perms] migrated install-failure-1781350916.log from 664 to 600 [2026-07-04T11:15:00.907Z] [INFO] [perms] migrated install-failure-1781431498.log from 664 to 600 [2026-07-04T11:15:00.908Z] [INFO] [perms] migrated install-failure-1781471768.log from 664 to 600 [2026-07-04T11:15:00.908Z] [INFO] [perms] migrated install-failure-1781551798.log from 664 to 600 [2026-07-04T11:15:00.908Z] [INFO] [perms] migrated install-failure-1781566423.log from 664 to 600 [2026-07-04T11:15:00.908Z] [INFO] [perms] migrated install-failure-1781588003.log from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated install-id from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated install-meta.conf from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated jellyfin-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated license-skipped from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated license.json from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated license.json.tmp.1.918f48d1 from 664 to 600 [2026-07-04T11:15:00.909Z] [INFO] [perms] migrated linkding-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.910Z] [INFO] [perms] migrated manifest-cache.json from 664 to 600 [2026-07-04T11:15:00.910Z] [INFO] [perms] migrated media-autoseed.log from 664 to 600 [2026-07-04T11:15:00.910Z] [INFO] [perms] migrated media-autoseeded from 664 to 600 [2026-07-04T11:15:00.910Z] [INFO] [perms] migrated media-finish.log from 664 to 600 [2026-07-04T11:15:00.910Z] [INFO] [perms] migrated media-finished from 664 to 600 [2026-07-04T11:15:00.911Z] [INFO] [perms] migrated metrics-history.json from 664 to 600 [2026-07-04T11:15:00.911Z] [INFO] [perms] migrated modules.conf from 664 to 600 [2026-07-04T11:15:00.911Z] [INFO] [perms] migrated pihole-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.911Z] [INFO] [perms] migrated portainer-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.911Z] [INFO] [perms] migrated pre-update-digests.json from 664 to 600 [2026-07-04T11:15:00.912Z] [INFO] [perms] migrated profile-apply.log from 664 to 600 [2026-07-04T11:15:00.912Z] [INFO] [perms] migrated prowlarr-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.912Z] [INFO] [perms] migrated qbittorrent-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.912Z] [INFO] [perms] migrated radarr-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.912Z] [INFO] [perms] migrated recyclarr-sync.log from 664 to 600 [2026-07-04T11:15:00.912Z] [INFO] [perms] migrated recyclarr-synced from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated seerr-seed.log from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated seerr-seeded from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated self-update-helper.log from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated setup-apply.log from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated setup-complete from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated soft-reset.log from 664 to 600 [2026-07-04T11:15:00.913Z] [INFO] [perms] migrated sonarr-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.914Z] [INFO] [perms] migrated sparkbox-err-trap.log from 664 to 600 [2026-07-04T11:15:00.996Z] [INFO] [perms] migrated telemetry-history.json from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] migrated telemetry-install-id.txt from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] migrated telemetry.json from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] migrated updates.json from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] migrated vaultwarden-admin-password.txt from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] migrated weather-location.json from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] migrated wizard.json from 664 to 600 [2026-07-04T11:15:00.997Z] [INFO] [perms] state/ permission migration: 59 file(s) locked to 0600 [alerts] Service health monitor started (30s interval; safety floor active for all installs). [scheduler] SparkBox-self-update daily check scheduled (05:00). [2026-07-04T11:15:28.596Z] [INFO] License cache refreshed: licensed (Pro) (stale fallback) [alerts] sb-npm is unhealthy [alerts] Auto-restarting sb-npm (attempt 1/3) [alerts] sb-homepage is unhealthy [alerts] Auto-restarting sb-homepage (attempt 1/3) [alerts] sb-immich-server is unhealthy [alerts] Auto-restarting sb-immich-server (attempt 1/3) [alerts] sb-seerr is stopped [alerts] Auto-restarting sb-seerr (attempt 1/3) [alerts] sb-npm recovered [alerts] sb-homepage is unhealthy [alerts] Auto-restarting sb-homepage (attempt 1/3) [alerts] Failed to restart sb-seerr: (HTTP code 304) container already started - [alerts] sb-seerr recovered [alerts] sb-immich-server recovered [alerts] sb-immich-ml is unhealthy [alerts] Auto-restarting sb-immich-ml (attempt 1/3) [alerts] sb-homepage recovered [alerts] sb-immich-ml recovered [alerts] sb-npm is unhealthy [alerts] Auto-restarting sb-npm (attempt 1/3) [alerts] sb-bazarr is unhealthy [alerts] Auto-restarting sb-bazarr (attempt 1/3) [alerts] sb-bazarr is stopped [alerts] Auto-restarting sb-bazarr (attempt 1/3) [alerts] sb-immich-server is unhealthy [alerts] Auto-restarting sb-immich-server (attempt 1/3) [alerts] sb-immich-server is unhealthy [alerts] Auto-restarting sb-immich-server (attempt 1/3) [alerts] Failed to restart sb-bazarr: (HTTP code 304) container already started - [alerts] sb-npm recovered [alerts] sb-bazarr recovered [alerts] sb-immich-server recovered [2026-07-04T11:19:58.214Z] [INFO] License cache refreshed: licensed (Pro) [alerts] sb-byparr is unhealthy [alerts] Auto-restarting sb-byparr (attempt 1/3) [alerts] sb-seerr is unhealthy [alerts] Auto-restarting sb-seerr (attempt 1/3) [alerts] sb-byparr recovered [alerts] sb-seerr recovered [alerts] sb-immich-server is unhealthy [alerts] Auto-restarting sb-immich-server (attempt 1/3) [alerts] sb-immich-server recovered [2026-07-04T11:24:57.981Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T11:29:57.900Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T11:34:57.858Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T11:39:57.853Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T11:44:57.893Z] [INFO] License cache refreshed: licensed (Pro) [sessions] Reaped 102 expired session files [2026-07-04T11:49:57.867Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T11:54:57.852Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T11:59:57.842Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:04:57.914Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:09:57.992Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:14:57.884Z] [INFO] License cache refreshed: licensed (Pro) [sessions] Reaped 59 expired session files [2026-07-04T12:19:58.236Z] [INFO] License cache refreshed: licensed (Pro) [alerts] sb-byparr is unhealthy [alerts] Auto-restarting sb-byparr (attempt 1/3) [alerts] sb-byparr recovered [2026-07-04T12:24:57.864Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:29:57.909Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:34:57.868Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:39:57.883Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:44:57.877Z] [INFO] License cache refreshed: licensed (Pro) [sessions] Reaped 60 expired session files [2026-07-04T12:49:57.868Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:54:57.862Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T12:59:57.853Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T13:04:57.849Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T13:09:57.875Z] [INFO] License cache refreshed: licensed (Pro) [2026-07-04T13:14:58.200Z] [INFO] License cache refreshed: licensed (Pro) [sessions] Reaped 59 expired session files [2026-07-04T13:19:58.402Z] [INFO] License cache re
noahlol01 wrote:
Have this error 2026-07-04T20:37:32.772572349Z [2026-07-04T20:37:32.772Z] [WARN] [perms] could not chmod .module-render-hashes: EPERM: operation not permitted, chmod '/app/state/.module-render-hashes'
tomspark wrote:
That warning is harmless — it's just the dashboard tidying up file permissions and one file wouldn't budge. It's not what's breaking your stats, promise. The real news: your logs cracked it. This is a bug on our side — the classic dashboard view stopped asking for each app's CPU numbers the right way after an earlier security tightening, so those cards show -- for everyone on that view. Nothing more needed from you: I've filed the fix and I'll follow up here the moment it ships.
Chris wrote:
That follow-up is well overdue — it got dropped, and you shouldn't have had to wait on it. The fix did land. Tom shipped it in v1.6.335 on 12 July, and the cause was the one you were given: the view was asking for each app's stats by container ID, while the server only accepts sb- names, so every card fell back to dashes. It now subscribes by name. You were on 1.6.330, so it hasn't reached you yet. Take the update from Settings → Updates, then hard-refresh. If any card is still blank afterwards, say so here and I'll pick it straight back up. — Chris