On the homepage I still got the errors : API Error: Unexpected error but the app launches. Happens with prowlarr, sonarr radarr qbittorrent.
18 replies
tomspark wrote:
Those errors on the homepage tiles mean SparkBox can't reach Prowlarr, Sonarr, Radarr, or qBittorrent internally — even though the app is running, the dashboard can't poll their status. Two quick things: are these apps actually working (can you open Sonarr and search for a show, or is everything broken inside too)? And SSH into your box and run sparkbox doctor, then paste the output here — that'll show me exactly what's talking to what.
franciscus wrote:
[Install location] [OK] SparkBox is installed at: /opt/sparkbox [OK] Settings file (.env): /opt/sparkbox/.env [OK] Media library folder (MEDIAROOT): /volume1/media [Docker] [ERROR] Cannot connect to Docker daemon - Is Docker running? - Is your user in the docker group? Run: sudo usermod -aG docker $(whoami) [Docker Socket] [OK] Docker socket exists at /var/run/docker.sock [WARN] Docker socket is not readable by current user [User IDs] [INFO] Current user: adminfrans (UID=1000, GID=10) [OK] PUID=1000 (containers run as UID 1000) [OK] PGID=1000 (containers run as GID 1000) [Container Egress] [WARN] Docker unreachable — skipping egress test (fix Docker first) [Port Conflicts] [WARN] Port 53: in use by non-Docker process LISTEN 0 32 192.100.1.1:53 0.0.0.0: [WARN] Port 80: in use by non-Docker process LISTEN 0 511 0.0.0.0:80 0.0.0.0: [WARN] Port 443: in use by non-Docker process LISTEN 0 511 0.0.0.0:443 0.0.0.0: [WARN] Port 8080: in use by non-Docker process LISTEN 0 4096 0.0.0.0:8080 0.0.0.0: [WARN] Port 8443: in use by non-Docker process LISTEN 0 4096 0.0.0.0:8443 0.0.0.0: [WARN] Port 9000: in use by non-Docker process LISTEN 0 4096 0.0.0.0:9000 0.0.0.0: [OK] Port 9092: available [Portainer Auth] [INFO] sb-portainer not running — skipping (run: sudo sparkbox up) [VPN Tunnel] [INFO] sb-gluetun not deployed — media stack not installed (or VPN module skipped) [Hardware Transcoding] [OK] /dev/dri exists -- GPU devices detected total 0 drwxr-xr-x 3 root root 100 Jun 27 09:04 . drwxr-xr-x 19 root root 7860 Jul 2 12:09 .. drwxr-xr-x 2 root root 80 Jun 27 09:05 by-path crw-rw---- 1 root video 226, 0 Jun 27 09:05 card0 crw-rw---- 1 root render 226, 128 Jun 27 09:05 renderD128 [OK] Intel Quick Sync / GPU render device available (renderD128) [WARN] Render device may not be accessible -- check group membership (video/render) [Media Storage] [OK] MEDIAROOT=/volume1/media exists [OK] MEDIAROOT is writable [WARN] Your apps (user id 1000) can't READ what's in MEDIAROOT — common with media already on a UGREEN/UGOS NAS. [WARN] Fix (lets the apps read WITHOUT changing who owns the files): sudo chmod -R o+rX '/volume1/media' [WARN] Guide: https://tomsparkbox.com/guides/use-existing-ugreen-media.html [INFO] Free space at MEDIAROOT: 13546GB [System Resources] [INFO] Total RAM: 15769MB [INFO] Available RAM: 4979MB [OK] RAM looks sufficient for 6 enabled modules [INFO] Free disk at SBROOT: 87GB [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] [WARN] Docker unreachable — skipping container health (fix Docker first)
tomspark wrote:
Great debug output — the Docker socket permission is the blocker. Run: sudo usermod -aG docker $(whoami), then log out and back in. That puts you in the docker group so SparkBox can reach the daemon. The port conflicts (53, 80, 443, etc.) are expected on a NAS — SparkBox works around them. For media access, your user (UID 1000) can't read what's in /volume1/media yet. Fix it: sudo chmod -R o+rX '/volume1/media' — lets apps read existing files without changing ownership. Run sparkbox doctor again after both steps, reply with the output, and we'll be golden.
franciscus 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): /volume1/media [Docker] [OK] Docker daemon is accessible [OK] Docker version: Docker version 26.1.0, build 9714adc [OK] Docker Compose: 2.26.1 [Docker Socket] [OK] Docker socket exists at /var/run/docker.sock [OK] Docker socket is readable [User IDs] [INFO] Current user: adminfrans (UID=1000, GID=10) [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] [WARN] Port 53: in use by non-Docker process LISTEN 0 32 192.100.1.1:53 0.0.0.0: [WARN] Port 80: in use by non-Docker process LISTEN 0 511 0.0.0.0:80 0.0.0.0: [WARN] Port 443: in use by non-Docker process LISTEN 0 511 0.0.0.0:443 0.0.0.0: [WARN] Port 8080: in use by non-Docker process LISTEN 0 4096 0.0.0.0:8080 0.0.0.0: [WARN] Port 8443: in use by non-Docker process LISTEN 0 4096 0.0.0.0:8443 0.0.0.0: [WARN] Port 9000: in use by non-Docker process LISTEN 0 4096 0.0.0.0:9000 0.0.0.0: [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 27 09:04 . drwxr-xr-x 19 root root 7860 Jul 2 12:09 .. drwxr-xr-x 2 root root 80 Jun 27 09:05 by-path crw-rw---- 1 root video 226, 0 Jun 27 09:05 card0 crw-rw---- 1 root render 226, 128 Jun 27 09:05 renderD128 [OK] Intel Quick Sync / GPU render device available (renderD128) [WARN] Render device may not be accessible -- check group membership (video/render) [Media Storage] [OK] MEDIAROOT=/volume1/media exists [OK] MEDIAROOT is writable [WARN] Your apps (user id 1000) can't READ what's in MEDIAROOT — common with media already on a UGREEN/UGOS NAS. [WARN] Fix (lets the apps read WITHOUT changing who owns the files): sudo chmod -R o+rX '/volume1/media' [WARN] Guide: https://tomsparkbox.com/guides/use-existing-ugreen-media.html [INFO] Free space at MEDIAROOT: 13546GB [System Resources] [INFO] Total RAM: 15769MB [INFO] Available RAM: 4865MB [OK] RAM looks sufficient for 6 enabled modules [INFO] Free disk at SBROOT: 87GB [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.168.8.234:8443) — no Tailscale route shadow ============================================ 8 issue(s) found. Review warnings above and fix as needed.
franciscus wrote:
The fix: [WARN] Fix (lets the apps read WITHOUT changing who owns the files): sudo chmod -R o+rX '/volume1/media' does not work after 2 times running still same warning.
tomspark wrote:
Thanks for trying those steps twice. Since the chmod fix isn't working, your media storage is likely a mounted NAS share — common on UGREEN. Let me diagnose: run df /volume1/media and paste the output. If it shows 'cifs' or 'nfs', that's a mounted network share and chmod won't work there. If it's ext4, there's a different permissions issue. Either way, we'll fix it — just share that one output.
franciscus wrote:
Outcome: Filesystem 1K-blocks Used Available Use% Mounted on - 48764502016 34561117916 14203098756 71% /volume1/media
tomspark wrote:
That dash for the filesystem just means UGOS's internal storage — normal for UGREEN, nothing broken. Since chmod ran twice without errors but the warning's still there, UGOS is probably layering its own permissions on top. One more diagnostic to pin it down: sudo ls -lan /volume1/media | head -10 Paste the output here — whatever you see, there's a fix for it.
franciscus wrote:
total 16 drwxrwxr-x 1 1000 1000 86 Jun 28 10:48 . drwxr-xr-x 1 0 0 178 Jul 2 08:51 .. drwxrwxr-x 1 1000 1000 40 Jul 2 07:13 downloads drwxr-xr-x 1 1000 10 23038 Jul 2 19:13 movies drwxrwxr-x 1 1000 1000 0 Jun 28 10:48 Movies drwxrwxr-x 1 1000 1000 0 Jun 28 10:48 Music drwxr-xr-x 1 1000 10 6660 Jun 27 16:27 musik d------r-x 1 0 0 22 Jun 28 16:42 recycle drwxr-xr-x 1 1000 10 7084 Jul 2 08:26 tv
franciscus wrote:
My media already existed in the maps with lowercase , asked Tom ai and told me no problem you can point sonarr etc. to the existing maps.
tomspark wrote:
Tom AI was spot on — you can absolutely point Sonarr and Radarr at your existing lowercase folders, no renaming needed. In Sonarr go to Settings → Media Management → Root Folders and set the path to /data/movies (or /data/tv for shows). Radarr is the same with /data/movies. Are the 'API Error: Unexpected error' tiles on the SparkBox homepage looking better now? With Docker fully working and all containers running those should have cleared up.
franciscus wrote:
I already did when I installed sonarr and radarr. The homepage looks the same, with the same error as posted.
tomspark wrote:
Since Docker is now fully working and all containers are running, let's do a clean restart of the whole stack: run sudo sparkbox restart and wait about 2-3 minutes. The homepage errors usually clear once everything reinitializes properly after a Docker group change. While it's restarting, try opening Sonarr directly in your browser at http://[your NAS IP]:8989 — if Sonarr's own interface loads, the apps are working fine and it's just a dashboard timing thing. If the errors are still showing after the restart, paste a line from sudo sparkbox logs sonarr and we'll see exactly what's stuck.
franciscus wrote:
I restartet sparkbox, homepage is the same error. Sudo sparkbox logs sonarr: no such container : sonarr. Found an error in Homepage logs: 2026-07-04T13:05:23.879002306Z [2026-07-04T13:05:23.878Z] error: <servicesProxy TypeError: Invalid URL
tomspark wrote:
That Invalid URL line you found is the real clue — nice catch. Two things. First, my bad on the logs command: the full name has a prefix, so it's sudo sparkbox logs sb-sonarr (plain sonarr won't be found — Sonarr itself is fine). Second, that homepage error means one of the tiles was given a broken web address in its settings file. Run this and paste what comes back: sudo grep 'url:' /opt/sparkbox/modules/core/config/homepage/services.yaml Every line should look like http://an-ip-address:port — if one looks squished together or is missing the number at the end, that's a bug on our side and I'll get a fix out.
franciscus wrote:
here are the lines: url: http://172.20.0.1:8989 url: http://172.20.0.1:7878 url: http://172.20.0.1:8181 url: http://172.20.0.1:8089
franciscus wrote:
Homepage is now functioning Thank you for the help looks super when everything runs smooth...
tomspark wrote:
Love to see it — thanks for sticking with the back-and-forth and pasting every output, that's what cracked it. The web addresses you pasted all looked correct, so it looks like everything just needed that restart to catch up. If a tile ever shows that error again, sudo sparkbox restart is the first thing to try. Enjoy the setup!