Yes, another Bluefin thread related to HostPath validation...
I'm trying to move my setup, that I
thought was pretty simple, from ESXi that had an Unraid VM with my storage and Ubuntu VM with some services like Plex, but now I'm not sure that was a good idea because of this unfortunate HostPath validation issue.
To be clear, I
want to do things "the right way", and keeps things as clean as possible as long a nothing conflicts with my absolute requirements. So, I understand why this check was implemented, and would like to abide by the restriction, but I'm honestly not sure I even can while achieving close what I had before.
There are many specific sub-questions I have in regards to trying to setup my datasets correctly to work with Plex, but let me just keep this simple:
How do people that use Plex on Bluefin regularly add media to their library?
In my situation the person that needs to add media is not that tech savvy, and so the solution needs to be something straightforward that they can do without me.
The way I see it there are several approaches, but because of restrictions most are not actually possible.
1)
SMB share the dataset to both users and the Plex container. Containers can't mount SMB shares
2)
SMB share the dataset to users, NFS to the Plex container. Mixing protocols leads to potential permissions and file locking issues. In this particular instance I could probably get away with a read only NFS share to Plex, but that might not fly for other containers and still has the overhead of NFS.
3)
Set the SMB share as the HostPath and disable validation. As I said, I'd like to not do this. It's not supported and can lead to issues.
So really in the end, I only see three actually options, two of which seem quite flawed to me and the third is very unoptimal:
1) Use the SMB share as the HostPath but keep SMB disabled. Then, when adding files, kill Plex, enable the share and add files, then kill the share and restart Plex. This is awful for obvious reasons as is a nonstarter for me because it's too complicated for the end user. But regardless of that, AFAIK this violates the purpose of HostPath validation anyway because you're ultimately still having the container and share interact with the dataset, with the potential of stomping on each others permissions, just not simultaneously.
2) Set the SMB share as the dataset root (note not the root dataset) as I was planning anyway, and then set Plex's HostPath to a subfolder within that path. According to
here and
here this is possible to do while leaving HostPath validation on, but this really seems like an unintentional hack to me that still violates the same principle and will likely be patched out in a future release.
3) Share the dataset via NFS only to both the container and users. I believe this is only possible with TrueCharts containers, has the overhead of NFS with large files (which of course movies for plex all are), and requires mounting in windows via the CLI, which means I always have to set up new shares for the users on their systems. This one technically isn't a deal breaking but its quite unsatisfying.
Or finally, say YOLO and disable the validation anyway.
While I get that all of this was done with enterprise in mind, Plex is enormously popular and there's lots of people saying they use it on SCALE, but at this point I'm just not seeing how it's feasible in a clean way because of this. There's plenty of tutorials you can find for setting it up, but most of it is on Angelfin or just shows people adding their media dataset via HostPath with all of their files already magically in the dataset and they make no comment on when the time comes to modify their library.
So again, how do people that use Plex on Bluefin handle managing media in their library while also abiding by these restrictions?