Here you will find all the 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 4 machines:
HP EliteDesk 800 G2 i5-6500T/16GB/256SSD
HP EliteDesk 800 G2 i5-6500T/16GB/256SSD
HP Laptop 8GB/256SSD
ThinkPad P14s Gen 2 32GB/512SSD
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 800 G2 (16GB) + HP Laptop (8GB) |
| App | Apps | HP 800 G2 (16GB) + ThinkPad P14s Gen 2 (32GB) |
| 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. | |
| Authentik | An open-source identity and access management platform providing authentication, authorization, and single sign-on (SSO) capabilities. | |
| pgAdmin | A web-based administration and development platform for PostgreSQL databases. |
| 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. |
| Icon | Name | Description |
|---|---|---|
| Immich | A high-performance self-hosted photo and video backup solution with features like automatic backup, timeline view, and ML-powered search. |
| Icon | Name | Description |
|---|---|---|
| Pedro T. Chang | A Hugo-built blog for sharing thoughts and technical writing. |
- 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.

