infrastructure/ansible/roles/docker/tasks/traefik.yml

55 lines
1.4 KiB
YAML

- name: Create traefik directory
file:
path: /opt/traefik
state: directory
owner: "{{ docker_user.name }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Create traefik config directory
file:
path: /opt/traefik/traefik
state: directory
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Install traefik compose file
template:
src: files/traefik/docker-compose.yml
dest: /opt/traefik/docker-compose.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
validate: /usr/bin/docker-compose -f %s config
register: compose_file
become: true
- name: Install traefik config
template:
src: files/traefik/traefik.yml
dest: /opt/traefik/traefik/traefik.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
register: config_file
become: true
- name: Install traefik file provider
template:
src: files/traefik/file-provider.yml
dest: /opt/traefik/traefik/file-provider.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
register: file_provider
become: true
- name: Cycle traefik container
docker_compose:
project_src: /opt/traefik
pull: true
remove_orphans: true
remove_volumes: true
state: "{{ item }}"
when: compose_file.changed or config_file.changed or file_provider.changed
loop:
- absent
- present