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. See more here: https://haseebmajid.dev/posts/2023-11-18-how-i-setup-my-raspberry-pi-cluster-with-nixos/
Find a file
2025-08-27 09:07:28 +00:00
.gitlab/agents/ms01 chore: update kas 2024-10-04 07:03:09 +00:00
clusters prod-a172e7c8b024dbea83aafe57c4b2e8e7697d8ed6-1756239967 -> prod-1d29e1aa9019763e71c6468f52c57df6e3c946cb-1756285553 2025-08-27 09:07:28 +00:00
.envrc feat: add nix flake for dev env 2023-11-28 20:30:29 +00:00
.gitignore feat: add minio 2024-07-14 13:46:52 +01:00
.yamllint.yaml feat: add minio 2024-07-14 13:46:52 +01:00
flake.lock feat: add tailscale and connect to redis from pods 2024-11-21 23:17:19 +00:00
flake.nix feat: deploy banterbus to prod 2024-12-15 23:57:58 +00:00
LICENSE feat: add minio 2024-07-14 13:46:52 +01:00
README.md feat: add gitlab agent 2024-10-03 00:30:02 +01:00
renovate.json feat: Add renovate.json 2025-08-13 13:36:50 +01:00
Taskfile.yml feat: add gitlab agent 2024-10-03 00:30:02 +01:00

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