Home Server
Github
Hardware
My current server is housed in a small 10 in 4U server rack that fits snuggly under my desk. Each component is housed in a 3D printed bracket. I unfortunately do not have access to the router in my current residence so I am leaving 1U unfilled for a potential router in the future. The current configuration has a 3D printed patch panel, switch, and compute node.
Hardware Links
- Rack: Rackmate T0
- Switch: Unifi Lite 8
- Main Compute Node: Optiplex 7050
- Worker Node: Minisforum UN100
Main Compute Node
I am running Proxmox on my main compute node as a general purpose hypervisor. There is a few utility LXC containers such as piHole for DNS and Tailscale to access my home network from anywhere. The Kubernetes Control Plane Node is also running in a dedicated VM.
Worker Node
The Worker Node is running Debian natively and simply provides additional compute power to the cluster.
Kubernetes Services
My main goal with this iteration of my homelab is to deepen my understanding of Kubernetes while adopting GitOps practices to manage my environment. With FluxCD, I can version-control my manifests in Git, making it simple to deploy and update services. This also ensures that if something goes wrong, I can quickly redeploy the entire stack from source. For networking, I’ve set up a straightforward stack using NGINX Ingress and cert-manager, which automatically provisions TLS certificates for each service. Additionally, I have Rancher running as a frontend to view the cluster graphically.
Software Links
- Hypervisor: Proxmox
- VPN: Tailscale
- DNS: PiHole
- Cluster: Kubernetes
- Cluster ManagementRancher
- GitOps: FluxCD
- Load BalancerMetalLB
- Ingress: NGINX Ingress
- Certificates: Cert Manager