Here you will find all tthe documentation of my homelab.
This repository is where I do all my testing, tinkering, and all-in-all a space for me to play, and work! It does have a serious note as well, since I will be working with my own personal data and require me to think about the whole process of deployment and maintanence!
I like to start off talking about hardware first. It's I think a great base line to understand what I was working with.
I have currently 3 old hardware:
HP EliteDesk 800 G2 i5-6500T/16GB/256SSD
HP EliteDesk 800 G2 i5-6500T/16GB/256SSD
HP Laptop (atm do not know the model) 8GB/256SSD
I love Talos Linux. It has production grade security out of the box, is lightweight, and has robust features. At first, I used straight baremetal. But after sometime (a week...), I realized that Omni was the way to go.
I could spin up new clusters in seconds, and exposing external services is a breeze.
I have them in this structure:
Cluster | Usage | Hardware |
---|---|---|
Data | PostgreSQL Database | HP Laptop |
Tachtit | Apps | HP 800 G2 x 2 |
Icon | Name | Description |
---|---|---|
Cilium | An amazing CNI used for all my clusters. I opt out of Flannel for Cilium. | |
CloudnativePG | A Kubernetes operator for deploying and managing PostgreSQL clusters. | |
![]() |
External Secrets Operator | A Kubernetes operator that synchronizes secrets from external APIs into Kubernetes. Currently, it uses secrets from my Azure Key Vault. |
![]() |
External DNS | A Kubernetes addon that automates the management of DNS records based on Kubernetes resources. |
FluxCD | A GitOps tool for automating Kubernetes deployments from Git repositories. | |
Flux Operator | A Kubernetes CRD controller that manages the lifecycle of CNCF Flux. It automates installation, configuration, and upgrades of Flux controllers through a declarative API. | |
Grafana | A multi-platform analytics and visualization web application for monitoring data. | |
Prometheus | An open-source monitoring and alerting toolkit for containers and microservices. | |
Renovate | An automated dependency update tool that creates and maintains pull requests for your dependencies. |
Icon | Name | Description |
---|---|---|
Homepage | A self-hosted dashboard that allows you to organize your web services and bookmarks in a clean, customizable interface. | |
Linkding | A self-hosted bookmark manager with tagging and search functionality. | |
Wallabag | A self-hosted read-it-later application that saves web articles and strips away clutter for comfortable reading. | |
n8n | A self-hosted workflow automation tool that connects apps and services with a visual node-based editor. | |
CommaFeed | A self-hosted RSS reader inspired by Google Reader with a clean, responsive interface. |
- Link my PostgreSQL Database in the data cluster to my TrueNAS Scale.
- Have blob storage for my data cluster to create periodic backups.
- Add on
Immich, CommaFeed, Wallabag, to work with my data cluster, and also backup to blob storage.