When we left off, we had a working Home Assistant instance running in a container on the home server. It works! Used it primarily for the last few days, and it largely replaces the advertising company’s system, at least functionally. It’s not pretty, and it’s not that complicated or set up completely, but it’s okay for now (the automation I created to test ended up working, if after a little tweaking).
So, after all that, I decided to take a little diversion. At the start, I had planned on three basic uses for this little home server: file server, Home Assistant, and some kind of video server. We have some home videos and some other assorted videos that would be kind of useful to play on the TVs, and maybe someday I’ll get around to ripping my DVD collection (lol). I had used Plex on main computer in the past to handle this kind of thing, but I had given up on it a long time ago, Plex has gotten annoying, and I don’t want to use my main computer to handle it anymore anyway.
So, after some careful research, I landed on deciding to install Jellyfin on the server. It’s a free and open source media server that seemed like it would a good fit for the hardware and use case. And most of the instructions I had seen showed that it was pretty straightforward and easy to get up and running. Sure thing.
One thing I wanted to make sure was to enable hardware transcoding. I had bought a relatively modern Intel-based machine, which has the ability to use the built-in GPU to transcode video, and I wanted to make sure that worked and was functional. I also wanted to use the second spinny hard drive to store the video files since that drive had plenty of space (the SSD only has a paltry 128 GB of storage, the spinny drive has a whole 1 TB). I had no idea how much hacking was going to be required to fulfill both requirements.
I also have learned, not just doing this task, but this whole server operation, that Google search for simple technical questions and troubleshooting just plain sucks now.
There seem to be any number of hacks to get hardware transcoding working, but the most prevalent one that I had seen in most places is placing our installation into what is known as a “unprivileged container” in Proxmox, which mostly means the container shares the same hardware as the server operating system. Some people say this is bad. Some people say it’s fine. I’m erring on the side of it being fine. This is a small home server with only limited internet connection. I don’t think it’s going to be much of a problem.
I started trying to follow this guide. But I got a little ways in and things did not work at all. Not that it’s a bad guide at all, but I ran into a number of issues that could just have been the way my server is set up, or my hardware, or software/OS versions. But it otherwise seems a good and thorough guide and may work for you. It is at the very least educational.
I then tried following this guide. It’s a little more spartan, but it did work for me. It’s possible I was aided by the knowledge from the earlier guide to fill in any knowledge gaps. But I did end up with a Jellyfin server that functioned and had hardware transcoding enabled.
Just one problem remained: I had a server but no files. This was something I probably should have planned ahead. How was I going to get the files from my main computer to the server, and how were those files going to be stored? I figured it would just mount some of my spinny hard drive as storage, but of course that’s not how it works. I tried mounting a drive in Proxmox, but that didn’t really work, and even if it did, would not solve the “getting the files to the server” problem.
Oh right, I remembered I had a file server already running. So I expanded the Open Media Vault server share to add a Media folder with expanded storage. So far, so good. But how to mount that share into Jellyfin? Oh good lord.
Google search, google search, google search, nothing. Thousands of results of nothing related or just forums of people asking questions and responders saying “you idiot why are you trying to do this.” Honestly, those stupid AI summaries at the top started looking more relevant.
After trying one very long process, with tons of related hacks I didn’t understand at all, and crossing my fingers, I kept getting weird errors. Something wasn’t right. Finally, the AI told me “you can’t do that in an unprivileged container.” Oh, wait, what. At least it was something to go on. I then was able to search for solutions with that in the string. I found an alternative, way easier, method. Mounting the network share (its IP address/share) as a mount point in Proxmox, then adding that mount point to Jellyfin. It worked! It was easy! Why didn’t Google surface this immediately?
To be honest, I have no memory of the specific steps I took, nor which lines of code were the ones that worked. But it worked! And now I have home movies (not the great show from the early 2000s—but I should get those DVDs and rip them) available on my network, with no internet needed. Oh, and The Young Ones.

Next time, we’ll get back into Home Assistant, but that may take some time. I have a very basic instance working, and I’d like to keep testing it, and any new devices may take some time to get.
Previously:

