Setup of my personal homelab ("maisonneux" can be jokingly translated to "homies" in French).
I first started with a simple server with OpenMediaVault with Docker configured in the UI, then migrated to the stacks available in the folder docker-compose/
.
After some years and an upgrade on the server (more RAM and a new CPU), I migrated the entire server to Proxmox in a single Debian VM to keep the services running, then move the storage management to a TrueNAS Core VM and the microservices in a Kubernetes cluster using Talos Linux.
The provisioning of the virtual machines as well as LXCs in Proxmox is done with OpenTofu (or Terraform) using the Proxmox provider.
The main operations (cluster and VM provisioning) are performed using the Makefile
at the root of the repository. Help command is coming soontm.
docker-compose/
contains the former stacks I used to manage my microservices. See this page for to see the list of microservices deployed.helm/
contains the Helm charts used to deploy some microservices in K8sscripts/
contains scripts used to setup environment, check health of services or build imagesterraform/
contains a multi-environment . Static environment deploys static VMs and LXCs (such as the storage VM), and K8s environment deploys a Kubernetes cluster. See this page for more informations.
Each directory represents a deployment stage, contains a folder for production and staging environments.
clusters/
: FluxCD configurations, contains Kustomization definitions for other stagessystem/
: Core cluster components, CSI driversplatform/
: Database operators, storage operatorscore/
: Ingress, Identity providerapps/
: Mostly internet facing apps
FluxCD reads the files in clusters/{env}
then each describing a deployment stage points to a folder containing a Kustomization referencing the common .yaml files and eventual particularities.
Issues are not opened, as I'm not supposed to give support for the softwares/technologies I'm using. For that, please refer to their own repositories or forums. However, I'm open to any advice and discussion in the Discussion section.