59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
---
|
|
- name: Create Traefik directories
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
loop:
|
|
- "{{ traefik_dir }}"
|
|
- "{{ traefik_dir }}/data"
|
|
- "{{ traefik_dynamic_dir }}"
|
|
tags: [traefik]
|
|
|
|
- name: Create proxy network
|
|
community.docker.docker_network:
|
|
name: "{{ traefik_network }}"
|
|
state: present
|
|
tags: [traefik, docker]
|
|
|
|
- name: Render Traefik static config
|
|
ansible.builtin.template:
|
|
src: traefik.yml.j2
|
|
dest: "{{ traefik_dir }}/traefik.yml"
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: restart traefik
|
|
tags: [traefik, config]
|
|
|
|
- name: Render Traefik dynamic HTTP config
|
|
ansible.builtin.template:
|
|
src: dynamic-http.yml.j2
|
|
dest: "{{ traefik_dynamic_config_file }}"
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
when: traefik_file_provider_enabled | bool
|
|
notify: restart traefik
|
|
tags: [traefik, config]
|
|
|
|
- name: Deploy Traefik Compose project
|
|
ansible.builtin.include_role:
|
|
name: compose_project
|
|
vars:
|
|
compose_project_dir: "{{ traefik_dir }}"
|
|
compose_project_directories:
|
|
- "{{ traefik_dir }}"
|
|
- "{{ traefik_dir }}/data"
|
|
- "{{ traefik_dynamic_dir }}"
|
|
compose_project_env_template_src: "{{ playbook_dir }}/../roles/traefik/templates/env.j2"
|
|
compose_project_compose_template_src: "{{ playbook_dir }}/../roles/traefik/templates/compose.yaml.j2"
|
|
compose_project_override_template_src: "{{ playbook_dir }}/../roles/traefik/templates/compose.override.yaml.j2"
|
|
compose_project_create_proxy_network: true
|
|
compose_project_proxy_network: "{{ traefik_network }}"
|
|
compose_project_firewall_ports: "{{ traefik_tcp_ports }}"
|
|
compose_project_firewall_enabled: "{{ traefik_publish_entrypoints | bool }}"
|
|
tags: [traefik]
|