This repository holds all files for the configuration of all services I host at home.
With this project I aim to develop my automations skills by leveraging various technologies and best practices.
I also aim to make the maintanance of my home lab as easy as possible, due to the many services I intend to deploy.
I chose to run ProxmoxVE because I intend to run multiple VMs and my container deployment infrastructure is already written in Ansible. I also use High Availability for services such as local DNS.
I run almost all services on a Fedora CoreOS VM using Docker.
I plan on using LXC's for more important services, such as a Hashicorp Vault deployment or a PiHole DNS server.
For VM and LXC provisioning I use Terraform with the Proxmox provider. I store all sensitive data in a Hashicorp Vault instance.
For container deployments and additional configurations I use Ansible. For secrets management I use the built in Ansible Vault module.
I plan on integrating CI/CD tooling such as Proxmox GitOps in the future.
I run multiple virtual machines for different purposes.
I chose CoreOS because it is reproducible and offers automatic updates.
This VM hosts all services such as Nextcloud and Immich through a Traefik reverse proxy that exposes them publicly.
Home Assistant is a platform for IOT devices that can use integrations to build powerful automations.
I have several services that are exposed publicly and other administration interfaces that I would prefer to benefit from the additional security of MFA (Multi-Factor Authentication). With these requirements in mind I deployed an Authentik instance that handles Single Sing-On on all services.
I also plan on using CrowdSec for further threat protection.