I’ve always wanted a safe space to experiment with DevOps tools, infrastructure automation, and service hosting without affecting production systems. Over time, my homelab has evolved into a miniature production-grade 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 stacks, 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 — compact, power-efficient, and perfect for 24×7 operation. 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.
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.0.0/16).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.
To avoid permission issues, I’ve created dedicated TrueNAS users for services like Bind, ensuring smooth access control across the stack.
Automation is at the heart 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 running Bind9 on Kubernetes and automating DNS with Terraform — a fully hands-on guide with manifests and code snippets.