https://github.com/hmajid2301/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.
https://github.com/hmajid2301/k3s-config
fluxcd home-lab homelab k3s
Last synced: 8 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/hmajid2301/k3s-config
- Owner: hmajid2301
- License: mit
- Created: 2023-11-28T20:18:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-24T09:41:58.000Z (9 months ago)
- Last Synced: 2025-03-18T05:34:48.608Z (8 months ago)
- Topics: fluxcd, home-lab, homelab, k3s
- Language: Nix
- Homepage:
- Size: 729 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://haseebmajid.dev/series/setup-raspberry-pi-cluster-with-k3s-and-nixos/).
You can find a list of how these devices are [set up using Nix](https://github.com/hmajid2301/dotfiles).
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
```bash
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](https://gitlab.com/hmajid2301/dotfiles).
## Images


## More Information
- [Bare metal managed by Nix](https://gitlab.com/hmajid2301/dotfiles)
- [Blog posts documenting my journey](https://haseebmajid.dev/posts/2023-11-18-how-i-setup-my-raspberry-pi-cluster-with-nixos/)