--- - name: Check if Docker is already installed command: docker --version register: docker_check ignore_errors: yes changed_when: false - name: Display Docker installation status debug: msg: "Docker is already installed, skipping installation" when: docker_check.rc == 0 - name: Update apt cache apt: update_cache: yes when: docker_check.rc != 0 - name: Install required packages apt: name: - ca-certificates - curl state: present when: docker_check.rc != 0 - name: Create keyrings directory file: path: /etc/apt/keyrings state: directory mode: '0755' when: docker_check.rc != 0 - name: Download Docker GPG key get_url: url: https://download.docker.com/linux/debian/gpg dest: /etc/apt/keyrings/docker.asc mode: '0644' when: docker_check.rc != 0 - name: Get Debian version codename shell: . /etc/os-release && echo "$VERSION_CODENAME" register: debian_codename changed_when: false when: docker_check.rc != 0 - name: Add Docker repository copy: content: | Types: deb URIs: https://download.docker.com/linux/debian Suites: {{ debian_codename.stdout }} Components: stable Signed-By: /etc/apt/keyrings/docker.asc dest: /etc/apt/sources.list.d/docker.sources mode: '0644' when: docker_check.rc != 0 - name: Update apt cache after adding Docker repo apt: update_cache: yes when: docker_check.rc != 0 - name: Install Docker packages apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present when: docker_check.rc != 0 - name: Ensure Docker service is running systemd: name: docker state: started enabled: yes - name: Add user to docker group user: name: bapasqui groups: docker append: yes