I am looking into updating/upgrading my home media server using some old hardware from my main PC, and I would like some advice on Operating Systems. I have used Windows 10 for the life of this server, and I do not know if that would be the best choice for the future.
My main use case is a Plex Media Server with Remote Access and Hardware Acceleration, but I would also like to self-host a few items, including NextCloud and possibly Bitwarden. I have looked into TrueNAS CORE a bit, but I am uncertain how it would handle these Plex features. Regarding Remote Access, Plex says that it requires
64-bit Ubuntu (16.04 or later) or 64-bit Fedora (26 or later) distributions
and that
Compatible FreeBSD servers require Plex Media Server 1.13.9 or newer
Plex also says that other distributions may work with hardware acceleration, but they are not officially supported. They give a list of supported NAS devices, but they do not mention installing TrueNAS on your own hardware.
My experience with Linux kernel OS's is relatively limited. I had to use Ubuntu for university, and I have used ZorinOS and Raspbian/Raspberry Pi OS at various points. I am familiar with the terminal, but I am by no means an expert.
A Few Lists
Why am I considering moving from Windows 10?
Tired of unstoppable automatic updates causing unexpected downtime
Interested in potentially less resource-hungry OS's
Would like to use an OS more suited for a home media server, if possible
What is my current hardware?
HP Compaq Elite 8300 SFF
CPU: Intel Core i5-3470
RAM: 8 GB
Storage: 500 GB OS Drive, 6 TB Seagate External (STKP6000400)
What is my planned hardware?
Motherboard: MSI B250M PRO-VD Micro ATX
CPU: Intel Pentium G4560
RAM: 8 GB DDR4-2133 (only have 2 RAM slots)
Storage: 500 GB OS Drive, 1 TB Internal, maybe the old 500 GB Internal, 6 TB Seagate External
Still need a case and a power supply
I will either purchase new ones for my main PC and use those for this, or I will purchase new ones for this purpose.
As a note, my current main PC case can fit 3 internal hard drives.
A couple of random points
The Pentium G4560 has a slightly lower benchmark than the i5-3470. However, it is 5 years newer. Both CPU's support Intel Quick Sync Video. Would the newer G4560 still perform better for Plex despite having slightly lower benchmarks, or would it ultimately be a wash?
I feel like using the 6 TB Seagate as an Internal drive would allow it access to a more reliable power supply and a faster data connection. Do any of you have experience shucking this model? Would it even be worth it, with the access to a USB 3.1 port that I would have with the planned hardware? A quick search tells me that it may be SMR, but I am already using it as my primary media drive so I am not certain if this would affect shucking any.
I would very much like a more automated method of backing up specific folders on the 6 TB drive to either the internal drives or my two 2 TB Seagate external drives that I use for backups. On your suggested OS, do you have a preferred software/script for this?
I would recommend checking out Jellyfin (an open-source Plex alternative) to see if it meets your needs, as it's actually free as opposed to Plex.
I would say that the Intel Core is probably a better choice, although both should be fairly close. Neither will likely be able to do real-time encoding of 4K video though, so you'll need a GPU if you want to use hardware acceleration.
Using it right now.
But it was a pain for my iGPU being an 11th gen (about ½ year old at the point of time) and also being an Intel Iris Xe and not HD graphics or UHD graphics
I tried Jellyfin for a few days now and have to say I was absolutely displeased by the stability of the clients (except browser) and sloweness.
Figured the bottleneck was somewhere else so decided to just try Emby with a 1-m pass. Emby works absolutely beautifully. No issues AT ALL regarding speed, transcoding, clients, or anything. I click the video a second later it’s up. Even through a VPN. Jellyfin frustrated me sometimes locally via LAN.
However I still want to give Jellyfin a shot. Have you experienced similar?
both installed in docker on the same host with recommended but where applicable same config.
Interesting, I've had a pretty good experience with Jellyfin recently (it used to be pretty unstable but has gotten better with time). I mostly use the browser and Roku clients, and haven't had any issues apart from a couple of movies that stuttered. I've used it over LAN, a VPN, and just straight port-forwarding. However, I am running it on my Windows gaming machine since my Linux box isn't fast enough for 4K transcoding, so it could be that the Windows version is more stable for whatever reason.
Any stable linux distro should be fine, as you have experience with Ubuntu I would go with that. There should be plenty of support out there if you run into any issues too.
Even though it takes a bit of learning, I would recommend just using a server Linux distro with docker. It does require a bit of learning, but it is well worth it. I would personally go with AlmaLinux, but Debian, RockyLinux, CentOS Stream, Ubuntu Server are also fine choices.
You can find docker images on dockerhub for pretty much everything, and even if you don't, creating dockerfiles isn't that hard. This is very convenient because you know where the configuration and data for everything is, you can easily control access (file system, ports, permissions), it's easy to update. And if you need to reinstall the OS, migrating docker containers is as easy as just copying the data and config files.
I recently moved a lot of my services off my daily driver onto what will become a NAS.
I settled on Void because it has such good support for ZFS. If you're going to use ZFS, I would recommend Void.
Arch can be a bit unstable but it's simple to work with so that's an option.
If you run things in docker containers it shouldn't matter anyway, so ultimately pick something you're likely to use outside your media box, that way you'll be able to maintain it better.
As for remote access, I have a separate machine running alpine with wireguard in a docker container, I VPN into that machine to get access to other devices in the network.
As for remote access, I have a separate machine running alpine with wireguard in a docker container, I VPN into that machine to get access to other devices in the network
This is smart, I should do that. I just run Tailscale on my NAS, but I do sometimes worry about it
DO NOT QUOTE ME ON THIS, but I might be mistaken, but having the drive be internal would help with random operations because the protocol is AHCI directly, but if it’s a hard drive, and given the use case, idk if it really matters. Using anything Ubuntu based probably supports hardware acceleration if what you said is true, so I’m guessing Zorin OS would be fine if you’re familiar with it (tho I personally don’t have the best experience with it)
I would very highly recommend using multiple smaller server grade HDDs instead of one big HDD, and software raid them. If on windows 10, use storage spaces. If on Linux, use zfs. Hard drives will fail and it's a pain in the ass to rebuild a 5-6tb media library when it does. Ask me how I know 😂
Also, definitely use internal drives.
You can shuck the HDD out of the external enclosure and it will work perfectly fine as an internal drive. Bonus, you now have an HDD to USB adapter 😁
I'm personally using Windows 10 pro on an old lga775 supermicro server, with my old graphics card for hardware transcoding. Yeah it's inefficient and loud but that server board is stable as fuck and cheap as dirt. In windows 10 pro you can set group policies to basically debloat the OS, and there's also a great debloat script on GitHub. My idle CPU usage went from 20% to 3% just from the scripts and group policies.
I guess the question you should ask yourself is how much do you really want to troubleshoot if something goes wrong? If your experience is primarily with Windows and pretty limited with Linux, I would take that into heavy consideration, especially if you're going for anything more than a basic setup of pointing Plex at a couple of folders.
DietPi (based on Debian). Incredibly lightweight. Easy menu system for installing apps easily which it then maintains and updates for you, or you can easily install Docker if you prefer that (or both).
Contains a backup system if you want to use that too.