I’ve never done any sort of home networking or self-hosting of any kind but thanks to Jellyfin and Mastodon I’ve become interested in the idea. As I understand it, physical servers (“bare metal” correct?) are PCs intended for data storing and hosting services instead of being used as a daily driver like my desktop. From my (admittedly) limited research, dedicated servers are a bit expensive. However, it seems that you can convert an old PC and even laptop into a server (examples here and here). But should I use that or are there dedicated servers at “affordable” price points. Since is this is first experience with self-hosting, which would be a better route to take?
My answer would basically be yes, but. An old desktop (or even laptop) can definitely be used and will run fine. It should be very easy to get one for free or very cheap as companies will typically write them off after 3-5 years.
However, you might want to consider power consumption. Running a desktop 24/7 will use a lot more power than a new MiniPC or a NUC, so you may want to calculate how much it’ll cost to run a desktop 24/7 compared to a device that only uses 5W or whatever, and see whether the upfront savings make up for what you’ll pay in electricity over a certain period.
I think you might actually want to look into second hand MiniPCs unless you absolutely need to fit a bunch of hard drives in a case (like you probably would fit Jellyfin).
That depends. A lot of the power consumption comes from spinning media. Even very old desktop Intel chips have CPU throttling and consume very little while idle. Corporate desktops, even old ones, are usually quite economical.
A couple years ago my in-laws were downsizing after retiring and they asked if I would possibly have any use for their ancient desktop PC (at least old enough to have shipped with Windows 7).
I installed Debian on it and it’s running Jellyfin, qBittorrent through Gluetun, Calibre-web, NextCloud, and Pi-Hole containers, with plenty of room to spare. I’ve also got some services running on Raspberry pis (back when they were cheap). And an external 4TB hard drive connected to it acting as a NAS. No hardware transcoding or 4K video on Jellyfin but that’s no big deal for me.
All that to say yes, you can absolutely self-host on repurposed hardware. Any old PC you’re looking at is no doubt newer than mine.
Yeah, any relatively modern used PC will be more than enough
You could ask the question for video gaming. Can a used computer do the job? Yes, but you may not be able to play cutting edge / demanding games if your computer lacks the appropriate hardware. It really depends what kind of things you want to do, for choosing hardware that’s powerful enough.
Jellyfin? You need to consider if you need transcoding. Transcode or not makes quite a difference on the hardware needs.
I bought a used m920q for this reason, still working on it, I’m at the docker-compose phase
Those are beasts! My homelab has three of them in a Proxmox cluster. I love that for not a ton of extra money you can throw in a PCIe expansion slot and the power consumption for all three is less than my second hand Dell Tower server.
Do you have any good resources I can look at to see if a cluster is something I should look into?
Not really, but I can give you my reasons for doing so. Know that you’ll need some shared storage (NFS, CIFS, etc) to take full advantage of the cluster.
- Zero downtime for patching. Taking systems offline to update Proxmox sucks, especially if the upgrade fails for some reason. A cluster means I can evacuate one host, upgrade it, and move on to the next with no downtime for the hosted VMs.
- Critical service resiliency. I have a couple of critical systems in my home lab that, if they unexpectedly go down, will make for a very bad day. For instance, my entire home network (and lab) is configured to use a PowerDNS cluster for DNS. I can put the master PowerDNS server on one host and the slave on a second host - if I have a hardware failure, I won’t lose DNS. I have a similar setup for my Kubernetes cluster’s worker nodes.
- Experimentation. A cluster gives me a larger shared pool of CPU/Memory than my single host could offer. This means I can spin up new VMs, LXC containers, etc and just play with new software and services. Heck that’s how I got started with my Kubernetes cluster - I had some spare capacity so I found a blog post that talked about Kubes on LXC containers and I spun it up.
I hope that helps give some reasons for doing a cluster, and apologies for not replying immediately. I’m happy to share more about my homelab/answer other questions about my setup.
Yes, you can easily do it.
You want to look at 2 things: 1. Noise 2. Ratio of performance / power usage.
- Noise
When your PC runs 24/7 then it might be annoying to hear it’s noise sometimes. Real server cases are usually even much louder than former PC’s because they are built for super strong air flow inside.
Think carefully what you need. In my situation it is just one light wooden door away from my bed, so I wanted it impossible to hear. I optimized it so, and it ended up being so quiet that I cannot hear any fans, but I hear the clicking of the harddisks all the time. Well, I got used to that, mostly. For my next home server I want to build my own case that absolutely blocks this noise.
- Ratio of performance / power usage
People are frequently asking what if I turn this old Pentium etc. into a server?
Well, these old CPU’s have very low performance compared to new ones, but it might just be sufficient. But then you recognize that the old veterans burn 100 Watts for the same performance where a modern (low performance) CPU burns only 5 Watts, and now it will do that 24/7. Think about your yearly costs. Many times it turns out that buying a new one saves your money very easily.
When I build my NAS/server last year, I bought a used Dell Optiplex from 2013 on eBay for $50. I tossed in an old SSD I had laying around, and squeezed in 42 TB worth of HDD drives. I added a PCIE SATA expansion card, and a 10 gig network card for 60 bucks to improve performance.
The only real downsides of doing it this way are
- No realistic way of upgrading hardware
- Limited space for internal drives
- No hardware transcoding abilities out of the box
- More power consumption than buying something newer
There are advantages to getting server-grade hardware. It’s designed to run 24/7, often supports more hard drives, ram sticks, processors, etc, and often is designed to make it very quick to replace things when they break.
You can find used servers on sites like EBay for reasonable prices. They typically come from businesses selling their old hardware after an upgrade.
However, for simple home use cases, an old regular desktop PC will be just fine. Run it until it breaks!
Yes, but if you care about power efficiency then they really aren’t a great option. Most professional server hardware that you can get for a decent price uses significantly more power than an old mini computer or a cheap N100 PC. I own a proliant but rarely power it on due to the fact that I could rent an similarly performant VPS for 2x the power bill. Besides that many server CPU’s don’t have integrated GPU’s and will require additional hardware if you want to run something like Jellyfin.
LabGopher extracts information from active eBay listings to help you easily find the right hardware for your needs.
While yes, there is a reason why I have retired the Dell server I had for a normal desktop PC. The server was so loud, I could hear it two stairs and two closed doors away.
I was able to quiet mine with a bash script until eventually a software update changed the fan control to keep it quiet for me.
I installed a Linux server on an old laptop, then installed Jellyfin. It’s like a Walmart special from 8 years ago, so no graphics card outside of the integrated graphics. Doesn’t matter. I disabled sleep, and power saving settings on the Wi-Fi. I had a USB external 1tb drive hooked to it. The laptop doesn’t even have support for a 5ghz wifi connection. No issues at all. I can run 2 movies at 1080p in different rooms off the external USB drive without issue. Just go for it. I installed RustDesk on it so wherever I am I can remote to it, turn on the VPN and kick off a torrent for whatever movie someone mentioned while at work or what not. Then when I get home it’s there.
It really depends on what you’re trying to do. At the end of the day, the foundational components are pretty standard across the board. All machines have a CPU, motherboard, storage mechanism, etc. Oftentimes those actual servers have a form factor better suited for rack mounting. They often have more powerful components.
But at the end of the day, the difference isn’t as striking as most people not aware of this stuff think.
I’d say considering this is your first experience, you should start with converting an old PC due to the lower price point, and then expand as needed. You’ll learn a lot and get a lot of experience from starting there.
I think that’s preferable. I have resused my old gaming computer as a server since I stopped gaming for a while.
Certainly could, depends what exactly you want to run and the specs of the machine of course. Something to keep in mind though is if its very old it may cost more in electricity than a fairly cheap new machine. But really it depends on your use case.
A lot of self hosted things have fairly low requirements but not all of them.
If you already have one, it’s a good place to start. However, power efficiency will be the biggest drawback. Power ain’t free, and in some places it is very expensive. I’d recommend picking up some cheap ThirdReality switches and using them to monitor power consumption in Home Assistant.
I’ll tell you a secret: my cool looking 4u server case with 8 hot swappable drive bays actually just houses my last gaming rig. Know what’s going in there when I update my current rig?
This rig.
My home media server is an old nuc mini pc i5 16Gb RAM with attached usb storage running on a Linux distro, runs Jellyfin and a few other applications for the household.
In short yes, an old pc will work fine.
These also have the advantage of being nice and quiet, which if you are going to have it in your house rather than a hot garage or whatever can be nice.
I bought a NAS, later realised that it supported Plex and Jellyfin but it was often too slow to do the transcoding. I still use it for storage but there were no real upgrade options. It was cheaper to get an old NUC, rather than replace the NAS with a high spec one to be able to run Jellyfin properly.I’m doing a very similar thing with an old Dell thin client. I did inherit a large server from a company that was upgrading, but I’ve been thinking about downsizing a lot lately so now I use a few small computers on a 10 inch rack.
the best server is one that you already have