I want to use Jellyfin on Proxmox, if that is a thing. After reading a post here where most people recommended Debian as host OS I want to make a VM running Debian and install Jellyfin Server there.
Now I have a few questions:
-
I see many people install Jellyfin via docker. Does that have any advantages? I would prefer to avoid docker as it adds a level of complexity for me.
-
where do I save my media? I have a loose plan to run a second VM running openMediaVault where all my HDDs are passed through and then use NFS to mount a folder on the Jellyfin VM. Is that a sane path?
-
what do I have to consider on Proxmox, to get the best hardware results on Jellyfin? Do I need some special passthrough magic to get it running smoothly? I don’t have a dedicated GPU, does that make the configuration easier?
I’d highly recommend to take a deeper look into Docker. While it might look complicated at first, it really isn’t. Once you get the gist of it, you’r setup life will me much simpler in the future.
In a nutshell: Say you need to run jellyfin (or whatever)
Generally, you’d need to install jellyfin from the repos or download it’s binary, etc… Then you’d have to dig through the configuration process, where files are scattered all across the system. Probably, in some cases, you’d have to copy/move/symlink media files around, etc.
With Docker however, you just spin up the jellyfin as a container, and bind the necessery configuration and media files to that container, which is usually a one-liner.
So instead of having scattered config files all around the place, you can have something like ~/Docker/configs/jellyfinn and bind that folder (or file) to the containers /etc/jellyfin. And you can use the same approach to have your media files in ~/Movies and bind thst to jellyfin /data folder. These are just examples, you’ll just have to look where the docker containers expect the files to be, which is usually well documented.
And the final step is to bind the ports of the container to the host, so you can interact with the service as if it was running on the host.
+1 for using Docker.
I run an AdGuard Home, Plex, Unifi Controller and Wireguard on a Raspberry Pi. When I upgraded to the Pi4 from a Pi3 I just had to plug my portable HDD into the new Pi. Copy over the docker-compose.yml and configure the disk to mount on boot. No messing around having to install and reconfigure each of the apps. No need for Plex to redownload all its metadata as it used to when I migrated in the past.
So I run Jellyfin on a Ubuntu container, just wanting to note that while the config files live somewhere on the system, you don’t actually need to touch them. All configuration can be performed via the web interface so it’s all abstracted out. It’s not any easier to use Docker in that respect at all. What you’re describing as bind ports mean that your Docker host also needs access to the files/folders, then you map it via bind folders.
Same thing in my case, I make sure that Proxmox has access to the files, then map the folder into the container and then Jellyfin can access it directly. No fiddling around with Jellyfin configs.
If you’re using NFS, I’d argue it’s easier not to use Docker. Just install Jellyfin, setup NFS client to mount the folder and then configure Jellyfin to find the folder. Job done.