Proxmox‑GitOps: IaC Container Automation (hass stack lxc automated, demo incl.)

Hi,

I‘d like to share my hobby and passion project Proxmox-GitOps, which I think could also be very interesting for other who wants to automate their Home Assistant stack - extensible and version-controlled, as a one-command deployable monorepository.

Proxmox-GitOps: GitHub - stevius10/Proxmox-GitOps: Self-hosted GitOps IaC Container Automation on Proxmox VE.

Demo (1min+): https://youtu.be/2oXDgbvFCWY

tl;dr: Proxmox-GitOps implements a self-contained GitOps environment for provisioning and orchestrating Linux Containers (LXC) on Proxmox VE.

Encapsulating infrastructure within an extensible monorepository — recursively resolved from Git submodules at runtime — it provides a comprehensive Infrastructure-as-Code (IaC) abstraction for an entire, automated container-based infrastructure.

Core Concepts

  • Recursive Self-Management: The control plane executes from within the managed containers to maximize reproducibility and minimize configuration drift.

  • Git as Current Desired State: All operations map to standard Git workflows (commit, merge, rollback) in a completely stateless management model.

  • Convention-Based Extensibility: Add a new service by copying a container definition from the libs directory, adding a minimal cookbook and a config.env file. The pipeline automatically handles provisioning, configuration, and validation.

  • Loose Coupling: Containers remain independently replaceable and continue to function without requiring manual follow-up actions after changes.

Homeassistant

Originally, I just wanted to automate my homelab using Infrastructure-as-Code - without to repeat myself.

My homelab however is actually a Home Assistant stack (with broker and bridge), which therefore reflects container definition examples as well as the homelab containers I am running myself:

Proxmox-GitOps itself is a completely generic container automation approach: Whether to use for the built-in Home Assistant stack or to create and automate container via IaC using the generic underlying base (Debian LXC 13) with preconfigured pipelines and (optionally) its applied infrastructure libraries, so container definitions can be separated to only hold its application logic:

Environment

  • Proxmox: 8.4–9.0
  • Container OS: Debian 13 LXC by default
  • Bootstrap: Local bootstrap via Docker

I‘d love to hear your thoughts :slightly_smiling_face:

1 Like