75 lines
1.8 KiB
YAML
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
|