linderhof/roles/docker/tasks/main.yml

77 lines
1.4 KiB
YAML
Raw Permalink Normal View History

---
- name: Install prerequisite packages
apt:
name:
- ca-certificates
- curl
- gnupg
- lsb-release
state: present
update_cache: true
- name: Add Docker GPG key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add Docker apt repository
apt_repository:
repo: >
deb [arch=amd64]
https://download.docker.com/linux/ubuntu
{{ ansible_facts['distribution_release'] }} stable
state: present
filename: docker
- name: Install Docker engine and compose plugin
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
update_cache: true
- name: Enable and start Docker
systemd:
name: docker
enabled: true
state: started
- name: Ensure Docker config directory
file:
path: /etc/docker
state: directory
mode: '0755'
- name: Configure Docker to use journald
copy:
dest: /etc/docker/daemon.json
content: |
{
"log-driver": "journald"
}
mode: '0644'
notify: restart docker
- name: Add admin user to docker group
user:
name: "{{ admin_user }}"
groups: docker
append: true
# ---- Filesystem layout ----
- name: Create base directory
file:
path: "{{ item }}"
state: directory
owner: root
group: root
mode: "0755"
loop:
- /srv