Episode 0x00: How to Make a Weblog the Hard Way!

Hey there! 👋 A little while ago, I had this lightbulb moment: “Why not set up a homelab?” I’ve always dreamed of having a mini server at home where I can host my applications, run my own Kubernetes cluster, set up a CI/CD pipeline, and have all the cool stuff like Kafka, Postgres, object storage, and etc – basically, my own private cloud!

After about two months of putting in the work (and dealing with some blood, sweat, and tears), I’m ready to start writing a bunch of blog posts on how I did it.

I’m gearing up to craft a series of blog posts that will be super user-friendly for everyone to follow. Our mission map includes:

  • Booting up Proxmox on my server machine (more details on the hardware later).
  • Setting up a Kubernetes cluster with 2 control planes and 5 worker nodes, using Terraform and Kubespray,
  • Crafting a VLAN on pfSense to isolate our network from Kubernetes apps (because security matters!).
  • Setup the k8s cluster persistance on a network file system using nfs subdir provisioner
  • Configuring Metallb and Cert-Manager.
  • Embracing the entire Argo 🐙 ecosystem – Argo Workflows, Argo Events, and Argo CD.
  • Setting up our private object storage with Minio and using it to create our own container registry.
  • Secrets? We can push them on Github if they are Sealed!
  • Getting this very blog up and running on our server, powered by Hugo!
  • Keeping an eye on the cluster using Prometheus and Grafana.
  • Keep our logs captured, stored and queried with Grafana Loki and Grafana Alloy.

I try to document and automate as I progress. You can find the current setup codes in my Github account at homelab

Stay tuned! 🚀