In need of some assistance as I must be missing something.
I have a container hosted on a windows PC, which I need to make talk to my TrueNAS server.
The TrueNAS Server is one dataset, set to SMB/NFS. Both SMB and NFS shares are available. UID 1000 is given permission via NFS, but the containers give the error “user does not have permission” when attempting to access inside the share - I assume because it’s wanting SMB after that point.
The Windows PC can successfully talk to the mounted TrueNAS. However, once I have my arr-stack spun up and volumes successfully mounted, they see the folder but none of the contents.
This appears to be some kind of issue where SMB is not presenting the share folder/files correctly to the container.
I have tried mounting via the windows mount (J:), spinning up a WSL vm and mounting through that, I’ve tried to create a new NFS user. I’m not sure what else I can do at this point.
This seems really backwards to me. You’re spinning up things on windows (I’m assuming docker) amd trying to map truenas purely as storage?
Majority of containers on truenas natively use 568:568 as the apps user and group. Docker doesn’t. 1000:1000 is my guess but you should know if you’re managing those containers somewhere outside of truenas.
This is a simple permissions issue not a choice of sharing protocols. Once you match permissions things will work.
The arr stack is running in containers, hosted on the windows pc. Which then talks to the seperate truenas machine as storage yep.
I am only doing it this way because I wanted the nas to be universally usable by all the different operating systems, but windows doesn’t want to play nice it seems. If there is a better way I’m all ears. I have already set the UID and GID in the container environment variables to no avail.
On the TrueNAS box, the primary user is an SMB user also set to UID 1000. Windows has an entry in the credentials manager that matches the SMB user name which allows access.
Using docker on windows means that docker runs inside a linux virtual machine. Accessing windows network drives from that virtual machine is tricky. Even accessing local drives can cause issues.
If you want to avoid that problematic layer of indirection, mount the SMB share directly.
I agree, using SMB would be the easy option. Unfortunately, when I try to mount the SMB share directly in the containers it doesn’t work. This is what first led me to needing to create a virtual Ubuntu machine on my windows machine as the point - as a forum post suggested it was the only way to get around the known bug where docker containers on a windows machine fail to pass through the file/folder structure even though they can technically see the mount itself.
Happy to be corrected on any of this if there is another solution, but yeah I’ve tried that unfortunately.
Ok I must be doing something wrong. I’ll try resetting my other settings and using this config
I also found this issue with portainer, which I’m wondering if it is also playing a role, although I may be misunderstanding.
So you were right, it is indeed now correctly seeing the mounts. I wasn’t aware that I could mount drives in that way so thanks for sharing the info! My final dockerfile ends up looking like this: