I want to set up a home server and take advantage of everything it can offer, specialty privacy.
Raspberry PI, no matter the version, are all quite expensive here in Brazil, so that’s off the table. I’ll go for a regular desktop. But the the requirements for a server that “does it all” remains a mystery to me.
What specs do you guys recommend?
I run about thirty services off of an old Dell workstation that I “acquired” from my last corporate job. That includes a full Servarr stack. I’m pretty sure whatever you have will probably do the trick.
I’m running an old Igel M340C thin client to run a lot of stuff, from Jellyfin to AdguardHome. Perfectly enough.
I have a old optiplex 7010 with i7 and 8gig RAM. About 70€ on eBay. I upgraded it with a nvme SSD to bolt from (great tutorial here) and salvaged an old SATA HDD from an external case.
Currently runs 11+ container in proxmox without issues. Way beefier than a raspberry pi.
I also have room for 3 more hdds to put in a mergerfs system and 2 additional pcie slots für things like a faster LAN card or an additional SATA controller
It depends what you want to do with it. What do you want the server to do?
Right now I want to host movies, photos, automatic backups, files in general. Also use it for the smart home that I’m slowly putting together, basic stuff… for starters.
Someone mentioned that if I want to host 4k content I should go for a 7th gen Intel CPU or newer for HVAC support, something I didn’t know, but that showcases exactly the sort of restrictions that I had in mind when I submitted this post.
Sorry it took me a while to respond, didn’t expect to have this many responses.
So yes and no on that recommendation. If you are just hosting content for local consumption, transcoding is unnecessary since you have the network bandwidth to just throw the data directly to whatever is playing it. So weaker hardware is perfectly fine. If you are doing lots of concurrent streams or there is network access outside the house, the limited bandwidth can become an issue so transcoding suddenly matters and more powerful hardware comes into play.
I have used many ARM SBCs and a few low-power Intel boards like my current N100 and they’ve all been fine. While I generally dislike Intel their quicksync is very useful in media server configurations. If you are going to be doing a lot of live transcodes, I would consider throwing an ARC GPU in there and having jellyfin utilize the transcode capabilities of the Intel GPU instead of the CPU as it can handle more simultaneous streams. Beware the xe driver as there are issues with it in certain configurations. Same with HuC/GuC. The older standard driver is more likely to just work. Jellyfin and the archlinux wiki have great documentation on this.
NVIDIA used to be top tier here but their transcode tech is pretty old by this point and the quality, while acceptable, isn’t the best. Intel beats them. AMD, generally a preference for me, has a terrible media transcoder. Easily the worst quality of all of them. For raw compute and pushing pixels, AMD all the way but for transcode I would pass.
So to summarize: cheap out if it’s just local access. Transcode is pretty much unneeded. If it’s outside the home and/or had many streams at the same time, Intel for the GPU and AMD for the CPU.
Literally any old PC is likely fine. It may be slow, it may struggle or even fail with some of the very complex software (perhaps you will encounter timeouts, or you will spend so much time waiting for memory to swap in or out to disk that it won’t be worth using) but you can run Linux itself on a potato and if your machine isn’t powerful enough, maybe you can get a second one and run different stuff on each, or just scale down your expectations and don’t try to self-host LITERALLY everything just because you can. Certain services are very intense, others will run on a very small piece of a potato.
Take a look at some N100 devices (or N95/N150).
These are a good alternative to RPis. Just be aware some of these are sort of haphazardly assembled so they might have cooling issues or bad power supplies.
Can’t say my Chuwi Larkbox X has any issues (other than missing a few QoL settings in the UEFI).
Why would raspberry pi’s be expensive but the hardware to build a server be any cheaper?
Second hand markets exist and Raspberry Pis are rarely sold second hand.
Sorry for my ignorance, so brasil has nothing like an Amazon where OP could buy a new pi from and have it delivered? If thats the case i feel like I could buy OP a pi and ship it to them in brasil for less cost than it would be to buy anyother option of hardware for a home server. Assuming USPS still offers flat rate boxes for international shipments.
I’m not Brazilian, but I’m guessing importing stuff is expensive. Look at PC components elsewhere in the world, it’s typically much more expensive than the US.
Right but thats kinda what im saying is that wouldn’t all hardware be expensive and not just Pis?
Except second hand. That’s my point.
Scalpers for highly sought-after hardware or just general lack of supply in specific regions.
Do you have access to Raspberry Pi clones like Orange Pis etc? They’re often cheaper and you can order them straight from China.
@Greg @Human01001100 @selfhosted you can get a small clone for less than 50 bucks
I live in Brazil too and bought a R$120 old HP computer running Windows XP on MercadoLivre. Works decently enough for a Minecraft server after an upgrade (4 to 8GB of RAM). Old computers are great for price and they’re good if you can upgrade them.
For general purposes, get something better than what I bought since it is not the fastest (even though it runs the Minecraft server software alright, it still lags). Maybe upgrading with an SSD would help performance.
Intel i3 or i5 4th gen or newer will be solid.
Dell, HP, Lenovo all make a ton of generic office PCs that are good for a home server, and you can find older models for under $40 in the US so hopefully they’re also cheap in Brazil.
If you can find one of the optiplex desktops with the T version of Intel processor, those are low powered
I don’t think those really idle at much less power, so I’d take the performance of the normal variants
Hmmm I’ll have to take your word for it. I’ve had one in my garage running for 2 years straight and I didn’t notice a power bill change.
They cost about $2/month at the average power rate in the US, so it’s too small to notice I imagine.
The things I paid attention to was
USB3 - you need this otherwise connecting external drives will be a joke Motherboard needs to accept up to 32 GB of RAM. Mine currently has only 8 but knowing I can upgrade is nice.
Quiet - must be silent when idle.
CPUs of less than 8th? gen will suck at video transcoding due to lacking certain capabilities. Important if running jellyfin, etc.The beauty of self hosting is it’s all about your individual circumstances so you priorities and acceptable tradeoffs will differ.
My preferences are quite different.
You’ll need a lot of RAM for all the containers, 64 GB is nice. A CPU that saves power when idle is fine. You’ll need at least 16 TB storage (32 TB RAID1). SATA HDD is fine, when you have ZFS and cache using SSDs. Never use USB for drives.
It does not need to be quiet. Just put it in the basement and close the door.
i’d modify the CPU requirement and say you can sub that out for a 2nd hand cheap nvidia card if it’s easier
here’s the table of cards with nvenc: https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
i’m running an old af xeon and added a $30 entry level GPU from years ago and it was a great upgrade
My jelly fin server is running off of an entry level desktop in 2009, a single core celeron processor. I have to downscale video files to standard definition in order for it to keep up.
I have very similar requirements, but I’m currently using a Pi with some external drives since that’s how I started out. Would you mind sharing what you ended up buying? My place is pretty small, so the ‘quiet’ requirement is one I care about a lot. Personally I’d love to get something passively cooled, but I haven’t seen much!
I use a random micro PC with Ubuntu installed. 2tb nvme, 16gb ram, not even sure what the cpu is
Keep an eye out for people trashing perfectly good desktop machines because Windows 10 is being retired.
If you want a server that “does it all” then you would need to get the most decked-out top of the line server available… Obviously that is unrealistic, so as others have mentioned, knowing WHAT you want to run is required to even begin to make a guess at what you will need.
Meanwhile here’s what I suggest – Grab any desktop machine you can find to get yourself started. Load up an OS, and start adding services. Maybe you want to run a personal web server, a file server, or something more extensive like Nextcloud? Get those things installed, and see how it runs. At some point you will start seeing performance issues, and this tells you when it’s time to upgrade to something with more capability. You may simply need more memory or a better CPU, in which case you can get the parts, or you may need to really step up to something with dual-CPU or internal RAID. You might also consider splitting services between multiple desktop machines, for instance having one dedicated NAS and another running Nextcloud. Your personal setup will dictate what works best for you, but the best way to learn these things is to just dive in with whatever hardware you can get ahold of (especially when it’s free), and use that as your baseline for any upgrades.
This. Be on the lookout for company grade PCs, like from Dell, Lenovo or Fujitsu, they come in small form factors, offer decent upgradability and are low/on power consumption and noise (most of the time)
Take what you have, start small and learn from it.
Old laptops are great, because they have low power consumption and even pretty used up battery will give you power redundancy.
Even a 10yo laptop is something with 4-5th gen Core cpu and that has plenty of power to get you started.
Even a Commodore 64 can be a server depending on the service it has to give.