Host path checking failures

tre4B

Dabbler
Joined
Dec 6, 2022
Messages
33
I am trying to figure out why neither of my Apps will run any longer unless I do not have host path checking on. One thing I am seeing is a that one of my pools shows an SMB share symbol whilst the other one does not. Other than that I cannot see what the issue is with this setup. I have just two apps Emby and SyncThing. Emby has three host paths to the individual items under the media file. SyncThing has just the host path to the direct item itself. On top of that each has a config path configured. What am I doing wrong that my apps won't start unless I disable host path checking?

1678984911535.png
 

tre4B

Dabbler
Joined
Dec 6, 2022
Messages
33
Digging in and the above is the after picture. The before had an SMB share on media. When I look this up all I find is others having similar issues. Can anyone point me to information about what is and is not allowed? It appears to not allow a host path mount to a dataset whose parent has an SMB share. Is this correct?
 

LarsR

Guru
Joined
Oct 23, 2020
Messages
719
Just quoting from the truecharts homepage:

Host Path Validation Safety​

Starting with SCALE Bluefin (22.12), there's a new safety check on apps called Host Path Safety Checks located in your SCALE installation's Apps Advanced Settings (the same place as your k3s network, GPU, and other settings). This check is intended to ensure datasets used by your apps (e.g. media datasets) are not in use by a network share (e.g. SMB, NFS, CIFS). We require this for security (Protect the system from container escape vulnerabilities using hostPath) and reliability (Prevent multiple services (shares for example) from using the same dataset.) reasons. You can disable these checks, but it may lead to issues with your Apps depending on your permissions configuration.
 

tre4B

Dabbler
Joined
Dec 6, 2022
Messages
33
Thank you. That makes sense it means an SMB can be within a Dataset but a dataset cannot be within an SMB which matches what I am seeing. Now I have to work out how to work around it.
 

LarsR

Guru
Joined
Oct 23, 2020
Messages
719
You can use datasets for smb shares. But you can't use the same Dataset for an smb share and a hostpath to map it inside an app.
 

tre4B

Dabbler
Joined
Dec 6, 2022
Messages
33
Now I am confused. I am trying to setup SyncThing. I have setup a DataSet called SyncThing. I have set the Host path to this

The only way it is of any use is if I can access the data that SyncThing is putting into the data set. I have therefore created a second dataset SyncData which is a child of SyncThing assuming that I could make that an SMB share, however TrueNas won't allow that either. So now I am confused if you put a host path on a dataset within an SMB share it fails and when you put an SMB share within a hostpath it fails.

1679071946171.png

How do I access the data that is syncd if I cannot have any SMB share to do so and I do not ignore the hostpath checking?
 

LarsR

Guru
Joined
Oct 23, 2020
Messages
719
The hostpath validation also applies to child datasets.
Are you using the official app or the truecharts one?
With the truecharts one you can migrate from hostpath to nfs shares.
This way your app uses nfs and you can use smb to access the Dataset you created.
Sadly that's not possible with the official app.
 
Top