Skip to content

๐Ÿก ๐Ÿงช Home Lab

๐Ÿ“– Overview

This mono repository houses the infrastructure for my homelab. I try to adhere to Infrastructure as Code (IaC) and GitOps practices using tools like Ansible, Terraform, Kubernetes, Flux, Renovate and GitHub Actions.

โ›ต How to get started

There is a template over at onedr0p/flux-cluster-template if you want to try and follow along with some of the practices I use here.

๐ŸŽจ Cluster components

  • actions-runner-controller: Self-hosted Github runners
  • cert-manager: Creates SSL certificates for services in my k3s cluster.
  • cilium: Internal Kubernetes networking plugin.
  • external-dns: Automatically manages DNS records from my cluster in a cloud DNS provider.
  • external-secrets: Managed Kubernetes secrets using Doppler.
  • ingress-nginx: Ingress controller to expose HTTP traffic to pods over DNS.
  • Rook: Distributed block storage for persistent storage.
  • sops: Managed secrets for Kubernetes, Ansible and Terraform which are commited to Git.
  • volsync and snapscheduler: Backup and recovery of persistent volume claims.

... and more!

๐Ÿ—„๏ธ Hardware

## Production Nodes | Device | Count | Specs | OS | Purpose | |--------------------|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|---------| | MinisForum um350 | 1 | **RAM** `32GB`
**M.2 SSD** `500GB`
**HDD SSD** `500GB` | Ubuntu 22.04.4 LTS | Control Plane | | MinisForum um350 | 1 | **RAM** `32GB`
**M.2 SSD** `500GB`
**HDD SSD** `500GB` | Ubuntu 22.04.4 LTS | Data Plane | | Minisforum um560 | 1 | **RAM** `32GB`
**M.2 SSD** `1TB`
**HDD SSD** `500GB` | Ubuntu 22.04.4 LTS | Data Plane | ## Staging Nodes | Device | Count | Specs | OS | Purpose | |--------------------|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|---------| | Turing Pi RK1 | 3 | **RAM** `16GB`
**M.2 SSD** `500GB`| Ubuntu 22.04 LTS | Development & Staging | ## Infrastructure | Device | Count | Specs | OS | Purpose | |--------------------|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------| | Turing Pi RK1 | 1 | **RAM** `16GB`
**M.2 SSD** `500GB`
**HDD** `1TB` | - | DNS Server | | Turing Pi Board V2 | 1 | - | - | - | | Unifi UDM Pro | 1 | - | - | 10Gb Core Switch + Router + FW | | Unifi Lite 8 PoE | 1 | - | - | Switch | | Mac Mini | 1 | **RAM** `8GB`
**M.2 SSD** `256GB` | - | TBD |

๐Ÿ“œ Changelog

See my awful commit main history and legacy history

๐Ÿค  Gratitude and thanks

Thanks all the people of Home Operations Discord community who put a lot of effort and donate their time to the community.

๐Ÿ” License

See LICENSE v.g WTF License