Servers are kind-of elitist by the sound of it. You have a device that is ready to serve you whenever you wish it to? About a hundred years ago that is exactly what slaves would do. But not today. By the virtue of being born in the right time and space, if you are reading this, you probably do have access to the bare minimum resources that you can utilize to make your own server at home, and make the best use of it.
My current setup looks like this:
The technical specs are:
CPU: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
RAM: 8 GB DDR4
SSD: 256 GB Kingston SATA3 SSD
Internet: 1GBps Aussie Broadband
OS: Debian Linux (Linux 5.15.0-0.bpo.3-amd64 Kernel)
Why use Linux?
Linux is basically the best option you have at having a great operating system for your computer without paying a single cent for software!
I like to use Debian Linux wherever I go, and I think the wider Linux community has a soft spot for Debian, because it is just so easy to install and get running in no time. I have tried Fedora, CentOS, Arch Linux, OpenSUSE, ZorinOS and a lot more, and I love all of them, I really do, however whenever I need a stable-enough Linux for something, anything, I just stick to Debian.
People do like to identify with a version of Linux because they lack true personality, but I think it is very idiotic, especially when they are basically interchangeable except for a few weird kinks here and there, such as Systemd vs OpenRC vs SysVinit debate, mostly I am fine with using any of the service managers, as long as they do not get in the way of what I am trying to achieve.
My flavor of Debian for Home server is OpenMediaVault, which can be installed as a secondary toolkit if you are trying to make a server from a Raspberry Pi, or can be installed as a distro of its own on more powerful machines.
I have used an Raspberry Pi as home server for a quite a long time, over 2 years, but I do think sometimes a little bit of power can be amazing.
For hardware, I like to use cheap computers that are not considered powerful for latest use case however have plenty of power left within them. I like the Dell OptiPlex series of computers for this kind of jobs, because they are so bad.
These computers are inherently terrible for end users and underplay the amazing power of the processors, by including everything else to be bare minimum and underpowered.
An i7 12700K (12th Gen i7) in an dell computer will probably be similar in performance to an custom-built i7 8700K (8th Gen i7), just because they pair it with terrible motherboard, terrible RAM, terrible storage and so on.
They really are the worst if you want to use them for daily use. Lenovo comes the close second with this news: Lenovo Vendor Locking Ryzen CPUs with AMD PSB. Basically, they are trying to make the computers into use-and-throw devices, so that if one component is taken out of the system, it stops functioning, even though the customer paid for the device and should be able to whatever they wish to with it.
One way to find out the quality of product you do not own is to lookup for replacement parts, and boy does the hardware look disgusting!
Look at these weak hardware choices! They are perfect!
Where to buy?
As I like to say, if a device does not have moving parts, it will last a lifetime. Although that is not always the case with my smartphones, computers are safe because it will literally sit in one place all day, sipping some energy but not always.
You are not looking for something specific, so be open to what you can buy at a budget. I suggest something around $150 – $500. If you are not fixed on buying something, you can always bargain more!
Start by looking up “OptiPlex“, “Lenovo“, “HP” or something around that area… and be ready to bargain like your life depends on it.
Most people are simply looking to get back of what they originally paid for, without consideration for what the actual performance of the device actually is. You might find some listing for 3rd gen i7 devices listed for $600, which is something you want to avoid. You will also want to avoid high-performance old devices, such as XEON, because they really take a lot of power and perform like a mobile processor of the modern day, only with more heat and noise.
It is better to find something with less power usage, such as 9th Gen i3, because it will be a lot better for systems that are always on, and you can bargain with the owner about the computer being very weak to run Windows (don’t tell them you will use it outside normal use cases! that tends to drive the price up.)
Actual use cases
Once you buy and setup OpenMediaVault into it, you are ready to make the best use of the system. But what for?
Personally, here are my best use cases:
Running different packages in Docker
Observe! Here you can see the docker packages that are currently running on my system. You can make your own choices and install whatever you would like to.
- qBitTorrent – For downloading torrents onto my server with secure VPN layer over it. Instead of transmitting my whole computer or router via VPN, this is much better and faster.
- Jackett – For finding the torrent files I need without looking too hard on the internet. Jackett automatically searches the internet for you.
- WireGuard – For being able to access my local network when I want to.
- DDNS – For updating my Server’s IP Address to Domain if the IP Address of my internet changes (My ISP charges $5 extra per month for Static IP, this is cheaper!)
- Portainer – For managing Docker containers without too much of headache.
Alternative Cloud Storage
Here is an example of why personal cloud system is the best. I am running a samba server on my home server which allows me to add additional hard-drives to it and be able to access it from the internet.
I am using a proxy to allow samba shares on my system so that I can easily access my files wherever I go, in the whole world. Obviously, I would not give out my server address in the public, so you are seeing a local IP… but the internet is there.
Even if all I have is a terrible internet connection, I can access my files wherever I go. That is powerful.
Your Own Netflix (Media Server)
Here is a tiny preview of my Jellyfin share, which is my private media server for sharing with family and friends.
You would probably say something about piracy, but believe me when I say I have subscriptions to YouTube, YouTube Music, Amazon Prime, Netflix and Disney+, most streaming services out there… still these geo-restrictions and DRM policies and copyright deals would not let me watch everything I want. Therefore, downloading them is the only option I have if I cannot pay for it.
Thousands of other use cases
These are just a fraction of uses that go on in my home server, most of the times I am trying new things and this server allows me to try them without any side effects through Docker and VPN.
Check out this link to find more awesome software for your use case: awesome-selfhosted on GitHub
r/SelfHosted community is very welcoming and amazing too. Visit there if you want to. Here are some templates provided by Portainer (Docker Management System) as easy-to-install templates.
There are other amazing things about using Type-1 Virtualisation on your home server and proxying MacOS or Windows 11 via Browser, but I will save that for some other day.
If you have any suggestions or curiosities, fire away in the comments!