ansible-docker-mailcow/roles/install_docker/tasks/main.yml
Jesko Anschütz d563801458 initial
2025-03-20 10:39:09 +01:00

65 lines
No EOL
1.8 KiB
YAML

# ---
# tasks file for install_docker
- name: Check if Docker is installed
become: yes
command: docker -v
register: docker_installed
ignore_errors: true
- name: Install Docker
become: yes
block:
- name: Add Docker's official GPG key
block:
- name: Install necessary packages
become: yes
ansible.builtin.apt:
name:
- ca-certificates
- curl
- gnupg
state: latest
update_cache: yes
- name: Add GPG key
ansible.builtin.shell:
cmd: |
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
- name: Add the repository to Apt sources
block:
- name: Add repos
ansible.builtin.shell:
cmd: |
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- name: Install Docker packages
become: yes
ansible.builtin.apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: latest
update_cache: yes
when: docker_installed.failed
- name: Ensure Docker group exists
become: yes
ansible.builtin.group:
name: docker
state: present
register: docker_group
- name: Add User to docker group
become: yes
ansible.builtin.user:
name: yourUser
groups: docker
append: true
when: docker_group is changed