| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- # Configure groups
- - name: Ensure group "{{ docker_group }}" exists
- include_role:
- name: add_group
- vars:
- add_group_groups: "{{ docker_group }}"
- # Install TLS files
- - name: Install the TLS CA
- copy:
- src: "{{ docker_ca }}"
- dest: "{{ docker_keydir }}/ca.pem"
- owner: "{{ docker_owner }}"
- group: "{{ docker_group }}"
- mode: '0400'
- register: docker_copy
- changed_when: docker_copy.src is defined
- when: docker_ca is defined
- - name: Install the TLS certificate
- copy:
- src: "{{ docker_cert }}"
- dest: "{{ docker_keydir }}/node.pem"
- owner: "{{ docker_owner }}"
- group: "{{ docker_group }}"
- mode: '0400'
- register: docker_copy
- changed_when: docker_copy.src is defined
- when: docker_cert is defined
- - name: Install the TLS key
- copy:
- src: "{{ docker_key }}"
- dest: "{{ docker_keydir }}/node.key"
- owner: "{{ docker_owner }}"
- group: "{{ docker_group }}"
- mode: '0400'
- register: docker_copy
- changed_when: docker_copy.src is defined
- when: docker_cert is defined
- # Install docker
- - name: Add the Docker apt repo
- vars:
- docker_gpgkey: /etc/apt/trusted.gpg.d/docker.asc
- block:
- - name: Fetch the Docker GPG key
- ansible.builtin.get_url:
- url: https://download.docker.com/linux/ubuntu/gpg
- dest: "{{ docker_gpgkey }}"
- - name: Add the Docker repo
- ansible.builtin.apt_repository:
- repo: "deb [arch=arm64 signed-by={{ docker_gpgkey }}] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
- state: present
- - name: Sync apt
- apt:
- update_cache: yes
- changed_when: false
- - name: Install Docker
- apt:
- name:
- - docker-ce
- - docker-ce-cli
- - containerd.io
- - docker-compose-plugin
- - python3-docker
- - python3-websocket
- state: latest
- # Run docker
- - name: Start Docker
- systemd:
- name: docker
- enabled: no
- state: started
- when: docker_run
- - name: Start a swarm from first node
- community.docker.docker_swarm:
- state: present
- delegate_to: "{{ ansible_play_hosts | first }}"
- run_once: true
|