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?
Anything that does the job is good enough. At its core a server is just a regular PC with a dedicated purpose and software. Sure, there are specialized hardware better suitable and purpose built, but it’s not a requirement.
I for one prefer 19" rackmount stuff with disk bays in the front, but that’s more of a convenience than anything.
UPS is nice, but it’ll work without it.
I’ve had to deal with the Brazilian computer market and how it’s ridiculously overpriced due to import fees, so in your situation I’d just get any hand-me-down computer. Servers generally don’t require much unless you’re doing something special or intensive.
Get your hands on whatever you can find for free or dirt cheap (laptop or desktop doesn’tmatter), install linux, and you have a basic setup that you can work with. If your use case requires more, then that’s something you can accommodate in the next iteration of your server.
What are you intending to run on this server?
-
If it is just PiHole, you can basically get the weakest computer you can find.
-
If you want lots of storage space, you will need to make sure you have a case and motherboard that will accommodate the drives.
-
If you are running encryption on those drives as well, you will need a CPU more powerful than what comes in a Pi, but nothing crazy.
-
If you are running lots and lots of VMs, you will want lots of RAM. A linux VM will use maybe a few GB each depending on what software each is running internally, a windows vm will use a bit more.
-
If you are doing AI workloads, you will need a graphics card.
-
If you have an old android phone, then you can repurpose it into a Linux server.
Or an old computer. But you probably don’t need to buy anything to get started.
That very much depends on what you want it to do (what is “everything”) and how many users you have.
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.
A computer. Seriously that’s it. Of course depends on your use case (media servers usually need more than a web host for example)
Raspberry PI
This also shouldn’t be your default option. Your default should be whatever you have laying around, and a lot of people have a Raspberry Pi sitting idle, hence why people use them.
What specs
That depends on what you want to do with it.
For example, if you want to host a video server, then you’ll want something that can handle transcoding. Check the Jellyfin docs for details, which recommends an N100 or better.
List all the things you need and want, and then look up what the requirements are. Basic file hosting is pretty light, so you really don’t need much (hence the Raspberry Pi rec).
I personally use an old PC with the following specs:
- Ryzen 1700
- 16GB RAM
- GTX 750 Ti GPU
- 2 8TB HDDs (bought for the server)
- 1 SSD for boot (128 GB, just needs to store the OS)
This is way overkill for what I need, but I had it laying around. You could even start with a laptop, you’ll just have limited storage (can get a USB emclosure of you want).
If you don’t have something, maybe a mini PC would work (minisforum, beelink, etc). Or maybe it doesn’t. I don’t know what you’re planning to run on it. You probably don’t need anything fancy, your biggest requirement might be the GPU/iGPU if you’re planning to do transcoding.
raspberry pi’s arent the best option anyway since you need to add on a hat just to get some SATA ports. i think Odroid has some boards with sata connectors. zimaboard or zimablade are some other options off the top of my head
For Linux: Anything Intel 4xxx is fine, later is better obviously. 4GB RAM is OK for one family, 8GB gives enough headroom to host NextCloud for a small office. SSD for operating system makes it snappy as fuck at the terminal but aren’t mandatory, slow drives for storage are fine.
The minimum spec is whatever e-waste you can find that still powers on.
My home server has an i3-4160, 10 gigabytes of mis-matched RAM, a ten-year-old 240 GB SSD with 36000 hours on it, and three 1 TB hard drives in a RAID5 array each with ~25000 power-on hours. It runs Proxmox on the metal with a virtualized OPNsense, Nextcloud, and Jellyfin server (plus smaller services). Jank levels are high, but not fatal, and it was mostly free.
Living dangerously
If you are buying I wouldn’t get something older as the newer stuff is the same price often times because it is less well known.
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.
A CPU that can run Linux along with some networking
As everyone have said, it depends on what you want to have in your server. I started with an old lenovo I bought in mercado livre for 200 BRL. It was a DDR2 PC with 4Gb ram. I bought an ssd and installed Debian. Used for years. After that I tried to build a DDR3 PC. Made it with 800 BRL and it’s decent to run my docker containers like an arr stack, nextcloud, VPN, reverse proxy and vaultwarden.
8 GB RAM or more. OS installed either to SSD, or a HDD that does not store service data (for performance). a modern CPU with at least 4 cores. modern means it has at least AES and AVX2 instruction sets to do math quickly, but probably you can just pick one made in the last 10 years, with less years generally meaning better energy efficiency.
what kind of services do you want to host on it? initial plans, perhaps longer term plans?
When I started my media server in 2020 I used e-waste from my building. Had an i7 3770, 16gb ddr3 ram and an rx460 graphics card. I ran jellyfin, ultrasonic and audiobookshelf for 10-15 people with no problem on this hardware. Anything made within the last decade should provide a good starting point for you.