--- - name: Check current docker-compose version. ansible.builtin.command: "{{ docker_compose_path }} --version" register: docker_compose_vsn check_mode: false changed_when: false failed_when: false - name: Set Docker Compose Current Version ansible.builtin.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. ansible.builtin.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). ansible.builtin.get_url: url: "{{ docker_compose_url }}" dest: "{{ docker_compose_path }}" mode: "0755" environment: "{{ proxy_env | default({}) }}" 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', '')), '<'))