Homelab guide
Build a self-hosted server by working through its dependencies: virtualization, networking, storage, Kubernetes, then applications. These guides explain reusable patterns. Examples are generalized and do not describe the live system that publishes this site.
Suggested reading order
| Step | Read | What you will learn |
|---|---|---|
| 1. Host the machines | Proxmox | Create VMs and decide whether a workload needs direct hardware access. |
| 2. Connect and name services | OPNsense, Pi-hole and Unbound, Caddy | Route traffic, resolve service names, and terminate TLS. |
| 3. Store application data | TrueNAS | Separate persistent datasets from disposable data and expose NFS storage. |
| 4. Run container workloads | Kubernetes, Terraform | Deploy on Talos, connect storage and routes, and manage desired state. |
| 5. Add applications | Vaultwarden, Servarr, Homepage | Apply the platform pattern to passwords, media, and a service dashboard. |
| 6. Operate and publish | NUT, Tekton, Documentation site | Plan power-event handling and automate builds and deployment. |
The platform pages describe prerequisites and shared components. Application pages describe how a workload fits into that platform and link to upstream installation details.
Architecture
The diagram shows component roles and trust boundaries. Adapt the topology, capacity, and recovery model to your own environment.
Find a specific topic
- Browser requests and certificates: start with Caddy, then Kubernetes routing.
- Persistent application data: start with TrueNAS, then Kubernetes storage.
- Builds and webhooks: start with Tekton.
- Content suitable for a public guide: use the publication policy.