Home server/NAS: Where to start
When building a server, the first challenge that you are faced is, what hardware to use and which OS it should be running.
Hardware
Technically, you could use literally anything that has a wifi or lan connection as a server. Even a phone (if there would be the right software to run a proper OS).
The best option to start for most people is an old laptop lying around or just one off ebay. Throw in an SSD and you're good to go.
The upside of it is, that the performance of the laptop isn't too great, therefore it's power consumption is not. And this is the most important point in running a home server, since it's supposed to run 24/7 in your home.
When you need more services or want easier adaptability with different disks, a desktop can be bought dead cheap and converted or build yourself.
In my case, I had hardware of an old Desktop lying around, that I use for my setup. It's a Ryzen 5 1700, 16GB of RAM and a few disks. I bought an NVME SSD for a boot drive, the rest of the disks are connected via SATA.
Disk-wise I have:
- HDD 3TB
- SSDs: 480GB, 250GB, 1TB
You can technically connect multiple Disks into one, thats called a RAID if you want. I didn't, just because its difficult to do on your own. Unraid is a system that can help with that. In the future, I will definitely switch to it, but for now my system is good enough and easy maintainable.
Operating system
I've already mentioned Unraid, but theres a million linux based distros (the different versions) out there. Some are based on a specific use case like TrueNAS, if your server is mainly for files and Proxmox for Virtual machines. But you can also use any bare linux, Ubuntu, Debian, Fedora, ... Make sure to use a well known one to get security updates frequently.
The route I chose, just because I have worked with linux a lot in the past and always loved the command line, is Ubuntu-server. The difference to normal Ubuntu is the lack of a graphical interface, there's only the command line, which might make it hard for beginners. But since I don't have a graphical output on my server anyways and will access it over SSH at all times, to me it doesn't matter.
Theres plenty of installation guides out there to install linux on a computer, the process is always the same
- Download an
.iso
file from the website - Flash this
.iso
file on a USB stick (using Software like Rufus, BalenaEtcher or others) - Plug the USB stick in your computer, boot from it and follow the installation guide
If you have it up and running, congrats you can start using your server and installing applications!