diff options
-rw-r--r-- | ansible/playbooks/README.md | 3 | ||||
-rw-r--r-- | ansible/playbooks/docker.yml | 8 | ||||
-rw-r--r-- | ansible/roles/docker/defaults/main.yml | 15 | ||||
-rw-r--r-- | ansible/roles/docker/handlers/main.yml | 7 | ||||
-rw-r--r-- | ansible/roles/docker/tasks/main.yml | 39 |
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 +... |