I have a QNAP TS-253D (Celeron J4125, 4GB RAM) hosting all my files. I used to have Jellyfin running on it in a Docker container, but it performed really poorly (which is expected ig). It used to take forever to stream a 1080p movie, and seeking back and forth would freeze the whole thing.
Then I moved my Jellyfin setup to my desktop PC (i9-10850k, 16GB RAM, 2080 Super), the files are still on my NAS. It performs much better now, streaming is a breeze and it almost never freezes or anything.
Problem is, it eats up all my RAM. My RAM usage is 99% almost all the time someone uses Jellyfin and it significantly hampers my regular work on my desktop. I can upgrade my RAM to 32 or 64 GB, but would that solve the problem?
If not, what is the cheapest mini PC or home setup that I can do that’d free up my desktop but still give me similar or at least good enough performance?
Thank you for your advice.
Fyi this sub here is about selfhosting software services, not about any hardware purchase or upgrade advice.
Consider subs like /r/HomeServer /r/Homelab /r/BuildaPC for that.
Then you goto homelab and homeserver and they tell you X and Y things and bitch and moan about power usage. Or they suggest things that logically don’t line up with what OP wants/needs. Or they will say lines like “for just a little more” about 10 times until a build is $1000 or more.
Lets try to be helpful instead of just pushing people other places…hmm?
Very odd: on my computer it never uses more than 1GB of RAM. As for the limitations of your first setup, that sounds like a bottleneck when it comes to transcoding, which can occur because of a lack of GPU or CPU power, depending on whether or not you had hardware acceleration enabled. I would expect it to run much better on your new setup, but the RAM thing is worth investigating. I was running Jellyfin on 12GB of RAM until recently, and never hit 100% usage.
Are you running any 4k content or just 1080p? How many users?
I don’t have any 4k content. Maybe one or two movies among a thousand. I have about 4 regular users.
Map this guy to your NAS. Load up Plex/Jellyfin dockers with /dev/dri mapped for Intel QuickSync. Nice and easy.
Running Jellyfin on my old Pentium E5200 (dual core), 4 GiB memory. I use FreeBSD with ZFS, but I use AppJail to manage my FreeBSD containers (>15). It works very well. There is no performance difference between containers and host (at least on FreeBSD): Jellyfin consumes up to 400-500 MiB of memory with a single client, a bit more when some other client wants to play a movie, but in general I use movian on my PS3 or the Jellyfin app on my android device. When I rewind or fast forward the movie it only hangs 1 or 2 seconds depending on network traffic (in general the rate is low) but I think the Jellyfin app or Movian prefetch chunks of the movie and caches it to improve performance a bit. I think the other thing that helps me not to consume a lot of my resources is that my movies are usually of decent quality, but not the best, as they are either classics or too recent to be of decent quality.
I don’t test the following because I don’t need to, but maybe it can be useful to you:
I run Plex and Jellyfin and about 20 other containers in 8GB. They perform really well even though Plex doesn’t support hardware transcoding. I only have an i5 7500.
I run Plex on an N100 MiniPC, including hardware transcoding. I have the media in another system running TrueNAS.
Make sure you get a box that can be upgraded to at least 32GB, made that mistake got the beelink s12 pro, not enough with 16GB.
if it’s just plex i’ve been running it on an old laptop with 16gb soldered ram and it runs everything without issues
16 runs fine for me. I transcode to an SSD and run home assistant and airsonic and emulatorjs and immich and frigate and monitoring software like glances and uptimekuma and and and.
Ram is at 70%, could use more, 8 isn’t enough but 16 will get you going
Oh, I don’t want the SSD to die. Transcoding to ram and caching Rclone with buffer to ram also. Have at least 10 users to share with my Plex.
Because of jellyfin? Mine is restricted to 3GB and runs happily on raspberry pi 4. I’ve even had it run on 2GB pi4 and it only struggled occasionally.
How do you connect the 2 machines together? This is something I’ve been interested in doing so I can technically keep expanding by adding more “carriers”.
Export the files via SMB on the NAS and mount them on the Plex server.
On Linux, use NFS. SMB is best for Windows, FYI.
Transcoding what? UHD? Atmos? Or something else.
I’m looking for a cheap solution since 1 tv in my household needs those files transcoded and my NAS can’t 😞
4k x265 down to 1080p (x264). Basically any Intel CPU that supports quicksync can do several simultaneous hardware transcodes.
Raspberry pi zero is the cheapest server I ever built. It ran like crap but it was fine for hosting any audio. My idea was to just have it with a usb drive plugged in hosting away but then I figured I may as well just use my Mac because it was on anyway.
I use a stack of old, retired laptops, including one from 2010, that I installed Gentoo on and setup Xen as the Dom0 hypervisor. From there, Podman and Kubernetes, and then containerized plex. I’ve never had any problems.
I use a beelink mini s w/ an N5095 Jasper Lake processor and 8GB RAM. Hardware acceleration supported for the vast majority of my media, and I can do 2-3 simultaneous streams without issue (I haven’t tested higher since it’s usually just my wife and I streaming).
Probably a used enterprise HP/Lenovo/Dell mini or sff pc (e.g. Hp Elitedesk or Lenovo thinkcentre). The 7th gen Intel CPU’s would be the sweet spot between price and streaming performance I think. They can be had for $50-80.
Jellyfin on an Oracle Free tier instance, all your media encoded h.264 mp4 aac and stored on a cloud service like Mega. Total cost $100/ year - no electricity usage, 100% uptime, static IP.
There are a TON of ways you can do this. Since you have a NAS already it makes it super easy. You just need a tiny desktop for about $100 and you are golden.
Look on ebay for one of those mini desktops from HP/Dell/Lenovo. The one thing though is you will need to find one that has a CPU that supports quicksync. So 7th gen or newer. So you want to find as far up the chain as you can.
They are:
- HP Prodesk
- Dell Optiplex
- Lenovo Thinkcenter
This is the cheapest way to get away with it.
There may also be an option to use one of the Intel Arc cards with a cheaply built desktop for quicksync support. But I have not seen anything related to comparing them to on die quicksync. I would be especially curious on the cheaper option from Arc and how well it works for video encoding.
I am using a cheap custom setup with a Ryzen 3600 and 16 GB of ram with TrueNas and works ok. Jellyfin takes a few seconds to get started but runs fine otherwise. I can even run 4k streams but only works smoothly if i encode them with the fast decode option. This was very cheap because of the old hardware, about $300 before the drives.
The only thing I would change is to get a CPU with integrated graphics. Some can help with decoding and massively simplifies the first time setup.
I run Jellyfin on a laptop that was too slow to use for anything else and an external hard drive. Intel Celeron N3060, 2 cores, 2 threads, less than 4gb ram, 32gb eMMC storage.
I run Plex in Unraid on a 6th Gen i7 with zero perf issues and also only using the iGPU. Multiple concurrent streams no problem.