2020-04-23 20:49:43 +01:00
|
|
|
- name: Create install directory
|
2020-02-02 21:10:29 +00:00
|
|
|
file:
|
2020-03-25 21:27:15 +00:00
|
|
|
path: /opt/traefik
|
2020-02-02 21:10:29 +00:00
|
|
|
state: directory
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Create config directory
|
2020-02-02 21:10:29 +00:00
|
|
|
file:
|
2020-03-25 21:27:15 +00:00
|
|
|
path: /opt/traefik/traefik
|
2020-02-02 21:10:29 +00:00
|
|
|
state: directory
|
|
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Install compose file
|
2020-02-02 21:10:29 +00:00
|
|
|
template:
|
2020-04-23 20:49:43 +01:00
|
|
|
src: files/docker-compose.yml
|
2020-03-25 21:27:15 +00:00
|
|
|
dest: /opt/traefik/docker-compose.yml
|
2020-02-02 21:10:29 +00:00
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
validate: /usr/bin/docker-compose -f %s config
|
|
|
|
register: compose_file
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Install config
|
2020-02-02 21:10:29 +00:00
|
|
|
template:
|
2020-04-23 20:49:43 +01:00
|
|
|
src: files/traefik.yml
|
2020-03-25 21:27:15 +00:00
|
|
|
dest: /opt/traefik/traefik/traefik.yml
|
2020-02-02 21:10:29 +00:00
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
register: config_file
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Install file provider
|
2020-02-02 21:10:29 +00:00
|
|
|
template:
|
2020-04-23 20:49:43 +01:00
|
|
|
src: files/file-provider.yml
|
2020-03-25 21:27:15 +00:00
|
|
|
dest: /opt/traefik/traefik/file-provider.yml
|
2020-02-02 21:10:29 +00:00
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
register: file_provider
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Cycle container
|
2020-02-02 21:10:29 +00:00
|
|
|
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
|