June
f16f8697c2
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 move them out of the "playbooks" directory into the root directory and add symlinks so everything still works. Similarly for local roles, they also need to be next to the playbooks. So for a nicer structure, move the "roles" directory out into the root directory as well and add a symlink so everything still works. Also see: https://docs.ansible.com/ansible/latest/playbook_guide/playbook_pathing.html#resolving-local-relative-paths https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html#storing-and-finding-roles
34 lines
1.6 KiB
Markdown
34 lines
1.6 KiB
Markdown
# 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`](./meta/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/>
|