I have an NFS share mounted to the LXC I'm running sparkbox inside of in PROXMOX, when i go to add it as a media folder I can seem to find it or type in the mnt path. Do I need to change in the Media Root settings?
7 replies
tomspark wrote:
Yep, exactly that. The apps (Jellyfin, the arrs) only see the one folder SparkBox mounts into them — your Media Root — which shows up as /data inside each container. That's why your /mnt NFS path doesn't appear when you browse for a folder inside an app; the container can't see anything outside what's mounted. So: in the dashboard Settings, set Media Root to your NFS mount path (the /mnt/... path as it's mounted inside the LXC), save, then bring the stack back up so it remounts: sudo sparkbox up After that your NFS library shows up as /data in every app and you point each app there. One heads-up with NFS + containers: the apps run as user 1000:1000, so the export has to let that user read/write. If you hit 'permission denied' once it's pointed there, that's almost always the NFS export side (rootsquash / UID mapping) — SparkBox can't chmod a network share. Making the export map to / allow UID 1000 sorts it. Shout if you hit that.
Dezolate wrote:
Hello, yes, I am getting that issue now. "Error response from daemon: error while creating mount source path XXX: mkdir XXX: permission denied." I use TrueNAS and have a proxmox user as maproot user and the IP of the proxmox and lxc but getting permission denied. Do you have a guide on (or know of one) how to config those permissions? Thanks.
tomspark wrote:
Yep — that's exactly the NFS-permissions piece I flagged, and it lives on the TrueNAS side rather than SparkBox. That 'mkdir ... permission denied' means the NFS export is squashing the write, so Docker can't create the media folders on the share. Two things sort it: 1. In the TrueNAS NFS share's advanced options, set Maproot User to root (group root/wheel). Maproot decides who your NFS client 'becomes' on the server — if it's squashed to nobody, you get exactly this mkdir denial. With maproot=root the LXC can create folders on the mount. 2. SparkBox's apps run as user/group 1000:1000, so the dataset has to allow that. Easiest: on the TrueNAS dataset, pre-create the folders (movies, tv, music, downloads) and set their ownership to UID 1000 / GID 1000 (or grant the mapped user write via the dataset ACL). Once the mount is writable, point Media Root at it and sudo sparkbox up. I don't have a TrueNAS-specific guide to link, but those two — maproot + the dataset owned by 1000 — are the whole ballgame. Shout if it still squawks.
Dezolate wrote:
Thanks for the help, I made a user in truenas with the UID 1000 and GID 1000, made it the owner of the dataset and made the maproot user for the NFS root and then tried the UID 1000 and GID 1000 user and it stil did not work. I'll have to do some more digging online. lol
tomspark wrote:
Before you go too deep — I think I know the culprit. If your SparkBox LXC is an UNPRIVILEGED container (Proxmox's default), its user IDs are shifted on the host: 'root' inside becomes 100000, '1000' inside becomes 101000, and so on. So when a container writes as user 1000, your TrueNAS server actually sees 101000 — which doesn't match the UID-1000 user you made, hence permission denied even though everything looks correct. The quick fix: on the TrueNAS NFS share, set the Mapall User (not just Maproot) to your dataset-owner user. Mapall forces EVERY write from that client to land as that one user, regardless of the shifted UID — it sidesteps the whole mess in one field. Try that first. (The alternative is making the LXC privileged, or setting up an idmap in its config, but Mapall is far easier.) This part is Proxmox/TrueNAS plumbing rather than SparkBox, but that UID shift is almost certainly what's biting you.
Dezolate wrote:
Got it to work, thanks for the all the help. I also backed the project, I know if your a back there's an updated interface. Is there a way to update that without reinstalling sparkbox?
tomspark wrote:
Awesome, glad the Mapall trick did it, that hidden UID shift is a sneaky one. And genuinely, thank you for backing. Good news: no reinstall needed at all. The backer features unlock with your license key, which landed in your email right after checkout (it looks like SB-PRO-XXXX-XXXX). In your dashboard go to Settings then License, paste the key in and hit Activate, the enhanced bits (Tom AI, the upgraded dashboard) light up on the spot with no restart. If you also happen to be a few versions behind, sudo sparkbox update pulls the latest dashboard in place, again no reinstall. Lost the key? There's a recover link on the backer page. Enjoy it, you've earned a smooth ride after that NFS battle.