Add docker role and playbook for Docker installation

This commit is contained in:
DerLinkman
2026-07-18 00:08:02 +02:00
parent 39511ed69f
commit 5c8af619d3
6 changed files with 92 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
- hosts: all
user: admin
become: true
tasks:
- name: Verify if system is Debian
debug:
msg: "This playbook is running on a Debian system."
when: ansible_facts['os_family'] == "Debian"
- name: Stop playbook if system is not Debian
fail:
msg: "This playbook only supports Debian."
when: ansible_facts['os_family'] != "Debian"
- name: Include Docker setup role
import_role:
name: docker
when: ansible_facts['os_family'] == "Debian"
+8
View File
@@ -0,0 +1,8 @@
docker_mirror: https://download.docker.com/linux/debian
os_version_codename: "{{ ansible_lsb.codename }}"
docker_packages:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
+17
View File
@@ -0,0 +1,17 @@
---
- name: Restart Docker
ansible.builtin.systemd:
name: docker
state: restarted
daemon_reload: yes
- name: Reload Docker
ansible.builtin.systemd:
name: docker
state: reloaded
- name: Start Docker
ansible.builtin.systemd:
name: docker
state: started
enabled: yes
+40
View File
@@ -0,0 +1,40 @@
---
- name: Update apt cache
ansible.builtin.apt:
update_cache: yes
cache_valid_time: 3600
- name: Install required packages
ansible.builtin.apt:
name:
- ca-certificates
- curl
state: present
- name: Create keyrings directory
ansible.builtin.file:
path: /etc/apt/keyrings
state: directory
mode: '0755'
- name: Download Docker GPG key
ansible.builtin.get_url:
url: "{{ docker_mirror }}/gpg"
dest: /etc/apt/keyrings/docker.asc
mode: '0644'
- name: Add Docker repository
ansible.builtin.template:
src: sources.list.j2
dest: /etc/apt/sources.list.d/docker.sources
mode: '0644'
- name: Update apt cache after adding repository
ansible.builtin.apt:
update_cache: yes
- name: Install Docker packages
ansible.builtin.apt:
name: "{{ docker_packages }}"
state: present
notify: Start Docker
+2
View File
@@ -0,0 +1,2 @@
- name: Include Docker installation tasks
ansible.builtin.include_tasks: install-docker.yml
+7
View File
@@ -0,0 +1,7 @@
# {{ ansible_managed }}
# Package sources for Docker for Codename {{ os_version_codename }}. This file is generated by Ansible using the docker role.
Types: deb
URIs: {{ docker_mirror }}
Suites: {{ os_version_codename }}
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc