--- - name: Install Docker apt prerequisites ansible.builtin.apt: name: - ca-certificates - curl - gnupg state: present tags: [docker] - name: Create keyrings directory ansible.builtin.file: path: /etc/apt/keyrings state: directory mode: "0755" tags: [docker] - name: Add Docker official GPG key ansible.builtin.get_url: url: https://download.docker.com/linux/ubuntu/gpg dest: /etc/apt/keyrings/docker.asc mode: "0644" force: true tags: [docker] - name: Add Docker apt repository (deb822) ansible.builtin.deb822_repository: name: docker types: [deb] uris: https://download.docker.com/linux/ubuntu suites: ["{{ ansible_distribution_release }}"] components: [stable] architectures: "{{ [ansible_architecture | replace('x86_64', 'amd64') | replace('aarch64', 'arm64')] }}" signed_by: /etc/apt/keyrings/docker.asc state: present enabled: true tags: [docker] - name: Install Docker Engine + Compose plugin ansible.builtin.apt: name: "{{ docker_packages }}" state: present update_cache: true tags: [docker] - name: Ensure docker group exists ansible.builtin.group: name: docker state: present tags: [docker] - name: Configure Docker daemon.json ansible.builtin.copy: dest: /etc/docker/daemon.json mode: "0644" content: "{{ docker_daemon_json | to_nice_json }}\n" notify: Restart docker tags: [docker] - name: Enable and start Docker (survives reboots) ansible.builtin.systemd: name: docker state: started enabled: true tags: [docker] - name: Enable containerd (Docker dependency) ansible.builtin.systemd: name: containerd state: started enabled: true tags: [docker] - name: Add stack user to docker / video / render groups ansible.builtin.user: name: "{{ stack_owner }}" groups: "{{ extra_user_groups }}" append: true tags: [docker, users] # Full permission setup also runs in the users role - name: Verify docker works ansible.builtin.command: docker version --format '{% raw %}{{.Server.Version}}{% endraw %}' register: docker_ver changed_when: false tags: [docker] - name: Show docker version ansible.builtin.debug: msg: "Docker server {{ docker_ver.stdout }}" tags: [docker]