ansible-infra/roles/docker_compose
lilly 4c9d582ba6
specify that docker_compose role may not be included twice
Our docker compose role is configured via ansible variables in a way
that overwrites each other if it is activated twice with different
variable assignments (unless e.g. a role that just installs more
packages).
To prevent misuse of the role, the allow_duplicates key of the role
meta is set to false. This should make ansible complain if the role
is included twice for a single host.
2026-07-23 18:37:48 +02:00
..
defaults Allow syncing an arbitrary set of files to the target 2026-02-22 18:21:47 +01:00
handlers docker_compose(role): use community.docker.docker_compose_v2 module 2025-11-02 23:13:20 +01:00
meta specify that docker_compose role may not be included twice 2026-07-23 18:37:48 +02:00
tasks reduce ansible grafana log verbosity by using loop_control labels 2026-04-24 15:32:43 +02:00
README.md docker_compose(role): document new build and pull arguments 2026-01-25 20:49:39 +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.
  • docker_compose__build: Whether or not to build images before starting containers.
    Defaults to always.
  • docker_compose__pull: Whether or not to pull images before starting containers.
    Defaults to always.