Planning my Homelab

Just another analysis paralysis?


2 min read

I recently purchased components to start a homelab. Due to some unexpected circumstances (I forgot to purchase power cables for the Pis), I now have a few more days before I can actually start setting up the hardware. And it looks like those extra days are badly needed anyway.

What's the problem?

My initial thought was: "I just install and configure the Pis, set up a Kubernetes cluster, and throw some services/applications at it". Sound like a plan, right? The only thing left before I could get my hands dirty was to see how to set up the Pis.

"just install and configure" and "the only thing left"... Oh boy... It's like I haven't worked with computers before. ๐Ÿ™„

Which OS?

The first question was: Which OS should I use for the Pis? Raspberry Pi OS? Ubuntu? Something else?

After a little bit of research, I decided it might be a good idea to go with the Ubuntu Server option. I'm relatively comfortable on the command line and don't need a graphical user interface. It also gives me cloud-init support out of the box. I have never used cloud-init before, but it sounded like a good thing. That brings up the next question.

Manual setup or cloud-init ?

As I said before, cloud-init sounded like a good idea. But it would be just another tool I have to learn. There is so much I have to learn just to get the basics right. Is cloud-init worth the effort?

Sure, using cloud-init would be much closer to a cloud-native homelab. But getting having a running homelab with Pis that were set up manually has more value than learning tool after tool and not having a running cluster for weeks.

And that's just the start ๐Ÿ™ˆ

I haven't even received all the components (such as power cables) for the homelab yet, but I'm already on the verge of analysis paralysis. There will be so many more decisions on my way to a working Kubernetes cluster on my homelab. Storage, tools, services, and so much more. If you have any tips and tricks on how to make those decisions, please let me know. ๐Ÿค”