so after doing a lot more reading and researching the best ways to host a jellyfin server, i was pushed in the direction of using a vm. reasoning behind that decision was this…and lxc container runs best in unprivileged mode. privileged mode allow potentional root access. besides this it appears that i need to be able to provide full access to the GPU and NFS shares that i was going to create. jellyfin transcoding needed to run on the gpu and hypervisors are just that, to be all neat and tidy, run all services in either containers (lxc) or vms. getting through the headache of blocking the host from installing video drivers was the biggest hurdle. i had many defeating experiences, fried a gpu and finally got it to work. i’ll link to the guides i used to get gpu passthrough below. the biggest hitch was figuring out how to setup the vm properly…in vm creation, make sure to enable the q35 machine under the system tab in configuration. this is key as it will allow you to then enable the pci passthrough of the gpu when setting up the pci device. the work flow goes like this. create vm, i used a pretty heavy setup as i new i’d need some extra ram and pc’ s as this is my most intensive vm. so 64GB virtual disk, 64gb memory, 4sockets 12 cores and arch iso to get things going. dont select boot on creation. after vm is created go to vm > hardware > add > pci. here you do no want to map device or use primary gpu, instead tick raw device and find corresponding pci for the gpu (usually nivida, and i have not tested on amd). then tick the boxes for rom bar, and pci express and hit OK.
now you are ready to boot the vm. a note here…i fucked up this last step above and honestly believed i was having a hardware issue even though i could see the gpu on the host. this led me to trying all sorts of different OS and gpu configs that didnt even matter in the end. i chalk this up to being a proxmox/server newbie. i even reversed the pci power cable and fried my 24GB gpu at one point. i guess the long and short of it is pay attention to the guides, and learn from my error. that being said…you have a few options on operating systems. i recommend a current one, ubuntu 24+, fedora or whatever that will pull drivers for nvidia from proprietary repos. i used arch due to my faith in it, cutting edge kernels, and rolling releases. i have only had to reboot if i’ve had a connection issue (fatal playback error) on jellyfin while transcoding after an update, not a big issue as i can remote in and reboot from ssh or the proxmox web portal. i also run jellyfin on the arch vm directly not through docker…thats adding another layer of complexity that isn’t really needed as i use an api from jellyfin for updating from the arrs. jellyfin is simply working off the nfs share and arch has everything in the extra repo. now onto booting the vm…