--- # 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: 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 state: touch 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