Newer
Older
ansible.builtin.include_vars: "{{ ansible_os_family }}.yml"
ansible.builtin.apt:
name: apt-transport-https
install_recommends: false
state: latest
when: ansible_os_family == "Debian"
- name: Install OS packages
ansible.builtin.package:
name: "{{ packages_to_install }}"
state: latest
async: 120
poll: 10
when: not ansible_check_mode
- name: Check installed OS packages
ansible.builtin.package:
name: "{{ packages_to_install }}"
state: latest
ansible.builtin.file:
name: /etc/docker
state: directory
owner: root
group: root
mode: '0755'
- name: Securize docker daemon
ansible.builtin.template:
src: daemon.json.j2
dest: /etc/docker/daemon.json
owner: root
group: root
mode: '0644'
ansible.builtin.file:
name: /root/.docker
state: directory
owner: root
group: root
mode: '0750'
when: docker_registry_auth is defined
- name: Add specific repo auth
ansible.builtin.copy:
content: "{{ docker_registry_auth }}"
dest: /root/.docker/config.json
owner: root
group: root
mode: '0644'
when: docker_registry_auth is defined
tags:
- "backup_odoo"
ansible.builtin.file:
name: /home/docker/backups
state: directory
owner: root
group: root
mode: '0755'
## Install Proxy docker
- name: Create Inverse Proxy docker structure on server in /home/docker/inverseproxy
ansible.builtin.file:
name: /home/docker/inverseproxy
state: directory
owner: root
group: root
mode: '0755'
tags:
- "docker_proxy"
- "metabase"
ansible.builtin.template:
src: inverseproxy.yaml.j2
dest: /home/docker/inverseproxy/docker-compose.yaml
owner: root
group: root
mode: '0644'
tags:
- "docker_proxy"
- "metabase"
ansible.builtin.template:
src: traefik.toml.j2
dest: "/home/docker/inverseproxy/traefik.toml"
owner: root
group: root
mode: '0644'
tags:
- "docker_proxy"
- "metabase"
- name: Copy Docker Facts Collection script on server
ansible.builtin.template:
src: collect_docker_facts.sh.j2
dest: /root/collect_docker_facts.sh
owner: root
group: root
mode: '0700'
- name: Add cron job to check Docker versions every day
ansible.builtin.cron:
name: collect docker facts
minute: "1"
hour: "2"
job: /root/collect_docker_facts.sh
# Flush handlers in order to be able to restart docker daemon with new config and retrieve vars
- name: Flush handlers
- name: Enable service docker
ansible.builtin.service:
- name: Start service docker, if not started
ansible.builtin.service:
ansible.builtin.command: grep dockremap /etc/subuid
ansible.builtin.command: grep dockremap /etc/subgid
ansible.builtin.lineinfile:
name: "{{ inventory_dir }}/host_vars/{{ inventory_hostname }}"
regexp: "dockremap_subuid:"
line: "dockremap_subuid: {{ dockremap_subuid_output.stdout.split(':')[1] }}"
create: true
mode: '0664'
connection: local
become: false
delegate_to: localhost
when: docker_userns_remap and dockremap_subuid_output.stdout is defined and not ansible_check_mode
ansible.builtin.lineinfile:
name: "{{ inventory_dir }}/host_vars/{{ inventory_hostname }}"
regexp: "dockremap_subgid:"
line: "dockremap_subgid: {{ dockremap_subgid_output.stdout.split(':')[1] }}"
create: true
mode: '0664'
connection: local
become: false
delegate_to: localhost
when: docker_userns_remap and dockremap_subgid_output.stdout is defined and not ansible_check_mode