--- # Edge Traefik Installation Tasks # Sets up Traefik as edge reverse proxy for private network clients - name: Ensure Traefik configuration directory exists file: path: /opt/docker/traefik state: directory mode: '0755' tags: [traefik, edge] - name: Create Let's Encrypt storage directory file: path: /opt/docker/traefik/letsencrypt state: directory mode: '0600' tags: [traefik, edge] - name: Create Traefik log directory file: path: /var/log/traefik state: directory mode: '0755' tags: [traefik, edge] - name: Deploy Traefik static configuration template: src: traefik.yml.j2 dest: /opt/docker/traefik/traefik.yml mode: '0644' notify: Restart Traefik tags: [traefik, edge, config] - name: Deploy Traefik dynamic configuration (routing rules) template: src: dynamic.yml.j2 dest: /opt/docker/traefik/dynamic.yml mode: '0644' notify: Restart Traefik tags: [traefik, edge, config] - name: Deploy Traefik Docker Compose file template: src: docker-compose.yml.j2 dest: /opt/docker/traefik/docker-compose.yml mode: '0644' tags: [traefik, edge] - name: Start Traefik container community.docker.docker_compose_v2: project_src: /opt/docker/traefik state: present tags: [traefik, edge] - name: Wait for Traefik to be ready wait_for: port: 443 delay: 5 timeout: 60 tags: [traefik, edge]