Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brunostjohn/homelab
my personal space to mess around with stuff and run some workloads while annoying everyone that lives with me
https://github.com/brunostjohn/homelab
Last synced: 20 days ago
JSON representation
my personal space to mess around with stuff and run some workloads while annoying everyone that lives with me
- Host: GitHub
- URL: https://github.com/brunostjohn/homelab
- Owner: brunostjohn
- Created: 2024-07-29T21:25:39.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-16T19:21:59.000Z (21 days ago)
- Last Synced: 2024-10-17T21:00:42.531Z (20 days ago)
- Language: OpenAPI Specification v3
- Homepage:
- Size: 6.64 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Homelab
A declaratively configured, somewhat reproducible k3s cluster configured using IaC tools and some other stuff I use to keep myself sane.
Hardware
-
UniFi Dream Machine Pro - Gateway & Firewall
-
UniFi Aggregation - Aggregating Switch
-
UniFi Switch Pro Max 24 PoE - Main Switch
-
Raspberry Pi 3B & Raspberry Pi 5 - Cluster nodes
-
Big guy server
It's all rack mountable? Always has been.
Software
This section is still mostly incomplete. TBD.
All nodes
-
Docker - because installing software without containers in 2024 is for the exceedingly resillient, or insane.
-
K3S - because I don't need full k8s for this and some stuff k8s does is still super useful.
-
MetalLB - this is a classic and easy to use L2 load balancer for k8s clusters. Super neat piece of software. Give it a pool of IPs and it'll sort out the rest.
Big Guy Server
-
NixOS - because it's declarative, and I've lost enough Linux configuration files in this lifetime. Just let me have a One True Fileβ’ and I'll be happy.
-
Caddy - because it's a great reverse proxy for people without the time to type out elaborate configs.
Raspberry Pis
-
DietPi - because it's light as heck.
-
Ansible - because I don't want to re-type commands a million times every time I need them to run everywhere.
Tooling
-
Task - because I hate re-typing things a million times.
-
Nix Shell - because re-setting up terminal environments on different machines takes too much time and is too annoying.
-
Terraform - because UIs take a long time if you know exactly what you want to do. (but Terraform still manages to take longer, I just don't need to click on anything π).
Should I run this on my machine(s)?
HELL NO
I am right now in the middle of migrating over the 6 different Git repositories I have on my cluster to GitHub. Even when I'm done migrating stuff here, running this on your set-up might be a bad idea. Please do that only if you know what you're doing, and don't expect to be supported by me in the process. I'm only putting this out here for people to learn from it and to be able to easier talk about my hobby with other people that share it.