dc-ops/README.md
Sebastian Mark 55d00d1b08 doc: update README with configuration options
- add section for configuration options
- explain each configuration option in detail
- provide examples for each configuration option

🤖
2023-12-20 14:10:01 +01:00

36 lines
1.8 KiB
Markdown

# Docker Compose GitOps (dc-ops)
`dc-ops` is a simple python script that automates the update and deployment of multiple Docker Compose applications.
## How does it work?
It reads a list of git repositories from a YAML configuration file (`config.yml`), pulls the latest changes for each repo, and runs `docker compose up` for each specified `docker-compose.yml` file.
## Features
- Automatically checks for updates in git repositories
- Supports multiple Docker Compose files per repository
- Can be configured to skip certain repositories
## Requirements
See `requirements.txt`
## Usage
1. Install the required Python packages: `pip install -r requirements.txt`
2. Adapt `config.yml.example` to your needs and save it as `config.yml`
3. Run `dc-ops` from the shell or from a cron job
## Configuration Options
- `loglevel`: (optional) define loglevel. Defaults to "INFO" if not set.
- `stacks`: an array containing details for each repository. Each element is a dictionary containing the following keys:
- `dir`: the directory of the repository on your local machine.
- `compose-files`: (optional) array of paths (relative to `dir`) to docker-compose files. Uses `["docker-compose.yml"]` by default if not set.
- `enabled`: (optional) `false` if this repository should be skipped. Defaults to `true` if not set.
- `pre`: (optional) a command to be run before `docker-compose up`, executed in `dir`.
- `post`: (optional) a command to be run after `docker-compose up`, executed in `dir`.
## Detailed process
For each enabled stack in the config file, the following process will be executed:
1. Checking directory existence
2. Fetching latest changes from remote repository
3. If there is a new commit, it will pull the changes
4. Running Docker Compose with the defined or default compose-file(s)