My question: still didn't work SparkBox AI replied: Alright, at this point something's genuinely wrong with NPM's initialization on your box — it's not a config issue. Click Share to demox below and post this in d/sparkbox so Tom Spark can see what's happening. Include: - That you're on a first-time NPM login attempt - That the database.sqlite file exists and is being recreated, but the default admin account ([email removed] / changeme) is still rejected - The exact error message you see on the login page Tom will need to ship a fix or dig deeper into what's preventing NPM from seeding that default user on startup. In the meantime, if you need to access your other apps (Jellyfin, qBittorrent, etc.), you can reach them directly by IP:port without going through NPM: - Jellyfin: http://<NAS-IP:8096 - qBittorrent: http://<NAS-IP:8089 - Seerr: http://<NAS-IP:5055 Those bypass the NPM login entirely. What I still need help with: (describe what didn't work or what's still broken)
7 replies
Chris wrote:
Hi Bigmayes — I'm here to help. To dig in, I need to know exactly what's broken right now: When you try to log in to NPM: 1. What's the exact error message you see on the login page? 2. Have you tried using the default credentials (email/changeme) or a different username? 3. Can you ping your NAS from another device to confirm the box is up? From your box, run this and paste the last 20 lines: sudo docker logs sb-npm | tail -20 That output will show us whether NPM is stuck, crashing, or healthy. Once I see that, we can pick the next step.
Bigmayes wrote:
I did quite a bit with the AI. It appears to be healthy but I'm not able to sign into it no matter what I do. Also I'm a newbie at this. Heres the entire window of results I did with the AI: mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ docker logs sb-npm | tail -30 useradd warning: npm's uid 0 outside of the UIDMIN 1000 and UIDMAX 60000 range. [9/11/2026] [12:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [12:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [12:05:56 PM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v4 [9/11/2026] [12:05:56 PM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v6 [9/11/2026] [12:05:56 PM] [Nginx ] › ℹ info Reloading Nginx [9/11/2026] [1:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [1:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [2:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [2:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [3:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [3:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [4:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [4:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [5:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [5:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [6:05:55 PM] [IP Ranges] › ℹ info Fetching IP Ranges from online services... [9/11/2026] [6:05:55 PM] [IP Ranges] › ℹ info Fetching https://ip-ranges.amazonaws.com/ip-ranges.json [9/11/2026] [6:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [6:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [6:05:55 PM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v4 [9/11/2026] [6:05:56 PM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v6 [9/11/2026] [6:05:56 PM] [Nginx ] › ℹ info Reloading Nginx [9/11/2026] [7:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [7:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [8:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [8:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [9:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [9:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [10:05:55 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [10:05:55 PM] [SSL ] › ℹ info Completed SSL cert renew process mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ sudo docker exec sb-npm sqlite3 /data/database.db "SELECT email, password FROM user LIMIT 1;" OCI runtime exec failed: exec failed: unable to start container process: exec: "sqlite3": executable file not found in $PATH mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ ls -lh /opt/sparkbox/modules/core/config/npm/data/database.db ls: cannot access '/opt/sparkbox/modules/core/config/npm/data/database.db': No such file or directory mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ sudo sparkbox restart core [INFO] Restarting module: core (recreating to pick up .env changes) WARN[0000] Found orphan containers (sb-sabnzbd, sb-qbittorrent, sb-radarr, sb-sonarr, sb-prowlarr, sb-byparr, sb-jellyfin-media, sb-bazarr, sb-seerr, sb-deunhealth, sb-gluetun, sb-ersatztv, sb-dashboard) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. [+] up 3/3 ✔ Container sb-npm Started 10.1s ✔ Container sb-homepage Started 10.1s ✔ Container sb-portainer Recreated 5.9s [OK] Restart complete. mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ ls -lh /opt/sparkbox/modules/core/config/npm/data/ total 128K drwxr-xr-x 2 root root 4.0K Sep 6 16:32 access drwxr-xr-x 2 root root 4.0K Sep 6 16:32 customssl -rw-r--r-- 1 root root 100K Sep 11 22:31 database.sqlite -rw-r--r-- 1 root root 2.2K Sep 6 16:33 keys.json drwxr-xr-x 2 root root 4.0K Sep 6 16:32 letsencrypt-acme-challenge drwxr-xr-x 2 root root 4.0K Sep 6 16:32 logs drwxr-xr-x 9 root root 4.0K Sep 6 16:32 nginx mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ sudo sparkbox down core [INFO] Stopping module: core... [OK] Module core stopped. mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ sudo rm -f /opt/sparkbox/modules/core/config/npm/data/database.sqlite mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ sudo sparkbox up core / | | | | ) \ \| ' \ / | '| |/ / \ / \ \/ / ) | |) | (| | | | <| |) | () < |/| ./ \,|| ||\\/ \//\\ || SparkBox v1.6.678 - Self-Hosted Privacy Stack Created by Tom Spark | youtube.com/@TomSparkReviews Network profile: private [INFO] Starting SparkBox... [INFO] Targeted up: core [INFO] Prepared 2 module config dir(s) for PUID=1000 PGID=1000 [WARN] VPNPROVIDER=surfshark with VPNDOT='on': Surfshark blocks encrypted DNS inside the tunnel — if the VPN connects but apps report DNS/SSL errors, set VPNDOT=off. [+] up 3/3 ✔ Container sb-portainer Started 3.4s ✔ Container sb-homepage Started 4.4s ✔ Container sb-npm Started 5.2s [OK] SparkBox is running! [INFO] Checking the media apps' wiring in the background (re-links qBittorrent/Prowlarr if it broke)... Service URLs: Core Infrastructure: Nginx Proxy Manager: http://192.168.1.247:81 Portainer: http://192.168.1.247:9000 Homepage: http://192.168.1.247:3000 TomSparkBox Dashboard: TomSparkBox Dashboard: http://192.168.1.247:8443 ErsatzTV: ErsatzTV: http://192.168.1.247:8409 Media Center: qBittorrent: http://192.168.1.247:8089 Prowlarr: http://192.168.1.247:8181 Sonarr: http://192.168.1.247:8989 Radarr: http://192.168.1.247:7878 Bazarr: http://192.168.1.247:6767 Jellyfin (media bundle): http://192.168.1.247:8096 Seerr: http://192.168.1.247:5055 Lidarr: http://192.168.1.247:8686 Chaptarr: http://192.168.1.247:8789 SABnzbd (Usenet): http://192.168.1.247:8186 Notifiarr: http://192.168.1.247:5454
Bigmayes wrote:
mikes-sparkbox@mikes-sparkbox-ThinkStation-P520:~$ sudo docker logs sb-npm | tail -20 useradd warning: npm's uid 0 outside of the UIDMIN 1000 and UIDMAX 60000 range. [9/11/2026] [10:37:05 PM] [Migrate ] › ℹ info [streamssl] stream Table altered [9/11/2026] [10:37:05 PM] [Migrate ] › ℹ info [redirectautoscheme] Migrating Up... [9/11/2026] [10:37:05 PM] [Migrate ] › ℹ info [redirectautoscheme] redirectionhost Table altered [9/11/2026] [10:37:05 PM] [Migrate ] › ℹ info [trustforwardedproto] Migrating Up... [9/11/2026] [10:37:05 PM] [Migrate ] › ℹ info [trustforwardedproto] proxyhost Table altered [9/11/2026] [10:37:05 PM] [Setup ] › ℹ info Creating a new user: admin@sparkbox.local with password: 78l3r204L6wi7ao5jEdN [9/11/2026] [10:37:07 PM] [Setup ] › ℹ info Initial admin setup completed [9/11/2026] [10:37:07 PM] [Setup ] › ℹ info Default settings added [9/11/2026] [10:37:07 PM] [Setup ] › ℹ info Logrotate Timer initialized [9/11/2026] [10:37:07 PM] [Setup ] › ℹ info Logrotate completed. [9/11/2026] [10:37:07 PM] [Global ] › ℹ info IP Ranges fetch is enabled [9/11/2026] [10:37:07 PM] [IP Ranges] › ℹ info Fetching IP Ranges from online services... [9/11/2026] [10:37:07 PM] [IP Ranges] › ℹ info Fetching https://ip-ranges.amazonaws.com/ip-ranges.json [9/11/2026] [10:37:07 PM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v4 [9/11/2026] [10:37:08 PM] [IP Ranges] › ℹ info Fetching https://www.cloudflare.com/ips-v6 [9/11/2026] [10:37:08 PM] [SSL ] › ℹ info Let's Encrypt Renewal Timer initialized [9/11/2026] [10:37:08 PM] [SSL ] › ℹ info Renewing SSL certs expiring within 30 days ... [9/11/2026] [10:37:08 PM] [IP Ranges] › ℹ info IP Ranges Renewal Timer initialized [9/11/2026] [10:37:08 PM] [SSL ] › ℹ info Completed SSL cert renew process [9/11/2026] [10:37:08 PM] [Global ] › ℹ info Backend PID 235 listening on port 3000 ...
Chris wrote:
Perfect - you got it working. That fresh database and reinstall sequence did exactly what we needed.\n\nYou can now log in to NPM at http://192.168.1.247:81 with:\n- Email: admin@sparkbox.local\n- Password: 78l3r204L6wi7ao5jEdN\n\nGlad we got you sorted.
Bigmayes wrote:
Thank you, This may be a stupid question but is there any more setup I will have to do on my end with it? Will it need to be configured again or is it ok?
Chris wrote:
You're all set — NPM is ready to use as-is. There's no required setup on your end.\n\nNPM is a reverse proxy that sits between your apps and the outside world. If you want to use it to:\n- Route custom domains to your apps (like example.com → Jellyfin)\n- Set up SSL certificates\n- Add access lists or authentication layers\n\n...you can configure those in NPM whenever you're ready. But none of that is required — your apps work fine without it.\n\nFor now, you can just use them directly by IP:port like you've been doing (Jellyfin at 192.168.1.247:8096, etc.) and come back to NPM's advanced features later if you need them.
Bigmayes wrote:
Ok, thank you again