Hey, I want to dip my feet into self-hosting, but i find the hardware side of things very daunting. I want to self host a Minecraft server (shocking, i know), and i’ve actually done this before both on my own PC and through server hosts. I’d like to run a Plex server as well (Jellyfin is champ now it sounds like? So maybe that instead), but I imagine the Minecraft server is going to be the much more intensive side of things, so if it can handle that, plex/jellyfin will be no issue.
The issue is, I can’t seem to find good resources on the hardware side of building a server. I’m finding it very difficult to “map out” what I need, I don’t want to skimp out and end up with something much less powerful than what I need, but i also don’t want to spend thousands of dollars on something extremely overkill. I looked through the sidebar, but it seems to mostly cover the software side of things. Are there any good resources on this?
Buy yourself a new gaming rig, and use your old gaming rig as a server. That’s what I usually do.
Or, see if you can get an old office PC for a couple hundred bucks on eBay. Anything that’s around 5 years old (10 is pushing it) and has decent specs (maybe an i7 and 16GB of RAM) should work fine as a Minecraft and Plex server. Then you can get a cheap (ideally less than $200) graphics card and be good to go.
Bottom line, a “server” is just a PC that’s serving things. You don’t need enterprise grade hardware. If you’re new to hosting, I’d advise you to start cheap and then upgrade to better hardware in a few years when you KNOW what you need. No need to get something really nice and expensive right now.
I have something 10 years old for jellyfin only, (other light stuff too, not important) and it handles it fine. No hardware acceleration but the CPU can keep up for just me and 1 friend using it. I got it for 50 bucks on eBay and it rocks. I don’t know about Minecraft servers though.
Edit: It didn’t come with drives. Don’t ever trust old drives.
It depends on whether or not you’re transcoding, how many users you have, and your resolution. If you’re just direct streaming 720p/1080p content to a couple of people then even a Raspberry Pi is fine. But if you’re sending transcoded 4K streams to several people simultaneously, you need some horsepower.
Buy yourself a new gaming rig, and use your old gaming rig as a server. That’s what I usually do.
Seconded. A few years ago I upgraded my CPU, which also required me to swap the motherboard and RAM. The old Mobo / CPU / RAM combo was sitting around in my closet. I just bought a decent case, power supply, and a few hard drives, and bam. Instant server.
As far as graphics card, I would go with something cheaper unless you have a specific reason. If your CPU has a built in graphics processor, that’s probably good enough. My CPU didn’t, so I had to throw a $30 card in.
I just use my old gaming PC, GPU and all. I self host quite a few services on it and I have yet to find something that puts it into high usage.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters LTS Long Term Support software version LXC Linux Containers NAS Network-Attached Storage NVMe Non-Volatile Memory Express interface for mass storage PCIe Peripheral Component Interconnect Express Plex Brand of media server package RAID Redundant Array of Independent Disks for mass storage SATA Serial AT Attachment interface for mass storage SSD Solid State Drive mass storage
[Thread #225 for this sub, first seen 19th Oct 2023, 16:05] [FAQ] [Full list] [Contact] [Source code]
Media servers can be pretty demanding particularly when doing on the fly transcoding. Look for refurbished servers, big companies routinely toss perfectly good hardware as part of product lifecycle management. A favorite of mine is called ‘techmikeny’ although their site and search is pretty janky.
I/O performance needs to be considered along with the number of processing threads which really comes into play if you have a lot of virtual machines/containers running. Less than $1000 upfront and you can get well more than you think you need, and have space to improve. I’d say focus on CPU first, it’s easy to add memory and storage later if you buy a big enough box to have extra slots open, but adding CPUs is more of a pain.
Electricity and noise should be a thought too. My largest box is using about 240 watts right now and if you go with actual rack servers they tend to be loud with a half dozen fans running at 6000 rpm or so. If you can stash it somewhere out of your living space all the better.
deleted by creator
In a transient way I might say rather than constantly. I use Emby and when something is streaming to a Roku in a format that’s not native it ends up using something around 80% of the allocated power. I don’t use the throttling option though so it’s actually working well ahead of the stream and finishes up a full movie in a few minutes rather than going along in realtime.
So yeah it could be heavily mitigated but I’d rather just have it done rather than hoping it’s smart enough plan ahead.
The power is only needed for transcoding. Multiple 4k streams should be little more than directly serving up the files to the client machine (like your TV) which consumes very few resources. You should avoid transcoding 4k down to 1080p or 720p by either avoiding 4k content, grabbing only stuff that is directly compatible, or having duplicate copies of stuff in 4k and 1080p so that the 1080p file gets transcoded if needed. Many of us have separate 4k libraries on our servers to prevent any possibility of transcoding it (like for remote streams when you don’t have the upload speed to stream 4k directly).
This is a repost from my suggestion some weeks ago:
I went for the ASRock J5040 board, 16gb ram a 500gb m.2 as system using a PCI adapter , 2x4tb ironwolf as ZFS mirror pool, 350 W power supply all in the node 304 fractal case for 550 euro alltogether.
Runs proxmox as hypervisor for VM or Container. 6 LXC running motioneye, plex, pyload with openvpn, syncthing, rclone cloud backup and openbookshelf.
Typical power usage is around 20W
That said it could also run on PicoPSU
I started on a raspberry pi and would highly recommend. Great for tons of things to self host.
It’ll run Plex no problem, just forget transcoding.
Hosting a minecraft server on a Pi is ambitious.
I tried it. Not great.
I used to run a Minecraft server with PaperMC on an RPi4, and I would only give the java environment 2G of RAM. It never crashed except when I overloaded it with plugins. The same Pi was also hosting Pihole and Ubiquiti UNMS. As long as you aren’t planning on hosting hundreds of players at the same time, you should be fine with whatever (and assuming you’re doing this at home on residential internet, your network would be the bottleneck anyway). I do recommend PaperMC, it improves the performance and stability of Minecraft and it’s a fork of Spigot so it’s compatible with most plugins.
Also /u/ShellMonkey is correct about used server hardware. You can pick up a Dell PowerEdge for about $200.
Honestly for what you’re trying to accomplish, any PC built in the past 10 years would suffice.
I’d say the bigger issue would be what server operating system you’d want to run. Personally I use UnRaid and I love it, all of the apps you mention and more are available as premade docker templates in the Community Apps plugin. I’ve tried Windows and FreeNas before but I find UnRaid just so user friendly and reliable.
It really kinda depends on what type of Minecraft server you’re running. I was running Plex and Minecraft on unRaid with like 16gigs of ram and an i3 8100 and it was fine until I started doing more intense moded Minecraft. The iGPU in Intel processors can handle transcoding really well so it’s a pretty good all in one solution. I imagine if you’re going to heavily modded Minecraft you could probably get away with a current gen i5 or maybe even i3 if you’re on a budget. Looks like the i3 13100 has hyper threading and my old 8100 didn’t. Not sure how big of a difference it would make.
There are a few things I’d consider:
- How many users are going to be on the MC server? MC is pretty notorious for eating RAM, and since most of my home server adventures often includes multiple VMs, I would look for something with at least 32 gb of ram.
- for plex (I’m guessing similar is going to be the case for Jellyfin) how many users do you expect to support concurrently, and how good are you at downloading in formats that the clients support direct play for? Most remote plex users are going to require transcoding because of bandwidth limits, but if you have direct play for most of your local clients or have a good upload and don’t have to transcode 3+ streams at a time, you’re probably fine with just about anything from the last 10 years in terms of CPU.
- also re: plex, do you have any idea in terms of storage requirements? Again, if you’re just getting started < 10 tb of storage in mind, you can get by with most computers.
Anyway, to give you an idea, I run both of these and quite a few other things besides on a Dell R710 I bought like 4 years ago and never really have any issue.
My suggestion would be grab basically any old computer laying around or hit up eBay for some ~$100-$200 used server (be careful about 1u’s or rack mounts in general if noise is a concern, you can get normal tower-case servers as well) and start by running your services on that. That’s probably just about what all of us have done at some point. Honestly, your needs are pretty slim unless you’re talking about hosting those services for hundreds of people, but if you’re just hosting for you and a few friends or immediate family, pretty much any any computer will do.
I wanted to keep things very budget conscious, so I have the r710 paired with a rackable 3016 jbod bay. The r710 and the rackable were both about $200, and then I had to buy an HBA card to connect them, so another $90 there. The r710 has 64 gb of ram and I think dual Xeons plus 8 2.5" slots. The rackable is 16 3.5" slots, so what this means is I basically don’t have to decommission drives until they die. I run unRAID on the server, which also means that I can easily get a decent level of protection for drive failure, and I don’t have to worry about matching up drives and all that. I put a couple of cheap SSDs in the 710 for cache drives and to run things I wanted to be a little more performant (MC server, though tbh I never really had an issue running it on spinning disks) and this setup has been more or less rock solid for about 5 years now hosting these services for about 10 people.
I use old thinkcentre machines, they’re cheap and are powerful enough for decent servers. I have them loaded with 16gb of RAM and 2x265gb NVME each for mirroring. They work wonderfully.
And some even come with discrete gpu
Hardware wise, you just need a good PC. One thing to note is that graphics are almost irrelevant for servers. In your case, it would help to have AV1 encoding, so you could go with a $110 Intel A380 or A310.
The most important thing is RAM. The more server applications you start putting on there, the more RAM you’ll need. 16GB is fine for what you need right now, but make sure your mobo has two extra slots so you can up it to 32 if needed.
Storage, it’s really up to you. If you want everything on an NVMe, great! If you want everything in a RAID array, expensive, but great! Using mdadm for RAID arrays is fairly easy, just a lot of reading. Make sure you have enough SATA ports to support all the disks you need if you want that.
CPU, avoid ones with integrated graphics to save cost. Unless you’re buying one that does AV1 encoding, then you don’t need the A380.
Lots of choices for sure. I haven’t built a PC in years but I’d start with looking at the requirements for the Minecraft & Jellyfin server, maybe shoot a bit higher to future-proof the build, then browse PC part picker builds to find combos that have worked well for others?
Best of luck to you.
I have something to read for you :
It is a request of me from earlier this year. The boards I mention in the opening post are no good choice. But the Asrock J500x or J5040 (the one I picked in the end) are. For my needs it is enough of everything. Even if some users here think the celerons are “heaters that can do math” ^^
On the other hand, the cpu is soldered to the board. No upgrade without switching the board either… Even the SODIMM ram needs to be replaced when switching away from an itx-board…
On the other hand, it is less energy consuming than using an old desktop cpu etc.
The pico-psu is just sweet 😊
Decent older servers (e.g., Dell Poweredge) can be had off of Craigslist/FB Marketplace pretty cheaply (~$300-$400).
They’re cheap but they’re loud, hot and use a lot of energy. So if those are an important consideration you might be better off with modern hardware
OP should skip this option entirely for their use case. Regular old consumer hardware is more than adequate.