--- - name: Check current docker-compose version. command: docker-compose --version register: docker_compose_current_version changed_when: false failed_when: false - name: Get latest version from docker-compose (if configured) block: - name: Get latest version of docker-compose from Github API uri: url: https://api.github.com/repos/docker/compose/releases/latest return_content: yes register: url_content delegate_to: localhost - name: Set latest version in docker_compose_version variable set_fact: docker_compose_version: "{{ url_content.json.name }}" when: docker_compose_version == 'latest' - name: Delete existing docker-compose version if it's different. file: path: "{{ docker_compose_path }}" state: absent when: > docker_compose_current_version.stdout is defined and docker_compose_version not in docker_compose_current_version.stdout - name: Install Docker Compose (if configured). get_url: url: https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-Linux-x86_64 dest: "{{ docker_compose_path }}" mode: 0755