- name: Install Docker and Docker Compose on Debian 12 hosts: all become: yes tasks: - name: Remove old Docker-related packages apt: name: - docker.io - docker-doc - docker-compose - podman-docker - containerd - runc state: absent purge: yes autoremove: yes - name: Update apt cache apt: update_cache: yes - name: Install prerequisites apt: name: - ca-certificates - curl state: present - name: Create directory for Docker GPG key 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' - name: Get Debian architecture command: dpkg --print-architecture register: deb_arch - name: Add Docker repository apt_repository: repo: "deb [arch={{ deb_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian {{ ansible_lsb.codename }} stable" filename: docker state: present update_cache: yes - name: Update apt cache apt: update_cache: yes - name: Install Docker packages apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present update_cache: yes - name: Ensure Docker is started and enabled systemd: name: docker enabled: yes state: started - name: Add user to docker group user: name: "{{ ansible_user }}" groups: docker append: yes