Y'all are trans, and I know how much you trans Zoomers code (no idea if that's a Linux thing or not tho), so I thought I might try Hexbear for some tech help. I'm fried, I've watched so damn many tutorials and read so many threads on this but I can't seem to work it out. I barely know a few basic commands in the console, and the alphabet soup of different directories, programs, and the very language that's used to discuss Linux is too much for me to process. I've learned a lot, but I need some help.
I've built a pretty nice server that's not doing much right now besides NAS storage. I'm running a TrueNAS scale VM on Proxmox, I'm filling it up with all my pirate booty, and I want to watch it through Jellyfin, which I have installed to an LXC container (unprivileged for security, tried it both ways and I can't get it). The problem is, how do I get jelly to see the NAS drive? I don't know how to map it one way or another. I'm running the storage through an HBA in ZFS mirror with an SMB data set that I can see just fine and access in Windows, but jelly seems to just be stuck in it's own little world.
I've seen things about creating users within jelly, which I tried, and it just tells me that the user I supposedly created with SMB credentials doesn't exist. Tried using the GUI to find the NAS via IP, no dice. I'm fucking tired, I've been at it for a week or so now, I just want to watch a movie this weekend.
Yes, that was one of them that I looked at. Got to the point of adding a user (second command) and it didn't work. Also, I don't understand commands very well, the short hand for what you're telling it to do and the labels of files is confusing af to me.
usermod modifies a user. In this case -aG means it is appending to the list of groups that a user is in (in this case so that said user can access files owned by that group). So you're adding the jellyfin user to the lxc_shares group that was just created in command #1. If it failed, my first guess would be that the jellyfin user doesn't exist. without the error message the command spit out, or more details on the setup of the jellyfin LXC, it's hard to say
I could go into more detail but likely some troubleshooting back and forth would be needed to get it working
Good to go: here's what I got so far. I was able to do the first two commands without error so I moved on to the PVE host and started plugging away.
Edit: if it's relevant, I used a helper script to install JF from this site: https://tteck.github.io/Proxmox/
Okay!
so, where it says
//NAS/nas
that should be replaced by the IP address (or hostname) of the NAS that you've been using to mount the SMB share on other computers, followed by the folder you want to mount. e.g.//192.168.0.5/mypiratedshit
You ought to be able to get this from the windows clients you've successfully mounted it on I would thinkAnd where it says
smb_username
andsmb_password
those should be replaced with the username and password for the SMB share (feel free to redact them if you post here of course just make sure they're filled out right)do you have a text editor installed you can use on the PVE host? nano is relatively easy to use if it has it installed... The "echo ... | tee ..." thing the original command is doing will append a line to the /etc/fstab file but since you want to edit a line that's now already there you should use a text editor instead.
try running
nano /etc/fstab
(also as root on the pve host). if it doesn't complain that it doesn't exist, go down to the line that starts with //NAS/nas, and change the parts mentioned above to the correct details for your SMB share. Then press Ctrl-X to quit, y to save changed, and then Enter to save at the same filename you loaded it from.(and yeah, nano is clunky but it's more user friendly than other options in that you don't have to remember the shortcuts to do different things, they're displayed on screen)
then once you've got the /etc/fstab line fixed (if you aren't sure if it saved correctly you can always print the contents of the file with
cat /etc/fstab
), you can try themount /mnt/lxc_shares/nas_rwx
command againOkay, so it's giving me an error:
I edited the /fstab file like you said and this is the printout:
proc /proc proc defaults 0 0 //192.168.X.XXX/mnt/XXXX/XXXX /mnt/lxc_shares/nas_rwx cifs _netdev,x-systemd.automount,noatime,uid=100000,gid=110000,dir_mode=0770,file_mode=0770,user=XXXX,pass=XXXX 0 0
If I then enter the echo command, this is what I get:
Looks okay?
I was able to then go on to jelly and the only directory option it gives me to map is "/mnt/nas" and that's not working.
What do?
hmm okay...
the parse error is a bit odd. do any of the values substituted for XXXX contain spaces by any chance. /etc/fstab uses spaces to separate the 6 different config parameters, so if any of them contain a space (including the folder names) it messes things up.
If that's the issue, try substituting the space with
\040
i.e.//192.168.1.1/My\040Folder/otherfolder /mnt/lxc_shares/nas_rwx cifs _netdev,x-systemd.automount,noatime,uid=100000,gid=110000,dir_mode=0770,file_mode=0770,user=XXXX,pass=XXXX 0 0
you might also need to run
systemctl daemon-reload
and try the mount again like the message suggests, honestly don't recall how that interaction works...Okay, so I did that. My directory is [IP]/mnt/M14 - Media/Media, so I changed it to /mnt/M14\040-\040Media/Media. Is that correct? it hasn't worked yet, getting this error:
mount /mnt/lxc_shares/nas_rwx mount error(2): No such file or directory Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg) mount: (hint) your fstab has been modified, but systemd still uses the old version; use 'systemctl daemon-reload' to reload.
okay that took care of the space issue at least judging by the different error!
https://unix.stackexchange.com/a/154465/162315 this seems to indicate that for CIFS
No such file or directory
errors could be caused by a variety of non-obvious issues. if you ran the mkdir command the mount point /mnt/lxc_shares/nas_rwx should exist so I'm going to leave that aside.This post seems like a more plausible issue. Is the name of your smb share really "mnt", or is that just the start of the path to the dir you've shared?
If that is the actual SMB share name, then maybe it is an issue with subdirectories... In that case I would try mounting the base level share directly, and if that works, then you can change the /etc/pve/lxc/ configuration to only bind mount the subdirectory you want into the jellyfin container.
Okay, so under the SMB tab on TrueNAS the "path" is /mnt/M14 - Media/Media. The name of the ZFS pool is just M14 - Media though. So I'm not at all sure what the answer is there. And as far as your solution... I have know idea what the heck that means lol! I read the thread and I still don't know what to do.
so, looking at some tutorials, as I haven't used truenas before, when you look at this bit there should be both a Path (the local-to-truenas path to the directory being shared) and a Name (the name of the share). You want the Name field.
I believe it should be
//192.168.x.xxx/name_here
rather than giving the full path. So hopefully truenas can tell you the name of the smb share.Buuuut, according to that truenas page, the default name if none is set is the last folder in the path. So if you can't find any indication of a name for the SMB share that you set, try
//192.168.x.xxx/Media
since that is (correct me if I'm wrong) the last folder name in the path.the subdirectory thing I can elaborate on if that turns out to be the issue still somehow, but I'm kinda doubting it at this point.
SMB is a windows thing so the concepts aren't usual linux concepts exactly, especially having a named share rather than just mounting based on the file/dir path is... a bit weird
You magnificent, beautiful person... I love you.
Edit: Jellyfin is displaying two mount points for some reason... both work, so I'll assume that won't be a problem?
I mean it's not ideal but I can't think of why it would be an issue. If it breaks then worry about fixing it, imo
anyhow fuck yea! gl sailing the seas :rat-salute:
Yarrr! 🏴☠️
New problem, Can't connect to the drive from windows now... What have I done?!!
Edit: Windows was giving me a code, I couldn't even get to a point of entering credentials. I followed a tutorial to get it back up and running. Now I can enter credentials, but it won't accept any of them...
Edit 2: Now the Jellyfin container won't start! 😭 😭 😭
Edit 3: Windows can't see the drive again... I'm about done.
Noooo
hmm. shit.
well first off, it sounds like there are some issues that can prevent multiple clients from mounting the same share but I havent found a lot of specifics...
any chance you could check first: is your SMB share set to use ACLs for permissions? I think this would be the Enable ACLs checkbox under advanced options on the smb share. it doesnt necessarily need to be but it chnges how permissions are done
Then ideally you'd check the logs to see what error the server side is spitting out when it fails. So, get the windows computer ready to try connecting to the share, then run
tail -f /var/log/samba4/log.smbd
, then try connecting and see what that tail spits out. then Ctrl-C to quit out of the tail.could do the same thing for the lxc but if it's not starting maybe best to stick to one problem at a time to start with
Okay, so here's what I did. I cleared the ACL on the SMB share, then unchecked the enable ACL box. The LXC finally started again, still don't know what was going on there. I worked and was able to access the NAS just fine and stream things. But once I turned off the ACL it doesn't have access anymore. The tail command gave me this:
While that was running I tried to log in to the drive through windows, which is still seeing the NAS, but when I type in the password it doesn't even register as an attempt on the log now. Previously my attempts to log on showed up under alerts, now nothing and the connection attempts are non stop from the LXC....
Update even before I post: I was able to manually enter in the PVE IP as an "allowed" host under the SMB share and now Jellyfin can do its thing. I tried to access the share drive on my phone and it couldn't get on, so I added my phone's IP to the list and it works again. But when I add my main PC's IP to the list it still won't allow access. So it's clearly a setting on my PC now - the tails command still isn't registering any attempt from my PC. I feel like this should only be a temporary fix.
Huh interesting. Well I'm glad it's kinda working at least...
On the windows PC, are you relying on it to autodetect the share and pop up under "Network" or whatever they call it these days? And if so is it just not appearing or is it appearing but not able to open?
Or are you manually connecting using the IP and stuff like on linux? It seems like it could make a difference. To manually try opening it you could use the run shortcut, Windows Key+R and then type in the share IP/name like this (backslashes because windows has to be different):
\\192.168.x.xxx\Media
If there's still no connection attempt even registered in the logs when trying that then maybe it's a firewall issue? I don't know how your network is setup or how proxmox handles that sort of thing but that's what I would suspect
and yeah IP whitelisting is fine if your IPs don't change but unless you've configured static addresses for those devices they eventually will, probably
Okay, so I tried a manual connect, it asked for user and password and denied me - it didn't register as an attempt. "TrueNAS" shows up as a network file in windows explorer, when I try to connect it asks for credentials as well, no dice and no blip on the NAS. I'll plink around with my firewall settings and see if I can find something.
For static IPs, that will come next.
there's one thing you could try but if there's nothing in the logs idk...
you could try appending a backslash to the user to indicate it's a user on the NAS side not a local user. i.e. for the username put
192.168.x.xxx\
or possibly.\
https://superuser.com/questions/1616928/windows-10-sends-wrong-user-to-smb-share I would think it would show in the logs though. could be something on the windows side blocking you. Was there any detailed error message on the windows side when you try the connect?
Okay, no dice and no registry of any hits on the NAS for adding slashes. I fiddled around with some credential settings in TrueNAS because one of the error messages said this:
So I noticed it said 'multiple users with same credentials' so I made a new user for my phone specifically and switched my phone's login to that user, it works fine. I tried my user from my desktop and nothing still. I just tells me I might not have permissions and prompts for a password. For a brief second I was able to log in as root from windows and I saw the media drive, but when I clicked on the folder it prompted me for credentials again and I can't log back in as root again...
I'm not sure the link you shared is it, I'll poke around with it though.
Now that I've switched over to a different username, this is the error I get when it prompts me for credentials:
https://dougrathbone.com/blog/2018/04/02/fixing-broken-samba-sharing-after-installing-the-latest-version-of-windows-10
or
https://tech.nicolonsky.ch/windows-10-1709-cannot-access-smb2-share-guest-access/
might be relevant. the 2nd one makes more sense to me, since maybe the IP-whitelisting causes it to count as a "guest" login?
Edit: Honestly not convinced either of those are it. running on almsot no sleep today
Please don't stay up on my account!!! It's fixed!! Somehow... no idea how honestly. But I had a scare with my VPN settings stopping all traffic on firefox for a minute, couldn't figure out what the deal was so I did a restore to yesterday. Now everything works!
No no, not staying up, just didn't sleep much last night! Glad it's working! piracy is praxis or something
Piracy is praxis! Shame my VPN is slow as shit tonight though.
on further thought, maybe this latest error is a legit permissions issue on the server. does that new user that generated this message work from other devices?
digging into the windows-compatible ACL settings is not my forte if it is that
Testing things, yep, everything is working and I'm able to load new video files onto the NAS at ~1.7 Gb/s using my 2.5Gb/s connection; Jellyfin is working fine, I can access things from my phone or PC. We are good to gooooo! Thank you so very much for all your help, you really didn't have to go through all this. <3
damn I'm a little jealous of that 2.5Gb/s lol. I never bothered with anything past GbE
I used to have fiber but new place is dogshit cable
Yeah, it's pretty nice. I built a new rig because I was still on a 4th gen Intel and a GTX 960, and I wired up my home with cat6 on the cheap. My new MB has 2.5 built in so I bought a cheap PCIe 2.5gb card for the server and it rips. It comes in handy for loading a whole season of a tv show onto the server, but everything else in my network has gigabit.