28 lines
1 KiB
YAML
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
|