Because of how Ansible local relative search paths work, the global "files" and "templates" directories need to be next to the playbooks. However its not intuitive to look into the playbooks directory to find the files and templates for a host. Therefore flatten the playbooks directory to get rid of this confusing structure. Also see: https://docs.ansible.com/ansible/latest/playbook_guide/playbook_pathing.html#resolving-local-relative-paths
1.6 KiB
Role docker_compose
A role for deploying a Docker-Compose-based application.
It deploys the given Compose 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
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
The following distributions are supported:
- Debian 11
Required Arguments
For the required arguments look at the argument_specs.yaml
.
hosts
The hosts
for this role need to be the machines, for which you want to make sure the given Compose file is deployed and all services of it are up-to-date and running.
Links & Resources
- https://docs.docker.com/compose/
- https://docs.docker.com/compose/compose-v2/
- https://docs.docker.com/compose/production/
- https://docs.docker.com/compose/startup-order/
- https://docs.docker.com/compose/compose-file/
- https://docs.docker.com/compose/compose-file/03-compose-file/
- https://docs.docker.com/compose/compose-file/08-configs/
- https://docs.docker.com/compose/compose-file/05-services/#configs
- https://docs.docker.com/engine/reference/commandline/compose_up/
- https://docs.docker.com/engine/reference/commandline/compose_ps/
- https://docs.docker.com/engine/reference/commandline/compose_down/