/k3s-config

The configuration for my Home Lab, managed using fluxcd. Deployed on a bunch of random servers running NixOS as the OS and K3S to manage all my apps.

Primary LanguageNixMIT LicenseMIT

Home Lab

This is a repository containing all the Kubernetes configuration related to my Home Lab.

  • 1x UM790 Minis Forum
  • 1x MS01 Minis Forum
  • 1x SL100 Minis Forum

You can read more about how it is all setup on my blog. You can find a list of how these devices are set up using Nix.

This repository uses Flux CD for Git Ops, to automatically deploy changes made to this repository on the main branch.

Features

  • Automated, reproducible, setup through using NixOS (in another repo).
  • Encrypted secrets with SOPS and Age
  • SSL certificates from Cloudflare and cert-manager
  • Using longhorn for persistent storage management
  • All apps protected with authentication using Authentik.
  • Tailscale (in dotfiles repo) and Twingate for managing access.

Usage

Note I copied the kube config file from the cluster and called it config.personal

git clone git@gitlab.com:hmajid2301/k3s-config.git
cd homelab
direnv allow

# To force a reconcile with the git repo
flux reconcile  source git flux-system

System Configuration

Each device is configured and runs NixOS, you can find their specific configuration here.

Images

Rack Dashboard

More Information