iac/ansible/roles/traefik/tasks/main.yaml
2025-11-04 11:06:35 +02:00

28 lines
1 KiB
YAML

---
- name: Validate Traefik variables
ansible.builtin.import_tasks: validate.yaml
- name: Create Traefik Docker network
community.docker.docker_network:
name: "{{ traefik_network }}"
driver: bridge
state: present
- name: Deploy Traefik using shared docker_service role
ansible.builtin.include_role:
name: docker_service
vars:
service_name: "traefik"
service_base_path: "{{ traefik_base_path }}"
service_directories:
- { path: "config", mode: "0755" }
- { path: "letsencrypt", mode: "0755" }
- { path: "logs", mode: "0755" }
service_templates:
- { src: "traefik.yml.j2", dest: "traefik.yml", mode: "0644" }
- { src: "dynamic.yml.j2", dest: "config/dynamic.yml", mode: "0644" }
- { src: "docker-compose.yml.j2", dest: "docker-compose.yml", mode: "0644" }
health_check_enabled: true
health_check_host: "{{ wireguard_ip }}" # Dashboard only accessible on WireGuard IP
health_check_port: "{{ traefik_dashboard_port }}"
health_check_delay: 3