mirror of
https://gitlab.com/hmajid2301/homelab.git
synced 2026-06-18 03:35:28 +01:00
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/
- Nix 100%
| .gitlab/agents/ms01 | ||
| clusters | ||
| .envrc | ||
| .gitignore | ||
| .yamllint.yaml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| renovate.json | ||
| Taskfile.yml | ||
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.

