Somehow I've always been attracted to the idea of having a home server. The first one was an ancient desktop PC with a retro gray case on which we installed Debian. It was the start of my journey with Linux. Later, I snatched a used Dell OptiPlex Gx240, which lasted until the Raspberry Pi Model B came out. From then on, I used Raspberry Pi as a home server for quite a long time, always switching to the latest version.
But ARM-based systems aren't without their own problems. Some things didn't work, there were missing packages or it needed cross-compiling. Not to mention that the Raspberry Pi is not a powerhouse either. I had an eye on the x86 architecture for a while, especially the Intel NUC product line, but in the end, I replaced my home server needs with cloud servers.
At some point, I moved down from the cloud and currently have three servers running at home.
A descendant of the old Raspberry Pi servers, a Model B 4 with 4 GB of RAM. Later I attached a 4 TB external drive to it, since then it has been used mainly as a file server with Samba. It also runs Syncthing, which I use for file synchronization between my machines.
It also has a partner in crime, a similar Raspberry Pi 4 Model B (probably with 4 GB of RAM as well, but I'm too lazy to check) running LibreELEC for making the TV smarter, but I wouldn't count that as a server.
The old router
At one time I ran across a lot of articles about how cool it is to build your own router from PC parts. So I got to build one in Mini-ITX size:
- Chieftec IX-03B-OP case
- Gigabyte GA-N3160N-D3V motherboard
- Intel Celeron N3160 integrated CPU
- 8 GB RAM
- SATA SSD
- passive cooling
It was really cool, I learned a lot, but after a while, it was too much of an inconvenience. I switched back to a normal router, but I kept the machine and a few services that still run from here. It has a recursive DNS resolver that also works as a DNS-based ad blocker (like Pi-hole, but homemade) and a TFTP/NFS server for the Raspberry Pi with LibreELEC. It had an OpenVPN server as well, but I started to migrate it to WireGuard and never finished, so I got neither of them now.
The old router wasn't meant to be a powerful machine, I needed something else to run applications on. I really liked the Mini-ITX form factor, so I packed up a similar little box as the router:
- the same Chieftec IX-03B-OP case
- Asus PRIME H410I-PLUS motherboard
- Intel Core i3-10100 CPU
- 16 GB RAM
- NVMe SSD
- active cooling
The machine is running a Docker Swarm, with Portainer and Traefik (details in the moving post). I tried out many things on it (Elastic Stack, Nextcloud, MQTT server for sensors). Currently, it is only running a GitLab instance (Git server, container/package registry, build server) and a MediaWiki. Maybe I could replace the latter with GitLab's built-in Wiki page as well.
And I think that's it. I hope you've been inspired by it and are already planning your new server. If you're just starting out on the (not particularly) bumpy road of home server ownership, a Raspberry Pi with the official Raspberry Pi OS Lite might be a good place to start (if it isn't out of stock). Relatively cheap, well-supported hardware, can handle quite a few self-hosted applications. Then, as you experience shortcomings along the way, you can look for alternative solutions.