Self Hosting Part I - Motivation
31 May 2023For some time now I’ve been attached by the idea of self hosting. I don’t have a relevant side project but I use to develop small applications for learning purposes and it would be nice to host them somewhere other than a cloud provider to explore different deployment, CI and CD techniques.
Reading some posts about self-hosted architectures became clearer for me the oportunity for hands-on learning and to sharpen some linux skills.
During my parental leaving I was reading some blogs and listening lots of podcasts while walking around with my baby son. One day I listened the Episode 477: Josef Strzibny on Self Hosting Applications on Software Engineering Radio. That was the last push I needed and bettwen the baby’s naps I decided to give the first steps.
Most of my applications are container based, so my goal is having a kubernetes cluster running in my basement. If you’ve listened the aforementioned Episode 477 about Self Hosting you are aware that I am not taking one of the main advices: Start it simple, with one server. I don’t disagree… I just couldn’t help myself and opted for over engineering while learning on the process.
The first plan was building a cluster with Raspberry Pi - it is a polular approach and has a lot of tutorials. They are cheap devices, have enough memory and I don’t need fast I/O operations. But then reading the Unpopular Opinion: Don’t use a Raspberry Pi for that! was an eye opener and made me notice that:
- Raspberry Pi is not that cheap anymore;
- Still due the chip crisis they are hard to find on the region where I live;
- I don’t need some features like GPIO and Bluetooth;
After some search on my local C2C platform (eBay Kleinanzeigen) I’ve found 3x Lenovo Thinkcentre M710q with 8 GB RAM for 250 EUR (price for all three of them, hard drives not included), then bought 3x Crucial P3 Plus 500GB NVMe SSD - 28,89 EUR each. The SSD installation was straightforward.
Starting the PCs would throw the expected “Operating System Not Found” error, so it is all set for the next step.