--- # Basics - name: install requirements for docker apt: update_cache: yes state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}" install_recommends: yes pkg: - apt-transport-https - ca-certificates - gnupg2 - curl # Docker - name: Create apt keyrings directory file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Download Docker GPG key get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/keyrings/docker.asc mode: '0644' # write the whole file so repo lines of older releases do not linger - name: Add Docker repository copy: dest: /etc/apt/sources.list.d/docker.list content: "deb [arch={{ docker_apt_arch[ansible_architecture] | default(ansible_architecture) }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable\n" owner: root group: root mode: "0644" - name: Update apt cache apt: update_cache: yes - name: install docker (docker-ce + docker-ce-cli) apt: update_cache: yes state: "{% if cloud_update | bool %}latest{% else %}present{% endif %}" install_recommends: yes pkg: - docker-ce - docker-ce-cli - python3-docker # Docker Compose - name: download latest docker get_url: url: "https://github.com/docker/compose/releases/download/v{{ docker_compose_version }}/docker-compose-linux-{{ ansible_architecture }}" dest: /usr/local/bin/docker-compose mode: 0755