Configurator is a lightweight container that listens for webhooks and automatically runs scripts (for example an Ansible playbook to deploy your infrastructure).
Ideal for small setups or personal projects that need GitOps-like automation without the complexity of tools like ArgoCD.
- When starting the container:
- It clones your specified repository.
- It starts a custom script if the
CUSTOM_SCRIPT_PATHenvironment variable is set. This script can be used to perform any custom actions before the main functionality. - It starts the webhook server to listen for incoming requests.
- A webhook notifies the Configurator container (for example when pushing to a Git repository).
- The container pulls the latest changes from your repository and then executes the specified script to apply the changes.
-
Clone this repo and create a
.envfile with your configuration. You can find an example in.env.example. -
Add the useful files in your repository.
-
Start the container using Docker Compose:
docker compose up -d
You can find a complete example in the example directory.
Warning
I suggest to run the container in a dedicated virtual machine or a dedicated server, as it needs an ssh key to access your repository and will run scripts that can modify your infrastructure.