[Proxmox] Jellyfin w/ NAS mount + iGPU passthrough

https://sh.itjust.works/post/49272492

[Proxmox] Jellyfin w/ NAS mount + iGPU passthrough - sh.itjust.works

Fresh Proxmox install, having a dreadful time. Trying not to be dramatic, but this is much worse than I imagined. I’m trying to migrate services from my NAS (currently docker) to this machine. How should Jellyfin be set up, lxc or vm? I don’t have a preference, but I do plan on using several docker containers (assuming I can get this working within 28 days) in case that makes a difference. I tried WunderTech’s setup guide which used an lxc for docker containers and a separate lxc of jellyfin. However that guide isn’t working for me: curl doesn’t work on my machine, most install scripts don’t work, nano edits crash, and mounts are inconsistent. My Synology NAS is mounted to the host, but making mount points to the lxc doesn’t actually connect data. For example, if my NAS’s media is in /data/media/movies or /data/media/shows and the host’s SMB mount is /data/, choosing the lxc mount point /data/media should work, right? Is there a way to enable iGPU to pass to an lxc or VM without editing a .conf in nano? When I tried to make suggested edits, the lxc freezes for over 30 minutes and seemingly nothing happens as the edits don’t persist. Any suggestions for resource allocation? I’ve been looking for guides or a formula to follow for what to provide an lxc or VM to no avail. If you suggest command lines, please keep them simple as I have to manually type them in. Here’s the hardware: Intel i5-13500 64GB Crucial DR5-4800 ASRock B760M Pro RS 1TB WD SN850X NVMe

How should Jellyfin be set up, lxc or vm

Either way. I prefer lxc, personally, but to each their own. lxc I think is drastically easier, in part because you don’t need to pass through the whole GPU….

Is there a way to enable iGPU to pass to an lxc or VM without editing a .conf in nano?

You don’t need to pass the igpu, you just need to give the LXC access to render and video groups, but yes, editing the conf is easiest. I originally wrote out a bunch here, then remembered there is a great video.

https://www.youtube.com/watch?v=0ZDr5h52OOE

My Synology NAS is mounted to the host, but making mount points to the lxc doesn’t actually connect data

Do they show up as resources? I add my mount points at the CLI personally, this is the best way imo:

pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

This is done from the host, not inside the LXC.

Does your host see the mounted NAS? After you added the mount point, did you fully stop the container and start it up again?

Split A GPU Between Multiple Computers - Proxmox LXC (Unprivileged)

YouTube

Do they show up as resources? I add my mount points at the CLI personally, this is the best way imo: pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

I’d love to check that, but you lost me…

So the NAS was added like you suggested; I can see the NAS’s storage listed next to local data. How does one command an lxc or vm to use it though?

This line right here shares it with the LXC, I’ll break it down for you:

pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

pct is the proxmox container command, youre telling it to set the mount point (mp0, mp1, mp2, etc). That point on the host is /mnt/pve/yourmountname. In the container is on the right, mp=/your/path/. So inside the container if you did an ls command in the directory /your/path/, it would list the files in /mnt/pve/yourmountname.

The yourmountname part is the name of the storage you added. You can go to the shell at the host level in the GUI, and go to /mnt/pve/ then enter ls and you will see the name of your mount.

So much like I was mentioning with the GPU, what youre doing here is sharing resources with the container, rather than needing to mount the share again in your container. Which you could do, but I wouldn’t recommend.

Any other questions I’ll be happy to help as best as I can.

Friend, thank you. My users and I greatly appreciate it. You just taught me how to solve one of the biggest problems I’ve been having. Just tested a movie through Jellyfin after using that cli.

Got any pointers for migrating config files from my NAS’s docker containers to Proxmox’s LXCs?

No worries!

So if you’ve got docker containers going already, you don’t need them to be LXCs.

So why not keep them docker?

Now there are a couple of approaches here. A VM will have a bit higher overhead, but offers much better isolation than lxc. Conversely, lxc is lightweight but with less host isolation.

If we’re talking the *arr stack? Meh, make it an lxc if you want. Hell, make it an lxc with dockge installed, so you can easily tweak your compose files from the web, convert a docker run to compose, etc.

If you have those configs (and their accompanying data) stored on the NAS itself - you dont have to move them. Let’s look at that command again…

pct set 100 -mp0 /mnt/pve/NAS/media,mp=/media

So let’s say your container data is stored at /opt/dockerstuff/ on your NAS, with subdirectories of dockerapp1 and dockerapp2. Let’s say your new lxc is number 101. You have two options:

  • Mount the entire directory

pct set 101 -mp0 /mnt/Pve/NAS/opt/dockerstuff,mp=/opt/dockerstuff

  • Mount them specifically for each container to get a bit more granular in control
pct set 101 -mp0 /mnt/Pve/NAS/opt/dockerstuff/dockerapp1,mp=/opt/dockerstuff/dockerapp1 pct set 101 -mp1 /mnt/Pve/NAS/opt/dockerstuff/dockerapp2,mp=/opt/dockerstuff/dockerapp2

Either will get you going

Dockge

Self-hosted - Docker compose.yaml - Stack-oriented Manager

I think I’m getting a grip on some of the basics here. I was trying to make a new mount for my NAS’s docker data…separate drive and data pool. In the process of repeated attempts to get the SMB mount to get accepted, I noticed my NAS’s storage isn’t working as intended suddenly.

‘cat /etc/pve/storage.cfg’ shows the NAS still ‘pvesm status’ says “unable to activate storage…does not exist or is unreachable”

I thought it was related to too much resource usage, but that’s not the case

What do you get putting in:

showmount <ip address of NAS>

“Hosts on 192.168.0.4:” As a novice, I get the feeling that means it’s not working

If you’ve got nothing under it, yeah.

OK, what I’d probably do is shutdown proxmox, reboot your nas, wait for the nas to be fully up and running (check if you can access it from your regular computer over the lab), then boot up the proxmox server.

Then run that command again, you should see a result.

Its possible you’ve got some conflicting stuff going on if you did manual edits for the storage, which may need to be cleaned up.

I restarted everything like you suggested, same ‘showmount’ result unfortunately…I double checked the SMB mount in the datacenter, and the settings look correct to me. The NAS’s storage icon shows that it’s connected, but it seems like that doesn’t actually mean it’s *firmly *connected

Ok, lets take a step back then and check things this way.

In shell (So datacenter, the host, then shell), if you enter ls -la /mnt/pve/thenameofyourmount/, do you get an accurate and current listing of the contents of your nas?