76 lines
2.4 KiB
YAML
76 lines
2.4 KiB
YAML
- name: Install Docker from official repo
|
|
when: docker_install_source == "official"
|
|
block:
|
|
- name: Ensure Docker GPG key is dearmored and installed
|
|
ansible.builtin.get_url:
|
|
url: https://download.docker.com/linux/debian/gpg
|
|
dest: /tmp/docker.gpg
|
|
mode: '0644'
|
|
|
|
- name: Convert Docker GPG key to binary format (dearmor)
|
|
ansible.builtin.command:
|
|
cmd: gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg /tmp/docker.gpg
|
|
args:
|
|
creates: /etc/apt/trusted.gpg.d/docker.gpg
|
|
|
|
- name: Remove temporary Docker GPG key
|
|
ansible.builtin.file:
|
|
path: /tmp/docker.gpg
|
|
state: absent
|
|
|
|
- name: Add Docker APT repository (official)
|
|
ansible.builtin.copy:
|
|
dest: /etc/apt/sources.list.d/docker.list
|
|
content: |
|
|
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable
|
|
mode: '0644'
|
|
register: docker_repo
|
|
|
|
- name: Install Docker from tinc mirror
|
|
when: docker_install_source == "tinc"
|
|
block:
|
|
|
|
- name: Ensure Docker GPG key is dearmored and installed
|
|
ansible.builtin.get_url:
|
|
url: https://mirror.tinc.gmbh/docker/debian/gpg
|
|
dest: /tmp/docker.gpg
|
|
mode: '0644'
|
|
|
|
- name: Convert Docker GPG key to binary format (dearmor)
|
|
ansible.builtin.command:
|
|
cmd: gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg /tmp/docker.gpg
|
|
args:
|
|
creates: /etc/apt/trusted.gpg.d/docker.gpg
|
|
|
|
- name: Remove temporary Docker GPG key
|
|
ansible.builtin.file:
|
|
path: /tmp/docker.gpg
|
|
state: absent
|
|
|
|
- name: Add Docker APT repository (tinc)
|
|
ansible.builtin.copy:
|
|
dest: /etc/apt/sources.list.d/docker.list
|
|
content: |
|
|
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/docker.gpg] https://mirror.tinc.gmbh/docker/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable
|
|
mode: '0644'
|
|
register: docker_repo
|
|
|
|
- name: Update APT cache
|
|
ansible.builtin.apt:
|
|
update_cache: yes
|
|
when: docker_repo.changed
|
|
|
|
- name: Install Docker packages from mirror
|
|
ansible.builtin.apt:
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
- docker-compose-plugin
|
|
- docker-buildx-plugin
|
|
- docker-ce-rootless-extras
|
|
state: present
|
|
notify:
|
|
- Enable Docker
|
|
- Start Docker
|
|
when: docker_repo.changed |