This repository hosts the IaC (Infrastructure as Code) configuration for my homelab.
The Homelab is backed by Proxmox VE hypervisor nodes with VMs bootstrapped using OpenTofu/Terraform.
Most of the services run on Talos flavoured Kubernetes, though I'm also running a TrueNAS VM for storage and Home Assistant VM for home automation.
To organise all the configuration I've opted for an approach using Kustomized Helm with Argo CD which I've explained in more detail in this article.
I journal my homelab journey over at my self-hosted blog.
If you're new to Kubernetes I've written a fairly thorough guide on Bootstrapping k3s with Cilium. In the article I try to guide you from a fresh Debian 12 Bookworm install to a working cluster using the k3s flavour of Kubernetes with Cilium as a CNI and IngressController.
I've also written an article on how to get started with Kubernetes on Proxmox if virtualisation is more your thing.
The current iteration of my homelab runs on Talos Kubernetes and is set up according to this article.
.
├── 📂 docs # Documentation
├── 📂 k8s # Kubernetes manifests
│ ├── 📂 apps # Applications
│ ├── 📂 infra # Infrastructure components
│ └── 📂 sets # Bootstrapping ApplicationSets
└── 📂 tofu # Tofu configuration
├── 📂 home-assistant # Home Assistant VM
└── 📂 kubernetes # Kubernetes VM configuration
├── 📂 bootstrap # Kubernetes bootstrap config
└── 📂 talos # Talos configuration
Name | Device | CPU | RAM | Storage | Purpose |
---|---|---|---|---|---|
Abel | CWWK 6 LAN Port | Intel i3-N305 | 32 GB DDR5 | - | Control-plane |
Euclid | ASUS ExpertCenter PN42 | Intel N100 | 32 GB DDR4 | - | Control-plane |
Cantor | ASUS PRIME N100I-D D4 | Intel N100 | 32 GB DDR4 | 5x8TB HDD RaidZ2 | NAS/Control-plane |
Gauss | Dell Precision Tower 5810 | Xeon E5-1650 v3 | 64 GB DDR4 ECC | 14 TB HDD | Compute |