Proxmox-GitOps: Self-configuring CI/CD Environment for Container Automation in Proxmox VE


Proxmox-GitOps: Self-configuring CI/CD Environment for Container Automation in Proxmox VE
Proxmox-GitOps is a self-configuring GitOps environment for Proxmox LXC.
It manages provisioning, configuration, and orchestration of containers — fully defined as code and deployed via pull request.
Modular, consistent, and adapting to changing base configurations.
GitHub → stevius10/Proxmox-GitOps
https://github.com/stevius10/Proxmox-GitOps
Concept
Initial bootstrap via local Docker environment
GitOps environment pushes itself into a Gitea instance
The pipeline triggers itself recursively — enforces state, updates references, and redeploys
Container provisioning via Ansible (Proxmox API)
Configuration via Chef/Cinc cookbooks (application logic)
Environment values (from config.json) are injected and propagated across all containers
Usage
Start with: local/run.sh
The Docker-based GitOps environment initializes, pushes itself, and opens a pull request.
Accepting the PR triggers recursive CI/CD: containers are provisioned, configured, and verified.
All containers are defined in libs/, with config.env for parameters and a Ruby cookbook for service logic.
Workflows are reused and parameterized across all containers.
Self-Replication
Every container includes a runner that pushes itself into the GitOps system again.
That push retriggers the pipeline, updating submodule refs and enforcing the declared state.
Status
This project is still early.
I built it primarily for my own homelab, but would like to develop it further.
There may be bugs — if you try it out or review the code, I’d appreciate your input.
GitHub: stevius10/Proxmox-GitOps
Subscribe to my newsletter
Read articles from Steven Koch directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
