diff --git a/defaults/main.yml b/defaults/main.yml index b395fe3..538e15a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -5,6 +5,7 @@ docker_compose_stop_action: down docker_compose_validate: true docker_compose_reload_max_delay: 0 # Have no delay, should be less than docker_compose_reload_minutes +docker_compose_use_docker_image: false docker_compose_add_cleanjob: false docker_compose_config: diff --git a/tasks/docker-wrapper.yml b/tasks/docker-wrapper.yml new file mode 100644 index 0000000..30a7347 --- /dev/null +++ b/tasks/docker-wrapper.yml @@ -0,0 +1,21 @@ +--- + +- name: Install wrapper script + copy: + content: | + #!/bin/bash + set -euo pipefail + + exec docker run --rm -ti \ + -v "/var/run/docker.sock:/var/run/docker.sock" \ + -v "/etc/docker-compose:/etc/docker-compose:ro" \ + luzifer/docker-compose \ + "$@" + dest: /usr/local/bin/docker-compose + group: root + mode: '0755' + owner: root + +- set_fact: docker_compose_binary_path="/usr/local/bin/docker-compose" + +... diff --git a/tasks/main.yml b/tasks/main.yml index 101cc9d..2870432 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -4,6 +4,11 @@ - name: "Loading distribution specific instructions for {{ ansible_distribution }}" include: "{{ ansible_distribution }}.yml" + when: not docker_compose_use_docker_image + +- name: Install shell wrapper for docker-compose image + include: "docker-wrapper.yml" + when: docker_compose_use_docker_image # Configure docker-compose