64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
- name: Docker
|
|
hosts: servers
|
|
tasks:
|
|
- name: Preinstall packages
|
|
ansible.builtin.package:
|
|
name:
|
|
- gpg
|
|
|
|
- name: Key dir
|
|
ansible.builtin.file:
|
|
path: "/etc/apt/keyrings"
|
|
state: directory
|
|
|
|
- name: Add apt key
|
|
ansible.builtin.get_url:
|
|
url: https://download.docker.com/linux/debian/gpg
|
|
dest: /etc/apt/keyrings/docker.asc
|
|
|
|
- name: Add docker repo
|
|
ansible.builtin.apt_repository:
|
|
repo: deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable
|
|
state: present
|
|
|
|
- name: Install packages
|
|
ansible.builtin.package:
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
- docker-buildx-plugin
|
|
- docker-compose-plugin
|
|
|
|
- name: Docker config
|
|
ansible.builtin.copy:
|
|
dest: /etc/docker/daemon.json
|
|
content: |
|
|
{
|
|
"log-driver": "journald"
|
|
}
|
|
notify:
|
|
- Restart docker service
|
|
|
|
- name: Add user to docker group
|
|
ansible.builtin.user:
|
|
name: "{{ user }}"
|
|
groups: docker
|
|
append: true
|
|
|
|
- name: Docker compose dir
|
|
ansible.builtin.file:
|
|
path: "/etc/docker/compose"
|
|
state: directory
|
|
|
|
- name: Docker compose systemd service
|
|
ansible.builtin.template:
|
|
src: docker/compose.service
|
|
dest: "/etc/systemd/system/compose@.service"
|
|
|
|
handlers:
|
|
- name: Restart docker service
|
|
ansible.builtin.service:
|
|
name: "docker"
|
|
state: restarted
|