--- - name: Add Docker GPG key apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present tags: - docker-install - gpg-key - name: Add Docker repository apt_repository: repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable" state: present update_cache: yes tags: - docker-install - repository - name: Install Docker packages apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present tags: - docker-install - packages - name: Start and enable Docker service systemd: name: docker state: started enabled: yes tags: - docker-install - service - name: Add users to docker group user: name: "{{ item }}" groups: docker append: yes loop: "{{ docker_users }}" tags: - docker-install - users - name: Install Docker Compose standalone (if enabled) get_url: url: "https://github.com/docker/compose/releases/download/v{{ docker_compose_version }}/docker-compose-linux-x86_64" dest: "{{ docker_compose_install_path }}" mode: '0755' when: docker_install_compose tags: - docker-install - compose - name: Configure Docker daemon (if config provided) copy: content: "{{ docker_daemon_config | to_nice_json }}" dest: /etc/docker/daemon.json mode: '0644' when: docker_daemon_config is defined and docker_daemon_config | length > 0 notify: restart docker tags: - docker-install - daemon-config