Initial Thoughts
Hello friends!
This is something that’s been muddling around in my mind for a bit, in part because I now have a decent collection of DVDs, and I am starting get a digital collection of shows that are a bit hard to find. I’m also interested in the fact that there’s a TubeArchivist plugin for Jellyfin, as media archival interests me and YouTube is starting to suck with Google’s position on ad-blocking. It would be nice to be able to access this stuff anywhere as well, so creating a media/Jellyfin server seems like a good solution.
Thing is I’d rather have a physical server than pay a bunch of monthly fees for VPS hosting. Not knocking it of course, but on top of monthly fees I also have my skepticism about VPS hosts and if they’re sharing data with people regarding my use of their service.
Completely wishful thinking setup
I’m not so much of a hardware guy as I am a software guy, funnily enough, but to give you an idea of what I would like here’s my admittedly wishful thinking of what I’d like for a setup:
- DragonflyBSD as the server OS, utilizing it’s HAMMER2 filesystem and swapcache as I’ve heard great things about those.
- Jellyfin, obviously.
- NVMe SSD storage with some level of RAID.
- Intel GPU, as I’ve heard they’re very good at video decoding, but I’ve not looked into evidence of this.
- Whatever CPU and RAM I can get good performance out of without wasting money.
- Add it to the Wireguard network so I can watch stuff anywhere.
A few things with this:
- I don’t know how up-to-date DragonflyBSD’s dport of Jellyfin is, but maybe this is something worth contributing to.
- God only knows if the new Intel graphics card drivers work well on the BSDs. I know all of the BSDs basically just pull from the official Linux firmware for graphics (I think?).
- I’d have to figure out if any other hardware would not play well with DragonflyBSD, probably not too big of an issue but it’s still something to look out for.
- Cost of hardware.
Wrap up
Overall it probably be just me and my wife who would use the server, mostly me. Maybe some immediate family, a few friends, maybe down the line use it for kids when we have them.
What are your recommendations?
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System LTS Long Term Support software version NAS Network-Attached Storage NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency NUC Next Unit of Computing brand of Intel small computers NVMe Non-Volatile Memory Express interface for mass storage Plex Brand of media server package RAID Redundant Array of Independent Disks for mass storage SATA Serial AT Attachment interface for mass storage SSD Solid State Drive mass storage VPN Virtual Private Network ZFS Solaris/Linux filesystem focusing on data integrity
[Thread #732 for this sub, first seen 1st May 2024, 16:05] [FAQ] [Full list] [Contact] [Source code]
- Lenovo ThinkCentre / Dell OptiPlex USFF machine like the M710q.
- Secondary NVMe or SATA SSD for a RAID1 mirror
- Use LVMRAID for this. It uses mdraid underneath but it’s easier to manage
- External USB disks for storage
- WD Elements generally work well when well ventilated
- OWC Mercury Elite Pro Quad has a very well implemented USB path and has been problem-free in my testing
- Debian / Ubuntu LTS
- ZFS for the disk storage
- Backups may require a second copy or similar of this setup so keep that in mind when thinking about the storage space and cost
Here’s a visual inspiration:
Is ZFS on Linux getting better? I’ve heard mixed things. I use BTRFS on my daily driver, and I really like (ab)using the file compression with zstd.
I’ve been using ZFS for the past 3 years without any major issues. For my server, all my media is stored on a group of HDDs in an external HDD enclosure using RAIDz2. I currently use Proxmox, since I wanted a stable OS and it has support for ZFS baked-in.
My personal laptop has root on ZFS, running Arch. ZFS is a kernel module installed separately in this case. Since Arch is a rolling distro and I like messing around with it, I appreciate running a FS with snapshots where I can easily rollback when something breaks. Plus, ZFS supports native encryption!
Plus, ZFS supports native encryption!
Hmm, I think that was the one I was wondering about. I use Gentoo, and when I was initially setting everything up on my machine, I saw there were a lot of caveats for using ZFS on linux from the Gentoo wiki entry on it. Maybe that’s changed or those issues are no longer related to native encryption specifically.
Those caveats/issues are definitely worrying. I don’t think I have enough expertise to comment on them, unfortunately.
The wiki also says that native encryption is “unofficially discouraged by the community” and I’d be interested in learning more about that, but there’s no source for that statement.
If you’re interested in ZFS, I think it’s definitely worth trying out on a secondary machine. There’s a lot to learn, but I’ve found it worthwhile.
I found a GitHub issue suggesting that they warn users about the risks associated with native encryption, it has helped me understand the situation better: https://github.com/openzfs/openzfs-docs/issues/494
If all you’re looking to do is setup a Jellyfin server that won’t do any transcoding, you could very easily use a raspberry pi with an external Hard Drive.
This is a bad idea and not cost effective. Just buy a used minipc
Why is it a bad idea?
What the breakdown of cost of Pi (and accessories) vs mini pc? What’s the power consumption breakdown?
I’m certainly not say it has to be a Pi; I’m trying to point out that a Pi could host a Jellyfin server without transcoding.
It could but a Raspberry Pi these days will cost you $100 by the time you buy one, a case, a powers supply and SD card. Not to mention the raspberry pi does not have hardware acceleration so your CPU usage is going to be very high and your video may be choppy.
By comparison you can pickup a minipc for around the same price and it will be much more efficient as it has hardware acceleration.