Hey all, I’ve got ZFS pool created and just create a VM drive in that pool like normal, then Jellyfin just has that drive mounted. I think I’m losing the best parts of ZFS through this manner.
How should I set this up properly? Create a media pool or something and have VMs accessing the pool directly?
That works fine.
The other option is run a container instead of a VM and just pass-through a ZFS filesystem directly.
That might be a better option really. I might check that out. I kind if wish Proxmox had Docker integration instead of lxc but that’s a different topic.
The easy option is run docker in a privileged LXC container, it’s basically like running it directly on Proxmox and will have no permissions issues.
Oh, that works? That’s some inception level containering right there
Yup, you can do it unprivileged as well but permissions can be funky with any mount points shared with other containers.
So if you’re going through the trouble of setting up proxmox, I would setup the majority of the storage in a ZFS pool for a TrueNAS SMB share/NFS share. Then create a small container just to host jellyfin and jellyfin’s cache–maybe commit 10GB of storage to it–really depends on how big your media library is. Mine is about 5TB and cache, metadata, and other misc things take up about 8GB.
Setting up your share is enough for jellyfin. Since the media and jellyfin are stored on the same metal, additional latency will be sub 100ms. Create a library in Jellyfin and set it to the share;
Movies: \\nas\Movies,TV: \\nas\TV, etc.Works flawlessly and would have more utility than allocating the entirety of your storage to your jellyfin container because it functions as a normal NAS. I’ve been running with a setup like this for a while and it works great.
Setting up an SMB or NFS share is the correct answer because op has stated he plans to use VMs (plural). ZFS is not sharable without it. https://pve.proxmox.com/wiki/Storage
There are forum posts going back years about it :https://forum.proxmox.com/threads/share-zfs-storage-between-nodes.144790/ https://forum.proxmox.com/threads/create-a-large-pool-of-shared-zfs-storage.94435/
TrueNAS is not absolutely required. It can be done with a different Linux distro. I use/prefer Debian.
That seems very complex with a lot of overhead vs just mounting a ZFS pool into the container where jellyfin is running.
Why bother with truenas? Just put the media in a zfs pool and mount it directly into jellyfin.
So you mount the pool to each vm that needs the shared data? Afaik zfs is not made for concurrency
Zfs (and most modern filesystems) are fine with concurrency.
I mount the same data store into several instances, it works well. Just needs some planning for permissions.
Could you explain further with a bit more detail? I havnt looked at this in a while but back then the options where virtiofs or nfs
Each cgroup container mounts a host path. That’s it.
So lxc containers and not vm’s
Yes, Lxc, docker, whatever cgroup2 isolation environment, but not VMS, true.
Vms can achieve the same thing through shares
Sure, you can also do this. But why not make it available to your network in addition to Jellyfin? What if you have a TV that doesn’t have access to the Jellyfin app? If it’s a private ZFS pool not on the network you’re fucked. If you share the media via a network share, you can always do any number of things to stream that media to your TV.
It gives you a ton more options up to and including just watching the media on your PC in your favorite media browser.
If it’s a private ZFS pool not on the network you’re fucked.
Sorry, i didn’t word that correctly. I understand why you might need a share, I just think a whole truenas instance just for a few shares is way overkill. If I needed a samba share, NFS export, or an iscsi lun i would just spin up a Debian container and be done with it.
You can do a share any number of ways. I simply banked on the fact that anyone willing to ask the question likely doesn’t know how to setup SMB shares without a GUI like TrueNAS.
Yes, not course. I forgot about the gui, that’s valid.
I mounted my zfs dataset in a Jellyfin VM using 9p. All the features of the host ZFS while still running in a VM
I went with ZFS but had some issue where it would randomly disconnect completely and lock up the whole server until I rebooted. Probably something with the nvme I was using but I went back to ext4 and that resolved it.
Anyway my media drives are an lvmthin pool and just mounted to my LXC running jellyfin and such.




