--- - name: Check current docker-compose version. command: "{{ docker_compose_path }} --version" register: docker_compose_vsn check_mode: false changed_when: false failed_when: false - set_fact: docker_compose_current_version: "{{ docker_compose_vsn.stdout | regex_search('(\\d+(\\.\\d+)+)') }}" when: > docker_compose_vsn.stdout is defined and (docker_compose_vsn.stdout | length > 0) - name: Delete existing docker-compose version if it's different. file: path: "{{ docker_compose_path }}" state: absent when: > docker_compose_current_version is defined and (docker_compose_version | regex_replace('v', '')) not in docker_compose_current_version - name: Install Docker Compose (if configured). get_url: url: "{{ docker_compose_url }}" dest: "{{ docker_compose_path }}" mode: 0755 when: > (docker_compose_current_version is not defined) or (docker_compose_current_version | length == 0) or (docker_compose_current_version is version((docker_compose_version | regex_replace('v', '')), '<'))