What's a good piece of hardware to run a jellyfin server?
I'm wanting to set up my external Seagate drive with all my media on it to run a jellyfin server but I'm not sure which device to use. I'm thinking a raspberry pi but I'm not sure which one. From what I can tell from running the server on my laptop it is fairly CPU intensive for lower end systems
Edit: so general consensus seems to be, don't use a pi, it's not powerful enough
Consider how many devices will use it at the same time.
Only you? A pi is fine.
A few friends too? An old computer with a rough equivilent of i5-2300 with integrated graphics should do the trick. 4GB Ram will do fine.
A small group that'll use it constantly? Plug in a GPU that supports hardware encoding, (Some low-end cards like GT 1030 doesnt support this feature, check this properly.) , upgrade RAM a notch more, like 8GB.
You can scale it higher for more people via logic; you'll also know how much storage you'll need; but it'll be a lot if you want to satisfy a huge group of people.
Any more recent Intel CPU with quicksync works well too. I have a $100 CAD i3 powering Jellyfin and it's able to handle ~5 1080p streams going at a time without any issues.
+1 for QuickSync. Intel 9th gen can transcode HEVC and they don’t have a transcode session limit like Nvidia. An i9-9900K will transcode a half dozen 4K streams without breaking a sweat. I don’t even run a GPU in my plex box anymore.
If you’re running your media server in docker, make sure you pass /dev/dri into the container so it can find the GPU.
I struggle to recommend using such a low end device for any media serving related proprieties that might require transcoding.
Even with the native Plex Media Server that my Shield TV Pro has and I being the main user it led to some undesired transcoding (like anime video files) making it struggle at times, which I consider is better suited than the Pi for these activities.
Usually you want to avoid transcoding, but sooner or later you will face it, and if you have more users using your server then this scale grows.
If space isn't an issue, getting a cheap office surplus machine like a Dell Optiplex SFF line for ~$100 US vs the USFF so that it supports low profile PCI-E for a hba card for more storage, or nvidia quadro p400 for better encoding at like $30-50.
It will probably use a bit more wattage, especially with more HDDs, but still should be around 50w idle for even the old systems.
That's the exact one I upgraded to two weeks ago. Runs jelly, sonarr, radarr, bazaar, sabnzbget and overseerr with a 24tb lvm raid on USB. Barely touches the amount of RAM installed and live transcodes two 1080p movies simultaneously.
A Raspberry Pi will work as a Jellyfin server, but it will really struggle if it has to transcode any media.
If you want your Jellyfin server to be up and accessible at all times, I would suggest getting a second hand PC. I’m personally a fan of small form factor mini PCs. Anything with a 7th gen Intel processor or newer, with integrated graphics, will be able to hardware transcode anything but AV1.
I'm running Jellyfin on Pi now and it's exactly like this. I either make sure I download the right version from the start or use handbrake to do a bulk conversion. Works just fine with H264 (H265 I don't recall).
Per Jellyfin's hardware guide, that's only for recent AMD CPUs. If we're looking at budget options (as OP seems to be heading), then we can go with older, used Intel CPUs.
If you can get a 7th gen Intel or even a halfway decent basic El cheapo Nvidia card then that will help with transcoding but outside of that anything that runs the interface should be fine.
This. Not to mention, there are a million Nvidia P4s on Ebay for cheap after everyone dismantled their old mining rigs. Also, they're low-pro cards not any longer than an ITX motherboard.
I’ve got it running in a docker container on my Synology, but I’ve been experimenting with a Raspberry Pi 4… and to all those on here talking about how the Pi can’t transcode, you have to do some work to enable hardware transcoding. I went through a whole bunch, but here’s a summary someone else wrote up: https://www.reddit.com/r/jellyfin/comments/ei6ew6/rpi4_hardware_acceleration_guide/
It makes a huge difference. ffmpeg normally is like 8fps, with HW accel, it’s like 50+. It’s why I’m playing with it. Lower power draw and the Synology I’ve got it on now has no HW acceleration and is old and crusty.
Jellyfin server itself isn't all that intensive. My "server" is running on a 13y/o low-end desktop CPU (Pentium E5800, in case you're curious). However, if you noticed your laptop struggling, as others have pointed out, that's probably when it was transcoding. While I want eventually update my server with transcoding hardware, I just disabled transcoding completely for now, and it's pretty workable.
If the client can’t play the codec because of some limitations, you are required to transcode.
You can, of course config *arr services to pick only wanted codec, or skip "bad" codecs
You’ll be disappointed with an RPi any time you need to transcode. If you’re only going to be streaming locally and you know that all of your devices support DirectPlay, then great. Go ahead. But if you think you might need transcoding, then you’ll likely want to look elsewhere for something that will actually be able to keep up with transcoding.
Consider looking for something like an HP EliteDesk. You can pick up a refurb G5 model for anywhere from $200-$400. Hell, Amazon probably has refurbs even cheaper than that; They’re commonly used in office buildings for desk workers, then recycled when IT’s 3-year replacement cycle comes around. So there are a lot of used ones on the market, which have only been used for basic things like word processing and excel spreadsheets. The refurb is basically just a matter of adding a new SSD to it (because IT will have ripped the drive out when they recycled it) and giving it some new thermal paste and a blast of air. It’ll be beefy enough to run 2k transcoding decently, while still maintaining a MicroATX size.
Maybe throw an external case fan on it, since it’s passively cooled and tends to run warm? But that’s honestly optional, especially if you’re only using it for Jellyfin and the *arr suite.
It’s hard to make specific recommendations without knowing a budget. You mentioned the RPi so I’m assuming your budget is low. But I just wanted to caution you against the RPi, since you’ll quickly find that it is underpowered for video transcodes.
If you’re dead set on using an SBC for it, maybe something a little more powerful? I’m not super up-to-date on SBC stuff right now, but I know there are several competitors to RPi that offer better specs. The issue with competitors has (at least last time I looked at them) been with software support. The RPi dominates the market, so there is a lot of software written for it. But competitors have historically struggled to get the same kind of support, so you’ll want to do some research to make sure your particular SBC will actually have a decent distro available for Jellyfin.
I use a Synology nas. It also runs pihole, and is my back up for photos and videos etc. as well as my network file server and can be my VPN as needed when using public hot spots.
I'm not currently running the arrs on it too, but I plan to. They are already set up on my PC, so next time i need to change anything, I'll load them on the nas. None are particularly resource intensive, but need more than a pi.
I recommend looking at what your overall needs are. Will you do any more than serving locally. Do the other features of a nas appeal? For me, running a 24/7 laptop is more inefficient and I don't have a spare, like you. A nas was pretty cheap with other features I use.
fwiw, I run emby on my fileserver using an atom C3558 and it can handle h264 and below just fine. h265 needs more cpu though, so. transcoding is transcoding.
It's not that ras pi are not powerful enough, it's more that they don't have built in hardware encoding for h.264 and h.265. I currently use a pi4 and it "works" but I have a fancy encoding script that handles a queue. It's not perfect and spoilers the CPU when processing. And I died a little when I read that the new pi doesn't have it either. So in sort, make sure the video card\chip can encode and decode video and audio.
I have it running on a Raspberry Pi 4 (with a lot of other stuff) and it works great. I'm only direct streaming tho, it's too slow for transcode I think.
I'm doing it on a ln i3 6th gen SFF PC. It's holding up quite well for many other things as well. A pi could suffice, but maybe for a single user at a time.
I've bought $10 Igel thin client with some quadcore AMD shitcessor. It runs very snappy, even transcodes (that is not snappy), but as I never need to transcode, it works very well for me. I've mounted my TV and Movie & music colections from my NAS with CIFS and it works very well.
Supermicro latest H13 servers are good pieces of hardware. They also can run jellyfin. For optimal longevity, I recommend a Supermicro AS -2025HS-TNR fit with 2 9654, 12 dimms of 64GB DDR5, and 12 20TB HDDs.
So that would be my pick, with the stated requirements.
I mean if I'm looking at a raspberry pi first I think it would be a good assumption to make that £4,200 is a little out of my budget to run a FOSS media server, a little overkill even
No budget was stated, and I'm not gonna assume you don't want a "good piece of hardware" because you looked at something 2 orders of magnitude cheaper. If I had the cash, I would definitely get one (or more!) of those bad boys, and would run all my infra on them... I might however in such case still look at an additional SBC just for plugging to the IPMI interfaces and turn the machines on and off at will.