--- # Part of role: docker # Called by: ansible/playbooks/setup-gpu-node.yaml, ansible/roles/homeassistant (meta dependency) # Description: Installs Docker CE, adds user to docker group. Works on both Debian and Ubuntu. - name: Install Docker prerequisites ansible.builtin.apt: name: - ca-certificates - curl state: present update_cache: true - name: Create apt keyrings directory ansible.builtin.file: path: /usr/share/keyrings state: directory mode: "0755" - name: Add Docker GPG key ansible.builtin.shell: cmd: > curl -fsSL https://download.docker.com/linux/{{ ansible_facts['distribution'] | lower }}/gpg | gpg --dearmor -o /usr/share/keyrings/docker.gpg creates: /usr/share/keyrings/docker.gpg - name: Add Docker apt repository ansible.builtin.apt_repository: repo: > deb [arch=amd64 signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/{{ ansible_facts['distribution'] | lower }} {{ ansible_facts['distribution_release'] }} stable filename: docker state: present - name: Install Docker CE and Compose plugin ansible.builtin.apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present update_cache: true - name: Ensure Docker service is running and enabled ansible.builtin.systemd: name: docker state: started enabled: true - name: Add user to docker group ansible.builtin.user: name: "{{ username }}" groups: docker append: true