@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
49 lines (47 loc) • 2.2 kB
YAML
- name: Install Docker Compose on x86_64 system
block:
- name: Check current docker-compose version
command: docker-compose --version
register: docker_compose_current_version
changed_when: false
failed_when: false
- name: Detect the latest docker_compose version
uri:
url: https://api.github.com/repos/docker/compose/releases/latest
register: docker_compose_latest_release_tag
- name: Determine whether or not the latest version of docker_compose is already installed
set_fact:
install_update_compose: "{{ docker_compose_current_version.stdout is not defined \
or (docker_compose_current_version.stdout is defined and \
(docker_compose_latest_release_tag.json.tag_name | replace('v','')) not in docker_compose_current_version.stdout) }}"
- name: Remove older docker-compose version
file:
path: '{{ docker_compose_path }}'
state: absent
when: install_update_compose
- name: Fetch CHECKSUMS file of docker_compose installer
uri:
url: https://github.com/docker/compose/releases/download/{{ docker_compose_latest_release_tag.json.tag_name }}/docker-compose-Linux-x86_64.sha256
return_content: true
register: docker_compose_checksum_file
when: install_update_compose
- name: Find the Checksum of docker_compose installer
set_fact:
docker_compose_checksum: "{{ docker_compose_checksum_file.content | regex_search('.*docker-compose-linux-x86_64') | \
regex_replace(' docker-compose-linux-x86_64','') }}"
when: install_update_compose
- name: Install Docker Compose (if configured)
become: true
get_url:
url: https://github.com/docker/compose/releases/download/{{ docker_compose_latest_release_tag.json.tag_name }}/docker-compose-Linux-x86_64
dest: '{{ docker_compose_path }}'
checksum: 'sha256:{{ docker_compose_checksum }}'
mode: 0755
when: install_update_compose
when: ansible_architecture == 'x86_64'
- name: Install Docker Compose on non-x86_64 system
package:
name: docker-compose
state: present
when: ansible_architecture != 'x86_64'