Homelab/ansible/playbooks/docker.yml

94 lines
2.4 KiB
YAML

---
# Installation Docker + Docker Compose
# Cible : forgejo, nextcloud, tools (pas gateway)
- name: Installation Docker
hosts: forgejo:nextcloud:tools
become: true
tasks:
- name: Installation des prerequis
ansible.builtin.dnf:
name:
- dnf-utils
- device-mapper-persistent-data
- lvm2
state: present
tags: [docker]
- name: Ajout du repo Docker CE
ansible.builtin.yum_repository:
name: docker-ce
description: Docker CE Stable
baseurl: https://download.docker.com/linux/centos/$releasever/$basearch/stable
gpgcheck: true
gpgkey: https://download.docker.com/linux/centos/gpg
enabled: true
tags: [docker]
- name: Installation Docker CE + Compose plugin
ansible.builtin.dnf:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-compose-plugin
state: present
tags: [docker]
- name: Chargement des modules kernel requis par Docker
community.general.modprobe:
name: "{{ item }}"
state: present
loop:
- overlay
- br_netfilter
tags: [docker]
- name: Persistance des modules kernel au reboot
ansible.builtin.copy:
dest: /etc/modules-load.d/docker.conf
content: |
overlay
br_netfilter
mode: "0644"
tags: [docker]
- name: Parametres sysctl requis par Docker
ansible.posix.sysctl:
name: "{{ item.key }}"
value: "{{ item.value }}"
sysctl_set: true
reload: true
loop:
- { key: "net.bridge.bridge-nf-call-iptables", value: "1" }
- { key: "net.bridge.bridge-nf-call-ip6tables", value: "1" }
- { key: "net.ipv4.ip_forward", value: "1" }
tags: [docker]
- name: Demarrage containerd
ansible.builtin.systemd:
name: containerd
state: started
enabled: true
tags: [docker]
- name: Demarrage et activation Docker
ansible.builtin.systemd:
name: docker
state: started
enabled: true
tags: [docker]
- name: Ajout de {{ admin_user }} au groupe docker
ansible.builtin.user:
name: "{{ admin_user }}"
groups: docker
append: true
tags: [docker]
handlers:
- name: reload firewalld
ansible.builtin.systemd:
name: firewalld
state: reloaded