Self-hosting and managing your setup through GitOps. That is the journey I've started, using @onedr0p's excellent cluster template.
This repo uses Talos Linux and Flux to fully declaratively manage a Kubernetes cluster at home.
Currently 3 laptops that I got from the used market:
Role | Model | CPU | RAM | SSD |
---|---|---|---|---|
K8s controlplane, k8s workloads | Dell Latitude 5490 (Azerty) | i5-8350U (4C/8T) | 16GB | 256GB SATA SK Hynix |
K8s controlplane, k8s workloads | Dell Latitude 5470 (Qwerty) | i5-6300U (2C/4T) | 16GB | 256GB SATA Samsung |
K8s controlplane, k8s workloads | Lenovo ThinkPad X230 | i5-3210M (2C/4T) | 16GB | 250GB SATA Saumsung |
Cluster-external NFS (backups) | Raspberry Pi 4B | 4GB | 1TB SATA-via-USB3 Samsung QLC 870 Evo |
- Set up backups for single rep volumes
- Set up external-dns to be able to expose services internally
- get AdGuard Home working problem-free on the old Raspberry Pi
- install external-dns adguard webhook to the k8s cluster
- test if a service that is only exposed internally resolves
- Set up a database (let's start with just cnpg)
- Set up auth (either Authentik or Authelia + lldap)
- Start hosting some services
Set up a distributed storage system such as Longhornthis only makes sense after some serious hardware upgrades: without a dedicated (preferably internal) NVMe drive, this would cause more problems than it would solve.- Once the setup is stable enough, migrate my Home Assistant setup over, starting with its Add-Ons:
- Mosquitto
- Node-Red