ansible-role-traefik-docker/tasks/main.yml

75 lines
1.8 KiB
YAML

---
# tasks file for traefik
- name: Ensure traefik config directory exists
file:
path: /home/{{ docker_user }}/traefik
state: directory
owner: '{{ docker_user }}'
group: '{{ docker_user }}'
tags: config
- name: Ensure traefik rules directory exists
file:
path: /home/{{ docker_user }}/traefik/rules
state: directory
owner: '{{ docker_user }}'
group: '{{ docker_user }}'
tags: config
- name: Provide TLS default options
template:
src: templates/t2-rules-tls-options.toml.j2
dest: /home/{{ docker_user }}/traefik/rules/tls-options.toml
owner: "{{ docker_user }}"
group: "{{ docker_user }}"
mode: '0644'
tags: config
- name: Provide docker-compose.yml
template:
src: templates/docker-compose.traefik.yml.j2
dest: /home/{{ docker_user }}/traefik/docker-compose.yml
owner: "{{ docker_user }}"
group: "{{ docker_user }}"
mode: '0644'
tags: config
- name: Provide traefik.toml
template:
src: templates/traefik.toml.j2
dest: /home/{{ docker_user }}/traefik/traefik.toml
owner: "{{ docker_user }}"
group: "{{ docker_user }}"
mode: '0644'
tags: config
- name: Configure SSL
copy:
content: ""
force: no
dest: /home/{{ docker_user }}/traefik/acme.json
mode: 0600
tags: config
- name: "docker-compose: Teardown existing Traefik service (only removes the containers)"
docker_compose:
project_src: "/home/{{ docker_user }}/traefik/"
state: absent
tags: ['never', 'teardown']
- name: "docker-compose: Start Traefik service"
docker_compose:
project_src: "/home/{{ docker_user }}/traefik/"
register: output
tags: service_start
- debug:
var: output
- name: "Waiting for Traefik service (443/TLS) to become available"
become: false
wait_for:
host: "{{ ansible_ssh_host }}"
port: 443
delegate_to: localhost