I have a QNAP Model: TS-451+ Linux NAS-02 5.10.60-qnap 1 SMP Wed Jul 22 01:11:52 CST 2026 x8664 GNU/Linux I have enabled SSH in Control Panel, installed Container Station from the App Center, and then tried running the installer over SSH $ curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash [SparkBox] Unsupported NAS detected. SparkBox officially supports UGREEN NASync. [SparkBox] Continuing anyway — it may work, but support is limited. [SparkBox] NAS detected: generic [SparkBox] Running in NAS mode (generic) [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 (update alerts) [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: generic) [SparkBox] Suggested install directory: /opt/sparkbox [SparkBox] Data directory (media/photos/books/manga): /opt/sparkbox/data [SparkBox] System clock is in sync (0s off Cloudflare's reference) [SparkBox] Detected: QTS 5.2.10 (20260722) (NAS mode - this is fine) [SparkBox] RAM: 3820MB detected. 4GB+ recommended for most modules. curl: (23) Failure writing output to destination account is in the administrator group and has full admin privileges. Changed to the path /share/CACHEDEV1DATA and confirmed I could create directories and files, all good. Any other gotcha's with QNAP I don't know about?
4 replies
Chris wrote:
Hey Yeti -- QNAP isn't one we officially test against yet, so a rough edge like this is possible even though you've already ruled out the obvious stuff (nice job checking permissions and free space). That specific error usually means the installer's very first checks hit something odd on this box and quit early, before it even got to downloading anything -- so the real reason is getting hidden from you. Could you try grabbing the script first, then running it as a separate step, so we can see the actual error instead of a cut-off one: curl -fsSL https://get.tomsparkbox.com/install.sh -o install.sh && sudo bash install.sh. Paste back whatever it prints and we'll go from there.
Yeti wrote:
getting weirder. I ran that , and the screen output was just the same as before, but with no error message, and nothing happening: [SparkBox] Unsupported NAS detected. SparkBox officially supports UGREEN NASync. [SparkBox] Continuing anyway — it may work, but support is limited. [SparkBox] NAS detected: generic [SparkBox] Running in NAS mode (generic) [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 (update alerts) [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: generic) [SparkBox] Suggested install directory: /opt/sparkbox [SparkBox] Data directory (media/photos/books/manga): /opt/sparkbox/data [SparkBox] System clock is in sync (0s off Cloudflare's reference) [SparkBox] Detected: QTS 5.2.10 (20260722) (NAS mode - this is fine) [SparkBox] RAM: 3820MB detected. 4GB+ recommended for most modules. Checked that the install.sh script had downloaded correct, and that the contents looked right (which they did). Just for fun I tried running without SUDO and got this: . . . [SparkBox] This NAS install must run as root. A non-root run leaves a [SparkBox] half-installed stack: no 'sparkbox' command, unwritable media [SparkBox] folders, VPN and apps failing to start. Re-run with sudo: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash (UGOS's busybox blocks 'newgrp docker', so the usual 'add user to docker group' workaround does not work here.) so it is trying to run
Yeti wrote:
Progress: Thanks to having the script downloaded, I know enough to be able to edit and add some terminal logging, I can tell you that the line it stops on is : availablegb=$(df -BG "${INSTALLDIR}" 2/dev/null | awk 'NR==2 {print int($4)}') I commented out that line, and am moving forward
Chris wrote:
Yeti, you nailed it -- that's genuinely useful debugging and confirms it's a real bug on our end, not anything wrong with your box. That line is just a free-space check before the real install starts, and on your QNAP it's dying (or hanging) in a way that breaks the whole script, which is why curl reported that odd write error way up top. Your workaround of skipping that one line is reasonable to keep moving -- it only checks disk space, nothing else depends on it. I've flagged the exact line to Tom so this gets a proper fix for QNAP and similar boxes instead of everyone having to find and cut it out by hand. Appreciate you sticking with it and sharing the fix!