Hi :)
I’m planning on setting up my home server, and I’m feeling a bit lost.
I currently have a Jellyfin, SSH and Backrest server running on my PC, but want to get some dedicated hardware for it, and increase the services hosted to VPN, Immich, maybe Nextcloud, etc.
The problem is that I have no idea for what kind of hardware to aim for. I don’t know whether I should aim for Rasperri, or MiniPC, or a dedicated rag, or any other thing. My country doesn’t have a big second-hand market for server stuff, but I that’s also a possibility.
Some context on my needs:
-
I run 1440p videos on Jellifyn, so my guess is I need H.265 support. Other than that, I think any CPU will do, and don’t need a very fast one. Same goes for RAM, maybe 8 GB is enough
-
I feel like I do need at least 2 hard drives (1 for my files, another for backups)
-
The ability of upgrade with better hardware would be appreciated, maybe another hard drive or some extra ram.
-
Preferably, a rather low-energy consumption drive. Maybe 10 W idle? No idea on this front neither.
-
Budget is around $200 USD, excluding hard drives. I can pay extra for drives, or get them later on as I start playing around and scale up.
-
What Linux distro should I use? For security, I want to run everything with Dockers, so I guess it doesn’t matter? I’m mildly fluent in Linux, experience with Arch and Debian based.
Thanks in advance :)
So in terms of hardware, I use a Raspberry Pi 5 to host my server stack, including Jellyfin with 4k content. I have a nvme module with a 500gb stick and an external HDD with 4tb of space via USB. The pi5 is headless and accessed directly via SSH or RDC.
The Raspberry Pi 5 has H.265 hardware decoding and if you’re serving 1 video at a time to any 1 client you shouldn’t have any issues, including up to 4k. It will of course use resources to transcode if the client can’t support that content directly but the experience should be smooth for 1 user.
For more clients it will depend on how much heavy lifting the clients do. I my case I have a mini PC plugged into my TV, I stream content from my pi5 to the mini PC and the mini PC is doing the heavy lifting in terms of decoding. The hardware on the pi5 is not; it just transfer the video and the client does the hard work. If all your clients are capable then such a set up would work with the pi5.
An issue would come if you wanted to stream your content to multiple devices at the same time and the clients don’t directly support H.265 content. In that case, the pi5 would have to transcode the content to another format bit by but as it streams it to the client. It’d cope with 1 user for sure but I don’t know how many simultanous clients it could support at 1440p.
The other consideration is what other tools are being use on the sever at the same time. Again for me I live alone so I’m generally the only user of my pi5 servers services. Many services are low powered but I do find things like importing a stack of PDFs into Paperless NGX is surprisingly CPU intense and in that case the device could struggle if also expected to transcode content.
I think from what you describe the pi5 could work but you may also want to look at higher powered mini PC as your budget would allow that.
For reference I use dietpi as the distro on my server, and I use a mix of dietpi packages (which are very well made for easy install and configuration) and docker. I am using quite a few docker stacks now due to the convenience of deploying. Dietpi is debian based, and has a focus on providing pre configured packages to make set up easy, but it is still a full debian system and anything can be deployed on it.
Obviously the other consideration in the pi5 is an ARM device and a mini PC would be X86_64. But so far I’ve not found any tools or software I’ve wanted that aren’t compiled and available for the Pi5 either via dietpi or docker; ARM devices are popular in this realm. I have come across a bug in docker on ARM devices which broke my VPN set up - that was very frustrating and I had to downgrade docker a few months ago while awaiting the fix. That may be worth noting given docker is very important in this realm and most servers globally are still x86.
If I were in your position and I had $200 I’d buy the maximum CPU and GPU capability I could in 1 device, so I’d actually lean to a mini PC. If you want to save money then the Pi5 is reasonabkr value but you’d need to include a case and may want to consider a nvme or ssd companion board. Those costs add up and the value of the mini PC may compare better as an all in one device; particularly if you can get a good one second hand. There are also other SBC that may offer even better value or more power than a pi5.
Also bear in mind for me I have a mini PC and pi5; they do different things with the pi5 is the server but the mini PC is a versatile device and I play games on it for example. If you will only have 1 server device and pre exisiting smart tvs etc you’ll be more reliant on the servers capabilities so again may want to opt for the most powerful device you can afford at your price point.
Thanks a lot!
The extra storage might be cheaper to come by than h265 hardware (or the cpu grunt to live transcode on the cpu). Depends how much you want to hoard I guess.
Yes you need at least 2 hard drives. You can put video you don’t care about on a single drive, but backups etc should be on a redundant disk array (e.g. btrfs, zfs, other options). And an offsite backup while you are at it.
I have 8gb ram with immich, jellyfin, home assistant, prometheus, grafana and a few other things running, but it is constantly butting up against the ram limit. If you want to add nextcloud etc to the mix then you’ll definitely need more. As it is I had to turn off some services I used to run and I’m looking at upgrading the ram.
I use debian, it’s fine.
Thanks!
The h265 hardware support is a lot less exciting than you might think. Most hardware that has support to encode it doesn’t even use the hardware encoders anyway because a software encoder produces a significantly better result. I would make sure you have CPU power to handle your transcoding, and I haven’t has any issues transcoding that resolution on my quite old Intel® Core™ i5-4590T CPU @ 2.00GHz.
A Raspi is probably not going to be enough for reliable video transcoding at high resolutions, but I haven’t tried it myself. You certainly have more upgrade path options with a mini-PC while still keeping a low power target.
I agree that distro is not very important if you’re running your services in Docker containers anyway. It’s mostly whatever you find comfortable. My personal recommendation is don’t get too creative unless you enjoy setting up servers. I tend to be conservative in my server OSs.
Thanks!
You have arch and debian experience, so I think Debian would be great for your server.
You don’t want rolling releases (eg arch) on your server really because you don’t want stuff to break. Debian will be a rock solid choice.
I don’t feel confident with the hardware questions because I have never streamed higher than 1080p, but I would imagine it’d be easy for most systems. A used computer would probably be my choice, mostly for upgradeability, but that’d use more power than a mini-pc for example.
A normal used tower pc could be good if you plan on getting a cheap GPU down the line for transcoding (maybe you’re out and don’t want to use as much data, etc). CPUs can probably do a lot for one user though.
Depends on the admin.
Arch servers are just fine. Just be sure to pay attention to Arch News to watch for manual interventions on certain updates. If anything, the older Debian packages can cause headaches occasionally. I personally use both distros as servers for different use cases.
- buy a cheap atx case with >= 4 3.5” drive bays
- buy a mini itx mb with like 4/5 SATA ports or however you want. Btw pcie SATA hbas exist. This future proofs drives. You can also get pcie NVMe adapters or buy a MB with NVMe ports. Mini itx for the power efficiency. Beware RAM limits on some MBs.
- throw a 6000 or preferably 9000 series and onwards intel chip in there. Anything before that will have poor efficiency. Good thing about this is the socket FGA1151(??) is supports a wide range of years
- 16 gb ram min. Believe me. You’ll run out.
- for PSU, go with Corsair. Only buy tested ones with all the original cables. I recommend looking at Cybenetic’s PSU efficiency numbers. I have a Corsair PSU.
- put proxmox on it. Containerize everything if you’re low on RAM or CPU.
I’m in the US so I was able to snag a lot of stuff for like $150 usd off eBay. Though my first home server was actually a mini PC which was only like $100 and is super power efficient, only using like 10-15 watts. The biggest downside though of that is that is only has two NVME slots and no SATA, because it’s a mini PC.
Nice project!
Given the tight budget, here is what I would do, especially if you are not too constraint by space and don’t mind a few extra watts of power consumption. The Raspberry Pi are getting expensive, and the 200USD will barely get you a RPi5 nowadays. You said there is no market for you for second hand sever hw, but I’m guessing it should not be too hard to get used office desktop PCs.
- Get two of these. Maybe Optiplex or Thinkstation. You can probably get something decent <50USD each.
- Get two small SATA SSDs for the OS (128 - 256GB), around 30USD each.
- Get your storage drives. You should get 3 of them so you can have ZFS raid redundancy.
- On one machine, install TrueNAS and your storage drives. Default RAM is probably enough.
- On the other one, upgrade the RAM to 8 or 16 GB (~50USD), install your favorite Linux distro, and you can run your services, accessing the storage with NFS!
To me it feels safer (against my own mess-up) to separate the storage and the services, plus this setup is fairly upgradable. You’ll probably have space to add more storage drives, even maybe a cache SSD; increase the RAM; add a third machine etc.
Of course it’s just one idea, maybe other another layout might fit your use-case better, idk.
Good luck!
Thanks for the response. I have a question
Given the tight budget
I can increase the budget, but I though that $200USD would be enough to get me starter, given that the 200 don’t include the drives. If I were to increase it, what would you recommend?
Maybe trying with some Raspberry Pis for your services (takes up less space, low power) and building a dedicated machine for the NAS, as suggested by @[email protected], but that’s a whole different budget.
Otherwise, maybe going for some mini-pcs, more recent second-hand PCs (stronger CPU for video encoding) or just more RAM and more disks.
I guess the final price will depend on what exact machine you can get your hands on.
NIxOS is great for servers




