Quick one: hands-off auto-updates are now part of the free product — no license needed. Your apps refresh their security patches automatically overnight, with a backup taken first and automatic rollback if anything goes sideways. Prefer to handle updates yourself? You can switch the schedule off in Settings → Updates anytime. (We briefly described auto-updates as a supporter-only perk in the last note — they're not. They're free for everyone.) Supporting SparkBox still unlocks Tom AI, the in-dashboard troubleshooting assistant, and it's what funds the project — thank you to everyone who chips in. Run sudo sparkbox update to get the latest.
18 replies
AvantMagus wrote:
After this update qBit is stuck in a boot loop. this is the log. 2026-05-26T22:28:05.584018735Z ╔═════════════════════════════════════════════════════════════════════════╗ o2026-05-26T22:28:05.584069483Z ║ ║ o2026-05-26T22:28:05.584081848Z ║ Some of the contents of the folder /custom-cont-init.d ║ o2026-05-26T22:28:05.584101642Z ║ are not owned by root, which is a security risk. ║ o2026-05-26T22:28:05.584109793Z ║ ║ o2026-05-26T22:28:05.584116913Z ║ Please review the permissions of this folder and its contents to make ║ o2026-05-26T22:28:05.584123633Z ║ sure they are owned by root, and can only be modified by root. ║ o2026-05-26T22:28:05.584130433Z ║ ║ 2026-05-26T22:28:05.584137562Z ╚═════════════════════════════════════════════════════════════════════════╝ S2026-05-26T22:28:05.587161200Z [custom-init] No custom services found, skipping... 42026-05-26T22:28:05.617711219Z [migrations] started @2026-05-26T22:28:05.617735740Z [migrations] no migrations found 32026-05-26T22:28:05.651880996Z usermod: no changes �2026-05-26T22:28:05.664129548Z ─────────────────────────────────────── 2026-05-26T22:28:05.664149812Z k2026-05-26T22:28:05.664154762Z ██╗ ███████╗██╗ ██████╗ p2026-05-26T22:28:05.664159216Z ██║ ██╔════╝██║██╔═══██╗ j2026-05-26T22:28:05.664163473Z ██║ ███████╗██║██║ ██║ j2026-05-26T22:28:05.664167724Z ██║ ╚════██║██║██║ ██║ z2026-05-26T22:28:05.664171943Z ███████╗███████║██║╚██████╔╝ u2026-05-26T22:28:05.664176234Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2026-05-26T22:28:05.664180484Z C2026-05-26T22:28:05.664184431Z Brought to you by linuxserver.io �2026-05-26T22:28:05.664188429Z ─────────────────────────────────────── 2026-05-26T22:28:05.664507165Z ?2026-05-26T22:28:05.664518579Z To support LSIO projects visit: B2026-05-26T22:28:05.664522853Z https://www.linuxserver.io/donate/ 2026-05-26T22:28:05.664526950Z �2026-05-26T22:28:05.664530750Z ─────────────────────────────────────── '2026-05-26T22:28:05.664534854Z GID/UID �2026-05-26T22:28:05.664538556Z ─────────────────────────────────────── 2026-05-26T22:28:05.669228775Z 12026-05-26T22:28:05.669245855Z User UID: 1000 12026-05-26T22:28:05.669250789Z User GID: 1000 �2026-05-26T22:28:05.669254880Z ─────────────────────────────────────── K2026-05-26T22:28:05.671200398Z Linuxserver.io version: 5.2.1v2.0.12-ls459 E2026-05-26T22:28:05.671420018Z Build-date: 2026-05-26T04:47:45+00:00 �2026-05-26T22:28:05.671436928Z ─────────────────────────────────────── $2026-05-26T22:28:05.671442620Z D2026-05-26T22:28:05.759185366Z [custom-init] Files found, executing T2026-05-26T22:28:05.761640314Z [custom-init] 00-set-admin-password.sh: executing... ^2026-05-26T22:28:05.769020325Z [sparkbox-qbit-init] Password already set, skipping injection. �2026-05-26T22:28:05.804624912Z [sparkbox-qbit-init] Injected admin password + LAN-access settings into /config/qBittorrent/qBittorrent.conf P2026-05-26T22:28:05.804787241Z [custom-init] 00-set-admin-password.sh: exited 0 It hits that exited 0 and then reboots
tomspark wrote:
Thank you — that's exactly the info I needed, and you caught it fast. This one's on us: the recent refresh moved qBittorrent to a brand-new build that restart-loops on existing setups like yours (fresh installs came up fine, which is how it slipped past testing). I've already shipped a fix that rolls qBittorrent back to the stable version you were running before. Grab it with: sudo sparkbox update sudo sparkbox up Give it a minute and qBittorrent should come right back up — your downloads and settings are untouched. If it's somehow still looping after that, paste the new log and I'll jump straight on it.
AvantMagus wrote:
Still hanging up in the same spot. 4208Z ─────────────────────────────────────── 2026-05-27T02:51:25.868379795Z k2026-05-27T02:51:25.868385530Z ██╗ ███████╗██╗ ██████╗ p2026-05-27T02:51:25.868390700Z ██║ ██╔════╝██║██╔═══██╗ j2026-05-27T02:51:25.868395595Z ██║ ███████╗██║██║ ██║ j2026-05-27T02:51:25.868409970Z ██║ ╚════██║██║██║ ██║ z2026-05-27T02:51:25.868414595Z ███████╗███████║██║╚██████╔╝ u2026-05-27T02:51:25.868418560Z ╚══════╝╚══════╝╚═╝ ╚═════╝ 2026-05-27T02:51:25.868422345Z C2026-05-27T02:51:25.868425913Z Brought to you by linuxserver.io �2026-05-27T02:51:25.868429582Z ─────────────────────────────────────── 2026-05-27T02:51:25.868815717Z ?2026-05-27T02:51:25.868829258Z To support LSIO projects visit: B2026-05-27T02:51:25.868833790Z https://www.linuxserver.io/donate/ 2026-05-27T02:51:25.868837858Z �2026-05-27T02:51:25.868841780Z ─────────────────────────────────────── '2026-05-27T02:51:25.868867650Z GID/UID �2026-05-27T02:51:25.868970715Z ─────────────────────────────────────── 2026-05-27T02:51:25.873918333Z 12026-05-27T02:51:25.873931877Z User UID: 1000 12026-05-27T02:51:25.873936015Z User GID: 1000 �2026-05-27T02:51:25.874055327Z ─────────────────────────────────────── K2026-05-27T02:51:25.879223641Z Linuxserver.io version: 5.2.1v2.0.12-ls459 E2026-05-27T02:51:25.880602103Z Build-date: 2026-05-26T04:47:45+00:00 �2026-05-27T02:51:25.880617769Z ─────────────────────────────────────── $2026-05-27T02:51:25.880622798Z D2026-05-27T02:51:25.974833049Z [custom-init] Files found, executing T2026-05-27T02:51:25.977411733Z [custom-init] 00-set-admin-password.sh: executing... ^2026-05-27T02:51:25.986990295Z [sparkbox-qbit-init] Password already set, skipping injection. �2026-05-27T02:51:25.998354212Z [sparkbox-qbit-init] Injected admin password + LAN-access settings into /config/qBittorrent/qBittorrent.conf P2026-05-27T02:51:25.998528878Z [custom-init] 00-set-admin-password.sh: exited 0
tomspark wrote:
Thanks for the new log — and that's the key clue: the version line still says 5.2.1v2.0.12-ls459, so the rollback hasn't actually reached qBittorrent yet. The update downloaded, but the stuck container never got rebuilt on the older version, so it's still running the broken one. Let's force it. Run these one at a time: sudo sparkbox update sudo docker rm -f sb-qbittorrent sudo sparkbox up The middle line removes the looping container; the last line rebuilds it fresh on 5.2.0. Your downloads and settings live in a separate folder, so nothing's lost. After it comes up, check the log's version line — it should now read 5.2.0. If it somehow STILL loops with 5.2.0 showing, then it's something in qBittorrent's own config rather than the version — in that case paste the log lines that come AFTER 'exited 0' (that's where qBittorrent itself is bailing) and I'll pin it down.
AvantMagus wrote:
Same result. Even after removing qBit, the sparkbox update is pulling the same 5.2.1v2.0.12-ls459 version and reinstalling it rather than the roolledback version
tomspark wrote:
Good news first: I double-checked the actual released files, and qBittorrent IS pinned to 5.2.0 in v1.6.147 — so the fix definitely shipped. The catch is your box isn't pulling it; it's still running the old version's setup, and when SparkBox rebuilds qBit it uses whatever version your box has installed — so removing the container alone keeps bringing 5.2.1 back. Two quick steps: 1. Check what version you're actually on: cat /opt/sparkbox/VERSION — I'd bet it's not 1.6.147 yet, which means the update didn't land. 2. Force it by re-running the installer (it upgrades in place — your downloads, settings, and other apps are all kept): curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash Then run sudo sparkbox up. The qBit log should now show 5.2.0 and the loop's gone. If cat VERSION already says 1.6.147 but it's somehow still 5.2.1, tell me and I'll dig deeper — but I'm fairly sure the update just isn't reaching your box.
tomspark wrote:
Update for you — I just shipped v1.6.148 that fixes exactly what you hit. The catch was that sparkbox update only ever refreshed your apps, never SparkBox itself, so the qBit rollback had no way to actually reach your box. To get unstuck right now, run this one line: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash Then sudo sparkbox up. qBit comes back on 5.2.0, the loop's gone, and your downloads and settings are kept. Going forward there's a new sudo sparkbox upgrade command that does this for you in one step. Appreciate you sticking with it and reporting it so clearly.
AvantMagus wrote:
That did get me to the right version but still hanging on set-admin-password.sh �2026-05-27T16:15:10.056661149Z ─────────────────────────────────────── '2026-05-27T16:15:10.056665326Z GID/UID �2026-05-27T16:15:10.056668966Z ─────────────────────────────────────── 2026-05-27T16:15:10.061258624Z 12026-05-27T16:15:10.061273876Z User UID: 1000 12026-05-27T16:15:10.061278560Z User GID: 1000 �2026-05-27T16:15:10.061282746Z ─────────────────────────────────────── K2026-05-27T16:15:10.063271251Z Linuxserver.io version: 5.2.0v2.0.12-ls458 E2026-05-27T16:15:10.063465273Z Build-date: 2026-05-17T08:57:46+00:00 �2026-05-27T16:15:10.063473888Z ─────────────────────────────────────── $2026-05-27T16:15:10.063478349Z D2026-05-27T16:15:10.145406643Z [custom-init] Files found, executing T2026-05-27T16:15:10.147783557Z [custom-init] 00-set-admin-password.sh: executing... ^2026-05-27T16:15:10.154124227Z [sparkbox-qbit-init] Password already set, skipping injection. �2026-05-27T16:15:10.164692964Z [sparkbox-qbit-init] Injected admin password + LAN-access settings into /config/qBittorrent/qBittorrent.conf P2026-05-27T16:15:10.165049323Z [custom-init] 00-set-admin-password.sh: exited 0
tomspark wrote:
Good news — that's real progress: you're on the right version now (5.2.0), so the boot-loop fix has landed. And that last line, exited 0, actually means the setup step finished cleanly — it's not stuck there, that's success, not a hang. To confirm qBit is actually running now, run this: sudo docker ps --filter name=qbittorrent If it shows Up (not Restarting), you're all set — open qBittorrent from your dashboard. If it still says Restarting, or you see that startup banner repeating over and over, paste the lines that come AFTER exited 0 and I'll dig in. Nice work getting it upgraded.
AvantMagus wrote:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4957e16a9cd9 lscr.io/linuxserver/qbittorrent:5.2.0 "/init" 24 minutes ago Up 2 minutes (health: starting) sb-qbittorrent
tomspark wrote:
That's it — you're fixed. Up 2 minutes means qBit is running steadily now with no restart loop (exactly what we wanted to see), and it's on the right 5.2.0 build. The health: starting bit is just the normal warm-up check right after a restart — it flips to healthy within a minute or two. You're good to use qBittorrent normally now. Really appreciate you sticking with this through all the back-and-forth and sending clear logs every time — that's what let us pin it down and ship the fix fast. If anything still looks off in that screenshot, shout; otherwise enjoy.
AvantMagus wrote:
It's still crashing and rebooting every 10 seconds or so. Never gets past starting
tomspark wrote:
Ah — my bad, I called that fixed too early. Those screenshots make it clear it IS still looping (crashed then killed then restarting every few seconds). The good news: it's not the version anymore, you're correctly on 5.2.0. This is a different thing — something in qBit's saved settings, left over from when it was crash-looping on the bad version, is tripping up the good version on startup. I want to see the exact line it's dying on so I give you the precise fix and don't make you redo things. This reads the last 50 log lines even while it's looping: sudo docker logs --tail 50 sb-qbittorrent Paste whatever comes after the 00-set-admin-password.sh: exited 0 line. Your downloads are safe either way — they live in a separate folder from these settings. Once I see what it's choking on, the fix is almost certainly a quick reset of just one settings file.
AvantMagus wrote:
media@sparkbox:~$ sudo docker logs --tail 50 sb-qbittorrent [sudo: authenticate] Password: [custom-init] Files found, executing [custom-init] 00-set-admin-password.sh: executing... [sparkbox-qbit-init] Password already set, skipping injection. [sparkbox-qbit-init] Injected admin password + LAN-access settings into /config/qBittorrent/qBittorrent.conf [custom-init] 00-set-admin-password.sh: exited 0 ╔═════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ Some of the contents of the folder /custom-cont-init.d ║ ║ are not owned by root, which is a security risk. ║ ║ ║ ║ Please review the permissions of this folder and its contents to make ║ ║ sure they are owned by root, and can only be modified by root. ║ ║ ║ ╚═════════════════════════════════════════════════════════════════════════╝ [custom-init] No custom services found, skipping... [migrations] started [migrations] no migrations found usermod: no changes ─────────────────────────────────────── ██╗ ███████╗██╗ ██████╗ ██║ ██╔════╝██║██╔═══██╗ ██║ ███████╗██║██║ ██║ ██║ ╚════██║██║██║ ██║ ███████╗███████║██║╚██████╔╝ ╚══════╝╚══════╝╚═╝ ╚═════╝ Brought to you by linuxserver.io ─────────────────────────────────────── To support LSIO projects visit: https://www.linuxserver.io/donate/ ─────────────────────────────────────── GID/UID ─────────────────────────────────────── User UID: 1000 User GID: 1000 ─────────────────────────────────────── Linuxserver.io version: 5.2.0v2.0.12-ls458 Build-date: 2026-05-17T08:57:46+00:00 ─────────────────────────────────────── [custom-init] Files found, executing [custom-init] 00-set-admin-password.sh: executing... [sparkbox-qbit-init] Password already set, skipping injection. [sparkbox-qbit-init] Injected admin password + LAN-access settings into /config/qBittorrent/qBittorrent.conf [custom-init] 00-set-admin-password.sh: exited 0
tomspark wrote:
That log nails it. See how it runs all the way to exited 0, then immediately starts the whole banner over? qBittorrent is bailing the instant it launches, before it can even log why — and the giveaway is the line Password already set, skipping injection. It's keeping the saved settings file from back when it was crash-looping on the bad version, and something in there doesn't agree with 5.2.0. Reset just that one settings file — your downloads and torrents are untouched, they live elsewhere: sudo docker stop sb-qbittorrent sudo mv /opt/sparkbox/modules/media/config/qbittorrent/qBittorrent/qBittorrent.conf /opt/sparkbox/modules/media/config/qbittorrent/qBittorrent/qBittorrent.conf.bak sudo sparkbox up media That moves the bad file aside (kept as .bak, so it's reversible) and SparkBox writes a clean one + re-sets your password. Give it a minute, then confirm it stays up: sudo docker ps --filter name=qbittorrent If it somehow STILL loops, the only other place a leftover can hide is the torrent-state folder next to it — do the same mv on BTbackup. But I'd bet on the first one.
AvantMagus wrote:
Thanks for your attention to this. Other Tom found the problem :). -rw-rw-r-- 1 abc users 72 May 26 20:06 lockfile Once I removed that qBit came right back up
tomspark wrote:
That's the one — nice catch. A leftover lockfile is qBittorrent's "I'm already running" flag; when the container was getting hard-killed every few seconds on the bad version, it never got to clean it up, so the good version kept refusing to start. Deleting it was exactly right, and good — you can put that qBittorrent.conf.bak back if you moved it, you didn't need to. Genuinely sorry it took a few rounds, and thanks for your patience through it. I'm going to make SparkBox clear that stale lockfile automatically on startup so nobody else who got caught by the bad version hits this. Enjoy finally having it running.
AvantMagus wrote:
Happy to help