Thanks to visit codestin.com
Credit goes to github.com

Skip to content

CutTheCrapTech/homelab

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🪨 Homelab 🏡

Repository for home infrastructure and Kubernetes cluster using GitOps practices.

Held together using Proxmox VE, OpenTofu, Talos, Kubernetes, Argo CD and copious amounts of YAML with some help from Renovate and DevContainers.

DevContainer Usage Instructions.


📖 Overview

This repository hosts the IaC (Infrastructure as Code) configuration for my homelab.

The Homelab is backed by Proxmox VE hypervisor nodes with VMs bootstrapped using OpenTofu/Terraform.

Most of the services run on Talos flavoured Kubernetes, though I'm also running a TrueNAS VM for storage and Home Assistant VM for home automation.

To organise all the configuration I've opted for an approach using Kustomized Helm with Argo CD which I've explained in more detail in this article.

I journal my homelab journey over at my self-hosted blog.

🧑‍💻 Getting Started

If you're new to Kubernetes I've written a fairly thorough guide on Bootstrapping k3s with Cilium. In the article I try to guide you from a fresh Debian 12 Bookworm install to a working cluster using the k3s flavour of Kubernetes with Cilium as a CNI and IngressController.

I've also written an article on how to get started with Kubernetes on Proxmox if virtualisation is more your thing.

The current iteration of my homelab runs on Talos Kubernetes and is set up according to this article.

⚙️ Core Components

🗃️ Folder Structure

.
├── 📂 docs                       # Documentation
├── 📂 k8s                        # Kubernetes manifests
│   ├── 📂 apps                  # Applications
│   ├── 📂 infra                 # Infrastructure components
│   └── 📂 sets                  # Bootstrapping ApplicationSets
└── 📂 tofu                       # Tofu configuration
    ├── 📂 home-assistant         # Home Assistant VM
    └── 📂 kubernetes             # Kubernetes VM configuration
        ├── 📂 bootstrap          # Kubernetes bootstrap config
        └── 📂 talos              # Talos configuration
    └── 📂 cloudflare             # Cloudflare configuration
        ├── 📂 account-tokens     # Scoped account tokens
        └── 📂 email-alias        # Email routing
        └── 📂 adblock            # AdBlock configuration
    └── 📂 remote-state           # Opentofu remote state management
        ├── 📂 cf                 # Cloudflare
        └── 📂 gcs                # Google cloud storage

🙏 Credits

A huge thank you to the following people and projects that have inspired and helped shape this homelab repo:

  • vehagn/homelab: This repository was originally forked from here. Building on top of the already solid repo, I implement my own takes on the architecture, in this repo. My sincere thanks to Vegard for sharing such a solid foundation.
  • Marco Lancini's Blog: The adblocking via Cloudflare was inspired by this blog post on serverless ad-blocking.

About

Configuration for my homelab running Talos Kubernetes provisioned with OpenTofu.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 49.1%
  • Shell 36.8%
  • HCL 14.1%