65 lines
No EOL
1.8 KiB
YAML
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 |