commited current state (new functions, may not work by now)
This commit is contained in:
76
roles/system/tasks/install-docker.yaml
Normal file
76
roles/system/tasks/install-docker.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
- 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
|
||||
Reference in New Issue
Block a user