- name: Install required system packages ansible.builtin.apt: pkg: - apt-transport-https - ca-certificates - curl - software-properties-common - python3-pip - virtualenv - python3-setuptools state: present update_cache: true become: true - name: Add Docker GPG apt Key ansible.builtin.apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present become: true - name: Add Docker Repository ansible.builtin.apt_repository: repo: deb https://download.docker.com/linux/ubuntu focal stable state: present become: true - name: Update apt and install docker packages ansible.builtin.apt: pkg: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present update_cache: true become: true - name: Add user to the Docker group ansible.builtin.user: name: "{{ ansible_user }}" groups: docker append: true become: true - name: Apply docker daemon config ansible.builtin.copy: src: docker-daemon.json dest: /etc/docker/daemon.json mode: "0400" owner: root group: root become: true register: docker_config_result - name: Restart docker service ansible.builtin.systemd_service: state: restarted name: docker become: true when: docker_config_result.changed # noqa: no-handler TODO can we add a handler here? - name: Create a network community.docker.docker_network: name: apps enable_ipv6: true