From a270e378a8fda92a9cf3ccc74b30a5b11f687378 Mon Sep 17 00:00:00 2001 From: adns44 Date: Sun, 8 Sep 2024 20:40:28 +0200 Subject: [PATCH] initial commit --- defaults/main.yml | 9 ++++++++ tasks/main.yaml | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 defaults/main.yml create mode 100644 tasks/main.yaml diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..a1496af --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,9 @@ +--- +docker_apt_arch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'armhf' if ansible_architecture == 'armv7l' else 'amd64' }}" +docker_apt_repository: "deb [arch={{ docker_apt_arch }} \ + signed-by=/etc/apt/keyrings/docker.asc] \ + https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable" +docker_apt_gpg_key: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg" +docker_user: "" +docker_daemon_options: {} +ansible_become: true diff --git a/tasks/main.yaml b/tasks/main.yaml new file mode 100644 index 0000000..a5d2e33 --- /dev/null +++ b/tasks/main.yaml @@ -0,0 +1,53 @@ +--- +- name: Install dependencies + ansible.builtin.apt: + update_cache: true + name: + - apt-transport-https + - ca-certificates + state: present + +- name: Add Docker apt key. + ansible.builtin.get_url: + url: "{{ docker_apt_gpg_key }}" + dest: "/etc/apt/keyrings/docker.asc" + mode: "0644" + +- name: Add Docker repository. + ansible.builtin.apt_repository: + repo: "{{ docker_apt_repository }}" + state: present + filename: "docker" + update_cache: false + +- name: /etc/docker/ directory exists + ansible.builtin.file: + path: /etc/docker + state: directory + mode: "0755" + +- name: Configure Docker daemon (before install to apply network) + ansible.builtin.copy: + content: "{{ docker_daemon_options | to_nice_json }}" + dest: /etc/docker/daemon.json + mode: "0644" + +- name: Install docker + compose + ansible.builtin.apt: + update_cache: true + name: + - docker-ce + - docker-compose-plugin + state: present + +- name: Add user(s) to Docker group + ansible.builtin.user: + name: "{{ docker_user }}" + groups: docker + append: true + +- name: Restart docker + ansible.builtin.systemd_service: + name: "docker" + enabled: true + state: restarted