refactor: docker role (#6)

use official docker images instead of outdated apt packages following official docker installation docs
This commit was merged in pull request #6.
This commit is contained in:
2026-08-04 19:34:56 +02:00
parent 16e403a439
commit 960379bd16
+49 -4
View File
@@ -1,17 +1,55 @@
--- ---
- name: Install necessary Docker packages - name: Install Docker prerequisites
ansible.builtin.apt: ansible.builtin.apt:
name: name:
- docker.io - ca-certificates
- docker-compose - curl
state: present
update_cache: true
become: true
- name: Ensure APT keyrings directory exists
ansible.builtin.file:
path: /etc/apt/keyrings
state: directory
mode: "0755"
become: true
- name: Download Docker official GPG key
ansible.builtin.get_url:
url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg"
dest: /etc/apt/keyrings/docker.asc
mode: "0644"
become: true
- name: Add Docker official APT repository
ansible.builtin.apt_repository:
repo: >-
deb [arch={{ ansible_pkg_arch }} signed-by=/etc/apt/keyrings/docker.asc]
https://download.docker.com/linux/{{ ansible_distribution | lower }}
{{ ansible_distribution_release }} stable
state: present
filename: docker
update_cache: true
become: true
- name: Install modern Docker CE packages
ansible.builtin.apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present state: present
become: true become: true
- name: Ensure Docker service is running - name: Ensure Docker services are running and enabled
ansible.builtin.service: ansible.builtin.service:
name: docker name: docker
state: started state: started
enabled: true enabled: true
become: true
- name: Create docker user for container execution - name: Create docker user for container execution
ansible.builtin.user: ansible.builtin.user:
@@ -24,6 +62,13 @@
create_home: false create_home: false
become: true become: true
- name: Add deployment user to docker group
ansible.builtin.user:
name: deployment
groups: docker
append: true
become: true
- name: Create target for docker compose - name: Create target for docker compose
ansible.builtin.file: ansible.builtin.file:
path: /opt/docker path: /opt/docker