aboutsummaryrefslogtreecommitdiff
path: root/ansible
diff options
context:
space:
mode:
authorclyhtsuriva <aimeric@adjutor.xyz>2025-02-02 14:20:12 +0100
committerclyhtsuriva <aimeric@adjutor.xyz>2025-02-02 14:20:12 +0100
commitaf8b22252f13385b5b874ed0abee9e54b06deb72 (patch)
treedd0be7f882d1c1b8e853a987375580b1c25979fe /ansible
parentee6a3160c66acdd47a5c63ac5a3a9df1904ff666 (diff)
ansible: Installation of docker-ce engine and docker compose plugin
Diffstat (limited to 'ansible')
-rw-r--r--ansible/playbooks/README.md3
-rw-r--r--ansible/playbooks/docker.yml8
-rw-r--r--ansible/roles/docker/defaults/main.yml15
-rw-r--r--ansible/roles/docker/handlers/main.yml7
-rw-r--r--ansible/roles/docker/tasks/main.yml39
5 files changed, 69 insertions, 3 deletions
diff --git a/ansible/playbooks/README.md b/ansible/playbooks/README.md
index 447ab42..1e7e98d 100644
--- a/ansible/playbooks/README.md
+++ b/ansible/playbooks/README.md
@@ -1,6 +1,3 @@
# Ansible Playbooks
This folder contains playbooks for orchestrating tasks.
-
-## Available Playbooks
-- `apt_update.yml`
diff --git a/ansible/playbooks/docker.yml b/ansible/playbooks/docker.yml
new file mode 100644
index 0000000..7988d9c
--- /dev/null
+++ b/ansible/playbooks/docker.yml
@@ -0,0 +1,8 @@
+---
+
+- hosts: all
+ become: true
+ roles:
+ - role: docker
+
+...
diff --git a/ansible/roles/docker/defaults/main.yml b/ansible/roles/docker/defaults/main.yml
new file mode 100644
index 0000000..e4340e4
--- /dev/null
+++ b/ansible/roles/docker/defaults/main.yml
@@ -0,0 +1,15 @@
+---
+docker_repo: "https://download.docker.com/linux/debian"
+docker_gpg_key: "https://download.docker.com/linux/debian/gpg"
+
+docker_packages:
+ - docker-ce
+ - docker-ce-cli
+ - containerd.io
+ - docker-buildx-plugin
+ - docker-compose-plugin
+
+docker_dependencies:
+ - ca-certificates
+ - gpg
+...
diff --git a/ansible/roles/docker/handlers/main.yml b/ansible/roles/docker/handlers/main.yml
new file mode 100644
index 0000000..c0f39d9
--- /dev/null
+++ b/ansible/roles/docker/handlers/main.yml
@@ -0,0 +1,7 @@
+---
+- name: Restart Docker
+ ansible.builtin.systemd:
+ name: docker
+ state: restarted
+ enabled: true
+...
diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml
new file mode 100644
index 0000000..b85e0e1
--- /dev/null
+++ b/ansible/roles/docker/tasks/main.yml
@@ -0,0 +1,39 @@
+---
+- name: Install required dependencies
+ ansible.builtin.apt:
+ name: "{{ docker_dependencies }}"
+ state: present
+ update_cache: true
+
+- name: Ensure /etc/apt/keyrings directory exists
+ ansible.builtin.file:
+ path: /etc/apt/keyrings
+ state: directory
+ mode: '0755'
+
+- name: Download and add Docker GPG key
+ ansible.builtin.get_url:
+ url: "{{ docker_gpg_key_url }}"
+ dest: /etc/apt/keyrings/docker.asc
+ mode: '0644'
+
+- name: Add Docker repository
+ ansible.builtin.apt_repository:
+ repo: >-
+ deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc]
+ {{ docker_repo }} $(lsb_release -cs) stable
+ state: present
+ filename: docker
+
+- name: Install Docker packages
+ ansible.builtin.apt:
+ name: "{{ docker_packages }}"
+ state: present
+ update_cache: true
+
+- name: Ensure Docker service is started and enabled
+ ansible.builtin.systemd:
+ name: docker
+ state: started
+ enabled: true
+...