NFS handles permissions based on the UID and GID of the user account accessing the share. (Assuming you haven’t restricted the share to a specific subnet or host IP).
When you create the NFS share, assign permissions using a group with a non-standard GID (doesn’t matter what, but pick something you’ll remember like 3000).
How you go about that will depend on the server you’re running the NFS share on. It’ll be different for Ubuntu or TrueNAS or Unraid etc - so read the documentation.
Once that is sorted, for each VM you need to create a group using that GID and assign the relevant users on each VM to be members of that group.
If you’re following best practices and running services as non-root, it’s usually also necessary to change the group ownership of the mount point directories on each VM so that the group you’ve just created with GIS 3000 (or whatever) is the owner.
edit: As a side note, because this tripped me up for a while - if you’re running LXC’s in proxmox, they’ll need to be privileged containers or you need to manually enable the NFS option for the LXC otherwise it doesn’t matter what you do with permissions, you won’t be able to mount the share.
It would probably be enough for TrueNAS and Plex but likely not much else.
You might squeeze in a couple of lightweight VM’s or LXC’s but I’d plan to at least double the RAM if not more as soon as possible - because TrueNAS and Plex are both memory hogs - especially if you have more than one person streaming video at the same time.
Mainly because you don’t want ballooning ram assigned to TrueNAS or your media server (where ProxMox issues the ram as needed instead of pre-allocating it to the VM)
You would for sure get better results if your GPU is supported by Plex (it probably is hit you’d have to confirm) because hardware acceleration takes work off the CPU and reduces ram impact for streaming operations.
At any rate - these are free to experiment with options so it can’t hurt to download proxmox and start experimenting. Just make backups and snapshots as you go and figure out how much you can stretch your current hardware.
Ideally you use a second nvme drive dedicated to storing VM’s - but if not you’ll want them stored on the proxmox drive, not inside TrueNAS.
You should also have a look at ProxMox.
This would allow you to run TrueNAS as a VM as well as spin up other VM’s and LXCs as needed (including a VM running docker).
That said - regardless of which hypervisor you commit to, I’ll recommend that you plan to upgrade your RAM, and look closely at whether plex supports your GPU for hardware acceleration. (Also consider Emby instead of Plex).
Setting up a server to run VM’s can be quite a memory hog. NAS applications as well as media servers in particular.
TrueNAS is going to need 16GB of ram minimum right off the bat, and your media server will eat the other 16GB before you even get started with docker containers.