I am having problems with qbittorrent not able to load the page. I have been trying to figure out the problem but I saw another post in here having the same issue. I have run sparkbox up/down, restart, and everything i have thought of besides reinstalling fresh. I have been running it until recently i noticed this issue. in my apps it just says starting.
12 replies
Chris wrote:
Hey simplebenn — you haven't broken anything, and a fresh reinstall won't be needed here. qBittorrent is one of the few apps that runs behind your VPN, so when the VPN has a rough moment its page won't load and the app can sit on 'starting' while everything else on the dashboard looks fine. Let's pin down exactly what's holding it: open a terminal on the box and run sudo sparkbox doctor — it checks each container and prints the qBittorrent and VPN status with any error line. Paste back those two lines and I'll take it from there.
simplebenn 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/sparkbox-data/media [Docker] [OK] Docker daemon is accessible [OK] Docker version: Docker version 29.4.3, build 055a478 [OK] Docker Compose: 5.1.3 [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] Apps can reach webhook.tomsparkbox.com over sbproxy (their real network) [OK] Docker's default bridge can reach tomsparkbox.com (dashboard Update button) [Port Conflicts] [OK] Port 8080: in use by SparkBox (sb-npm) [OK] Port 8444: in use by SparkBox (sb-npm) [OK] Port 8443: in use by SparkBox (sb-dashboard) [OK] Port 9000: in use by SparkBox (sb-portainer) [OK] Port 53: in use by SparkBox (sb-pihole) [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 Aug 15 23:57 . drwxr-xr-x 20 root root 7780 Aug 15 23:57 .. drwxr-xr-x 2 root root 80 Aug 15 23:57 by-path crw-rw---- 1 root video 226, 0 Aug 15 23:57 card0 crw-rw---- 1 root render 226, 128 Aug 15 23:57 renderD128 [OK] Intel Quick Sync / GPU render device available (renderD128) [OK] Render device is accessible by current user [OK] sb-immich-server has /dev/dri attached [OK] sb-jellyfin-media is in the host's real render group (105) [OK] sb-tdarr is in the host's real render group (105) [Media Storage] [OK] MEDIAROOT=/volume1/sparkbox-data/media exists [OK] MEDIAROOT is writable [OK] Your apps (user id 1000) can read your media library [INFO] Free space at MEDIAROOT: 17104GB [System Resources] [INFO] Total RAM: 31868MB [INFO] Available RAM: 24618MB [OK] RAM looks sufficient for 8 enabled modules [INFO] Free disk at SBROOT: 81GB [NAS-Specific] [INFO] NAS type: ugreen [INFO] Install directory: /opt/sparkbox [WARN] Install directory is on system partition -- consider moving to a data volume There is no one-shot move command. The supported route is: 1. sudo sparkbox backup 2. copy the archive somewhere off this partition 3. re-install with: --install-dir <path on your data volume 4. sudo sparkbox restore <archive Restore now rewrites SBROOT in the settings file to the new location. [Container Health] [OK] All SparkBox containers are running and passing their health checks [Saved Passwords] [WARN] sb-filebrowser: the password saved in state/filebrowser-admin-password.txt is NOT accepted (HTTP 404). [WARN] This happens after a reinstall over existing data, or if the password was [WARN] changed inside the app itself — the saved copy then drifts out of sync. Fix it with: sudo /opt/sparkbox/sparkbox reset-password filebrowser [Tailscale Inbound Path] [OK] Tailscale's inbound path reaches the dashboard (127.0.0.1:8443 from inside sb-tailscale) — phones on your tailnet can get through [Tailscale Reachability] [OK] Dashboard reachable on the LAN IP (192.168.50.165:8443) — no Tailscale route shadow ============================================ 1 issue(s) found. Review warnings above and fix as needed. ============================================
Chris wrote:
That is the best possible result — your doctor run came back all green: the VPN tunnel is healthy and every container, qBittorrent included, is up and passing its health check. So nothing is stuck at the container level right now, and the starting state you saw was just the app finishing its recovery after those restarts. Give it one fresh try: open qBittorrent straight at http://192.168.50.165:8089 — that is qBittorrent on your box. If that page loads you are all set. If it still will not open, run: sudo sparkbox logs qbittorrent and paste the last few lines here.
simplebenn wrote:
[custom-init] Files found, executing [custom-init] 00-set-admin-password.sh: executing... [sparkbox-qbit-init] Detected broken quoted @ByteArray hash from old SparkBox version — rewriting unquoted. [sparkbox-qbit-init] Rewrote /config/qBittorrent/qBittorrent.conf with unquoted hash. [sparkbox-qbit-init] Ensured LAN-access settings in /config/qBittorrent/qBittorrent.conf (existing password kept, no injection). [custom-init] 00-set-admin-password.sh: exited 0 WebUI will be started shortly after internal preparations. Please wait... "WebUI: Unable to bind to IP: , port: 8080. Reason: The bound address is already in use" Unable to bind to IP: , port: 8080. Reason: The bound address is already in use To fix the error, you may need to edit the config file manually. Information Connection to localhost (::1) 8080 port [tcp/http-alt] succeeded! [ls.io-init] done.
Chris wrote:
That log is actually good news, not bad. The part about a broken quoted hash is SparkBox catching and repairing a corrupted setting inside qBittorrent — that was the real thing stopping your page from loading, and it's now fixed on its own. The 'already in use' line is just qBittorrent trying to start twice inside its own little container, which is harmless — the last line ('Connection to localhost 8080 succeeded') is it confirming the page is actually up now. Give it one fresh try at http://192.168.50.165:8089 and it should open.
simplebenn wrote:
I get no connection, what config file do i need to edit to get it working?
Chris wrote:
None — you shouldn't need to hand-edit a config file here, and I'm sorry this is still stuck. The log you pasted already shows SparkBox auto-repairing the one broken setting it found, so there's nothing for you to edit there. The real clue is the port line: qBittorrent's web page couldn't grab its port because something else in the VPN stack was already using it — that's why you get 'no connection' even though the container looks healthy. Try one clean reset: run sudo sparkbox restart media, wait a minute, then open http://192.168.50.165:8089 again. If it still won't load, just tell me — I've sent the details over so Tom can look into the port conflict directly.
simplebenn wrote:
I have restarted and I still do not get a connection.
Chris wrote:
Right — and I'm sorry this is still going, you shouldn't be the one chasing it at this point. The log you pasted is the actual clue: qBittorrent's web page is trying to take its usual port and something else on the box is already sitting on it, so the page never opens even though every other check reads healthy. That one's on our side to untangle, not yours, and I've just handed that exact line to Tom to chase down. While he does, one quick thing: run sparkbox urls and paste what it prints next to qBittorrent — I want to be sure of the exact address your box is using (it should end in :8089).
simplebenn wrote:
Service URLs: Core Infrastructure: Nginx Proxy Manager: http://192.168.50.165:81 Portainer: http://192.168.50.165:9000 Homepage: http://192.168.50.165:3000 TomSparkBox Dashboard: TomSparkBox Dashboard: http://192.168.50.165:8443 File Browser: File Browser: http://192.168.50.165:8086 Immich: Immich: http://192.168.50.165:2283 Media Center: qBittorrent: http://192.168.50.165:8089 Prowlarr: http://192.168.50.165:8181 Sonarr: http://192.168.50.165:8989 Radarr: http://192.168.50.165:7878 Bazarr: http://192.168.50.165:6767 Jellyfin (media bundle): http://192.168.50.165:8096 Seerr: http://192.168.50.165:5055 Lidarr: http://192.168.50.165:8686 SABnzbd (Usenet): http://192.168.50.165:8186 FlareSolverr: http://192.168.50.165:No Notifiarr: http://192.168.50.165:5454 Pi-hole: Pi-hole: http://192.168.50.165:8053 Tdarr: Tdarr: http://192.168.50.165:8265
Chris wrote:
That output is exactly what I needed — it confirms your qBittorrent address is right, so that rules out the last simple cause. What is left is the port issue we already found in your earlier log, and that one is squarely on our side — not something you can fix from a config file. It is with Tom now. Please do not spend any more time on it tonight; I will reply here the moment there is a fix. I know this has dragged on way longer than it should, and I am sorry about that.
Chris wrote:
Tom's diagnosis is in, and one fix ships tonight: the check that should have caught this was looking at the wrong thing, so everything read healthy while qBittorrent couldn't actually answer. That's fixed and reaches your box on the next update. One quick command will tell us what's holding the port so we can clear it for you — run: sudo docker ps --filter network=container:sb-gluetun --format 'table {{.Names}}\t{{.Status}}' and paste the list back here. We're looking for a second qBittorrent or SABnzbd row with a name SparkBox didn't give it. Paste that and I'll hand you the exact removal line — or if the list looks normal, that's one more clue for Tom.