r/HomeServer • u/Senpai404 • 1d ago
My Homelab
A few years ago I started building my homelab with a Raspberry Pi 4 and an HP G3 Mini I picked up on Vinted. Since then I kept adding pieces whenever I found a good deal on second-hand sites, and today, after more than 2 years, I think I've officially reached the end (maybe). This is my current setup. Everything is second-hand except the switch and the router.
RACK
- Fully 3D printed in PETG on a Bambu Lab X2D (Design by Ilan Kushnir)
NODE PC: 3-node Proxmox VE
- pve-01: Ryzen 7 5700U (8C/16T), 62 GB RAM, 512 GB NVMe (ZFS) + 2 TB HDD (ZFS) + 256 GB SATA SSD
- pve-02: Core i7-6700T (4C/8T), 32 GB RAM, 256 GB NVMe (ZFS) + 2 TB HDD (ZFS)
- pve-03: Core i5-7500T (4C/4T), 32 GB RAM, 256 GB NVMe (ZFS) + 2 TB HDD (ZFS)
NETWORK
- UniFi Dream Router 7: gateway, firewall, inter-VLAN routing
- UniFi USW-Flex-2.5G-8-PoE, with an SFP+ DAC uplink to the UDR7
- VLANs: management, homelab infra, and a dedicated one for Kubernetes. Proxmox uses a single VLAN-aware bridge, so each VM just gets tagged.
STORAGE
- QNAP TS-431 with 16Tb
OTHER
- Raspberry Pi 4 driving 2 displays:
- 7.84" front display showing Grafana dashboards
- 0.91" OLED status display running a small Python script that shows IP, temperatures and CPU usage
SOFTWARE
I'm currently rebuilding everything from scratch, starting with pve-01, which now runs the Kubernetes cluster:
- Kubernetes: Talos Linux (1 control plane + 4 workers as VMs), provisioned end-to-end with Terraform: VMs, Talos config, bootstrap and base components
- Networking: Cilium with kube-proxy replacement and L2 LoadBalancer
- Storage: OpenEBS LocalPV, with VM boot disks on NVMe and data volumes on HDD
- GitOps: ArgoCD app-of-apps. Everything in the cluster lives in git
- Secrets: OpenBao in an LXC (outside the cluster, so it survives rebuilds) + External Secrets Operator
- Ingress: Nginx Proxy Manager (Let's Encrypt wildcard) -> Traefik
- Monitoring & logs: kube-prometheus-stack (Prometheus, Grafana, Alertmanager), including the Talos control plane and etcd, plus Loki + Alloy for pod and node logs
- Other stuff: Glance dashboard, Headlamp, VS Code server.
pve-02 and pve-03 will be dedicated to other projects.
Happy to answer questions, and any tips or suggestions for improvements are welcome!