ansible-infra/roles/docker_compose
June ae60d6fea6
docker_compose(role): use community.docker.docker_compose_v2 module
Use the community.docker.docker_compose_v2 module as it supports proper
changed handling out of the box, making the roles code more
straightforward and work. Also just do a docker compose restart instead
of having the custom docker compose reload script.

https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_v2_module.html
2025-11-02 23:13:20 +01:00
..
defaults docker_compose(role): use community.docker.docker_compose_v2 module 2025-11-02 23:13:20 +01:00
handlers docker_compose(role): use community.docker.docker_compose_v2 module 2025-11-02 23:13:20 +01:00
meta docker_compose(role): move argument documentation to README 2025-11-02 22:32:20 +01:00
tasks docker_compose(role): use community.docker.docker_compose_v2 module 2025-11-02 23:13:20 +01:00
README.md docker_compose(role): move argument documentation to README 2025-11-02 22:32:20 +01:00

Role docker_compose

A role for deploying a Docker-Compose-based application. It deploys the given Compose file, an optional .env file, as well as configuration files to the specified hosts and makes sure all services are up-to-date and running. The Compose file gets deployed to /ansible_docker_compose/compose.yaml, the .env file to /ansible_docker_compose/.env and the configuration files get deployed into the /ansible_docker_compose/configs/ directory. A use case for the deployment of the additional configuration files is Composes top-level element configs in conjunction with the configs option for services.

Supported Distributions

Should work on Debian-based distributions.

Required Arguments

  • docker_compose__compose_file_content: The content to deploy to the Compose file at /ansible_docker_compose/compose.yaml.

Optional Arguments

  • docker_compose__env_file_content: The content to deploy to the .env file at /ansible_docker_compose/.env.
  • docker_compose__configuration_files: A list of configuration files to deploy to the /ansible_docker_compose/configs/ directory.
  • docker_compose__configuration_files.*.name: The name of the configuration file.
  • docker_compose__configuration_files.*.content: The content to deploy to the configuration file.