devhome Lab Documentation
devhome is a self-hosted homelab built to mirror real enterprise platform-engineering patterns at home: a VMware compute layer, Kubernetes clusters provisioned by Terraform, GitOps delivery via ArgoCD, fleet management via Rancher, secrets centralized in Vault, and a hybrid connection out to Azure via Arc and a private AKS cluster.
This documentation is the single source of truth for how devhome is built, wired, and operated — written so it's followable by anyone setting up a similar lab, not just useful as personal notes.
It covers:
- Network design (pfSense: routing, DHCP/PXE, DNS, VPN, certificates, firewall)
- Storage (TrueNAS: TFTP, NFS, SMB, iSCSI, backups)
- Secrets management (Vault)
- Compute provisioning (VMware + Terraform + Packer)
- Configuration management (Ansible)
- Kubernetes cluster lifecycle (kubeadm via Terraform, GitOps bootstrap)
- GitOps delivery (ArgoCD) and fleet management (Rancher)
- Developer machine setup and a self-hosted Azure DevOps agent
- Troubleshooting runbooks for the gnarliest recurring issues
Why this exists
Homelabs accumulate tribal knowledge fast — a DHCP quirk here, a routing workaround there — and it evaporates the moment you forget why you did something. This site exists so that knowledge survives: every non-obvious decision here has a Why attached to it, not just a How.
Where to start
- New to the lab? Start with Architecture Overview.
- Setting up your own dev machine against this repo? See Developer Setup.
- Bootstrapping a brand-new cluster? See Bootstrapping a New Cluster.
- Something broken? Check Troubleshooting first — there's a good chance it's already been hit and solved.