I’ve always wanted a safe space to experiment with DevOps tools, infrastructure automation, and service hosting without paying to much to cloud. Over time, my homelab has evolved into a miniature production like environment where I can test, learn, and iterate freely.
The main goal of this homelab is learning DevOps by doing testing Kubernetes, Terraform, and storage automation in a realistic setup. It also serves as a sandbox to explore CI/CD pipelines, observability, and self-hosted services, all on hardware I control.
The core of my homelab consists of two Lenovo Tiny nodes, each with an Intel i5 (8th Gen) CPU and 32 GB RAM they are compact, power-efficient, and perfect for 24×7 operation with very low power. On top of these nodes, I run a Proxmox cluster that manages all virtual machines. VM provisioning is currently manual via cloud-init, with configuration automated using Ansible. (Automated with terraform as per 26/01/26)
Within Proxmox, I run a 5-node K3s cluster for lightweight, production style orchestration. K3s provides the full Kubernetes experience with a smaller footprint, ideal for edge or homelab environments.
10.0.250.0/24).This setup allows me to deploy, test, and tear down services easily while keeping configurations reusable.
Storage is a critical piece of my lab. TrueNAS manages datasets for:
Each PVC mounts directly from NFS shares on TrueNAS. (I have never fixed the permission issues lol)
Automation is at the idea of this lab:
Currently, Terraform is triggered from my terminal, but I plan to integrate it into a CI/CD pipeline and store the state securely on NAS.
Running a homelab taught me more than theory ever could. The biggest challenges were file permissions and TrueNAS access, but solving them deepened my understanding of storage, networking, and security integration.
In the next post, I’ll cover why Why running a dns server on Kubernetes? and automating DNS with Terraform a full brief of the decision.