Did sparkbox update and now dashboard is not working. Get the following error
20 replies
tomspark wrote:
You didn't lose anything — the update just left the old dashboard still holding onto its spot (that error is the new dashboard trying to grab port 8443 while the previous copy hasn't let go of it yet). Quickest fix is to restart Docker so it clears that out, then start SparkBox back up: sudo systemctl restart docker && sudo sparkbox up Give it a minute and the dashboard should load again at your usual :8443 address. If it still won't come up, paste whatever it says next and I'll take it from there.
jackhammer57 wrote:
On sudo sparkbox up I get the following
tomspark wrote:
That's just a leftover 'busy' flag from the update that got interrupted — the task it thinks is running actually finished days ago, so it's safe to clear. Run these two: sudo rm /opt/sparkbox/state/operation.lock && sudo sparkbox up That removes the stale lock and brings everything up. Give it a minute and the dashboard should be back at :8443. If anything else pops up, paste it and we'll keep going.
jackhammer57 wrote:
still getting the 8443 port error
tomspark wrote:
Sorry it's being this stubborn — something grabbed the dashboard's port (8443) and a plain restart isn't shaking it loose. Let's fully stop SparkBox first, which releases the port, then start it clean: sudo sparkbox down && sudo sparkbox up The 'down' clears everything out, so when it comes back up nothing's still holding 8443. Give it a minute and the dashboard should load at :8443. If it STILL stops on the dashboard after that, tell me — I'll give you a quick one-liner to spot exactly what's sitting on that port.
jackhammer57 wrote:
didn't work. its still stuck on the same error
tomspark wrote:
Okay — since fully stopping SparkBox didn't free it, something outside SparkBox is sitting on that port. This one-liner shows exactly what; run it and paste me the output: sudo docker ps -a --filter publish=8443 That lists anything holding 8443. Once I see what it is, I'll give you the exact one command to clear it (or move the dashboard onto a free port). If it comes back empty, just say so — then it's a regular program on the box using 8443 and we'll track that down instead.
jackhammer57 wrote:
here is the output CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a39aaf96ff9a jc21/nginx-proxy-manager:2.14.0 "/init" 5 minutes ago Up 4 minutes (healthy) 0.0.0.0:81-81/tcp, :::81-81/tcp, 0.0.0.0:8080-80/tcp, :::8080-80/tcp, 0.0.0.0:8443-443/tcp, :::8443-443/tcp sb-npm
tomspark wrote:
That's the culprit — your Nginx proxy (sb-npm) is parked on 8443, which is the dashboard's own port, so they're colliding. Let's move Nginx to the normal 443 and free up 8443: sudo sed -i 's/^HTTPSPORT=./HTTPSPORT=443/' /opt/sparkbox/.env && sudo sparkbox up The dashboard should then grab 8443 and load at :8443. If it still says 8443 is taken after that, tell me — your older version may keep that setting somewhere else and I'll point you right to it.
jackhammer57 wrote:
looks like dashboard is good now but 443 is looking bad here's the result SparkBox v1.6.114 - Self-Hosted Privacy Stack Created by Tom Spark | youtube.com/@TomSparkReviews Environment: NAS (generic) [INFO] Starting SparkBox... [INFO] Active modules: core dashboard [INFO] Prepared 2 module config dir(s) for PUID=1000 PGID=10 [INFO] .env changed since last up — recreating containers to pick up new values [+] Running 3/3 ✔ Container sb-homepage Started 0.4s ✔ Container sb-portainer Started 0.1s ✔ Container sb-npm Recreated 3.7s Error response from daemon: driver failed programming external connectivity on endpoint sb-npm (64e30d4375fb98e4f55a8327b5f0ba5fc4847eca667b37098a44c09f4c96df2f): Error starting userland proxy: listen tcp4 0.0.0.0:443: bind: address already in use [+] Running 1/1 ✔ Container sb-dashboard Started 0.1s
tomspark wrote:
That's the dashboard back — you can reach it at :8443 now, nice. The 443 error is the last piece: something else on your box (usually the NAS's own admin page) already owns port 443, which is exactly why Nginx got shoved onto 8443 in the first place. Let's give Nginx its own free port so it stops fighting both: sudo sed -i 's/^HTTPSPORT=./HTTPSPORT=8444/' /opt/sparkbox/.env && sudo sparkbox up That parks Nginx on 8444, leaves 8443 for the dashboard, and steps around whatever's on 443. Everything should come up clean this time.
tomspark wrote:
Good — dashboard being back is the main thing. Two notes: you're still on v1.6.114, which is a good few versions back, so once you're settled grab the latest with sudo sparkbox update — the port collision and the 'another task is still running' lock that wedged you are both fixed in the current build, so updating (and future updates) won't get stuck like that again. And '443 looking bad' is expected here: we moved your SparkBox proxy off to 8444, so whatever's sitting on 443 is almost certainly your NAS's own admin page, not SparkBox — nothing to fix there. If something specific still isn't loading, tell me what and I'll dig in.
jackhammer57 wrote:
so I did sudo sparkbox update Joe@DXP4800PRO-868A:~$ sudo sparkbox update [sudo] password for Joe: [INFO] Pulling latest images for all enabled modules... [+] Pulling 3/3 ✔ npm Pulled 1.2s ✔ portainer Pulled 1.1s ✔ homepage Pulled 0.8s [+] Pulling 1/0 ✔ sparkbox-dashboard Skipped - No image to be pulled 0.0s [INFO] Recreating containers... [+] Running 3/3 ✔ Container sb-portainer Started 0.1s ✔ Container sb-homepage Started 0.4s ✔ Container sb-npm Started 3.6s [OK] Update complete. but in dashboard its still showing version.114 14 out of 15 services are good portainer is still bad. here is the log Connecting... �2026-06-03T17:40:00.326147371Z [90m2026/06/03 05:40PM[0m [32mINF[0m [1mgithub.com/portainer/portainer/api/cmd/portainer/main.go:321[0m[36m [0m encryption key file not present | [36mfilename=[0m/run/secrets/portainer �2026-06-03T17:40:00.326437332Z [90m2026/06/03 05:40PM[0m [32mINF[0m [1mgithub.com/portainer/portainer/api/cmd/portainer/main.go:360[0m[36m [0m proceeding without encryption key | �2026-06-03T17:40:00.326454813Z [90m2026/06/03 05:40PM[0m [32mINF[0m [1mgithub.com/portainer/portainer/api/database/boltdb/db.go:137[0m[36m [0m loading PortainerDB | [36mfilename=[0mportainer.db C2026-06-03T17:40:00.375473106Z [90m2026/06/03 05:40PM[0m [31mFTL[0m [1mgithub.com/portainer/portainer/api/cmd/portainer/main.go:371[0m[36m [0m The database schema version does not align with the server version. Please consider reverting to the previous server version or addressing the database migration issue. |
tomspark wrote:
Ah, that explains it — there are two different commands and they do different jobs. "sparkbox update" only refreshes your apps' images; it doesn't move SparkBox itself off v1.6.114 (older builds didn't make that clear — newer ones warn you). The one that actually updates SparkBox is: sudo sparkbox upgrade That pulls the current release and bumps you off .114 — your settings, data and app config are all kept. It may also clear up Portainer along the way. If Portainer's still unhappy after the upgrade, give me a shout and I'll give you a quick one-liner to reset just Portainer's own settings — that won't touch any of your apps or media, just Portainer's login/config.
jackhammer57 wrote:
got [ERROR] Unknown command: upgrade
tomspark wrote:
Ah — your version (v1.6.114) is old enough that it predates the "upgrade" command, that's all. No problem, there's a universal way that works on any version. Run: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash That's the same installer you first used — it spots your existing setup, keeps all your settings, data and app config, and brings you up to the current release (and you'll have the "upgrade" command for next time). Once it finishes, the dashboard should show the new version, and we'll see if Portainer's sorted.
jackhammer57 wrote:
[SparkBox] NAS detected: ugreen [SparkBox] Running in NAS mode (ugreen) [SparkBox] NAS users: keep internet access ON during install. [SparkBox] SparkBox needs the internet to: [SparkBox] 1. Pull Docker images during install [SparkBox] 2. Activate your free personal-use license key (auto-updates) [SparkBox] Re-block outbound internet only AFTER you've logged in, registered [SparkBox] your license, and finished the setup wizard. [SparkBox] Full details: https://tomsparkbox.com/docs.html [SparkBox] Network profile: nas (NAS detected: ugreen) [SparkBox] Suggested install directory: /opt/sparkbox [SparkBox] Data directory (media/photos/books/manga): /volume1/sparkbox-data [SparkBox] System clock is in sync (0s off Cloudflare's reference) [SparkBox] Detected: Debian GNU/Linux 12 (bookworm) [SparkBox] NAS mode: skipping system package installation. [SparkBox] Docker already installed: Docker version 26.1.0, build 9714adc [SparkBox] Docker Compose: 2.26.1 [SparkBox] Existing SparkBox install found (v1.6.114). Upgrading via atomic rename-swap — .env, state/, and module data are preserved. [SparkBox] Downloading SparkBox... [SparkBox] Verifying release integrity... [SparkBox] SHA256 digest verified [SparkBox] ed25519 signature verified [SparkBox] Stopping running containers for a safe upgrade snapshot... Container sb-dashboard Stopping Container sb-dashboard Stopped Container sb-dashboard Removing Container sb-dashboard Removed [OK] SparkBox stopped. [SparkBox] Upgrade applied atomically. Rollback copy preserved at /opt/sparkbox.rollback-1780510051 until health probe confirms success. [SparkBox] SparkBox downloaded to /opt/sparkbox [SparkBox] SparkBox installed to /opt/sparkbox [SparkBox] NAS mode: skipping firewall configuration. [SparkBox] Configure port forwarding through your NAS or router admin panel. [SparkBox] Non-interactive install detected (piped from curl). Skipping wizard. [SparkBox] Bringing up core services so the dashboard is reachable... [SparkBox] Keeping existing .env from previous install. [SparkBox] Rendering module templates... [SparkBox] Pi-hole pre-configured with NAS telemetry blocklist Joe@DXP4800PRO-868A:~$ doesn't look like dashboard container got reloaded after being removed
tomspark wrote:
Good eye — but the important part worked: it swapped you onto the current release (your .env, data and config all preserved) and stopped the old dashboard for the swap. Because you ran it piped from curl, it only brought the core back up and didn't finish starting everything in that run. Just bring the full stack up: sudo sparkbox up That starts the dashboard and the rest on the new version — which also has the dashboard-restart and port fixes from your original issue baked in. Give it a minute, then open your dashboard: it should load, show the new version, and we'll see if Portainer's happy now. If anything errors during "up", paste it and I'll jump on it.
jackhammer57 wrote:
Thanks Tom, That's got everything working. thanks again for all your help.
tomspark wrote:
Brilliant — that's the one! Glad it's all back up and on the current version now; you'll get the smoother, one-command updates from here on too. Enjoy it, and give me a shout if anything else pops up. 👍