Files
infrastructure/ansible/roles/traefik/tasks/main.yml

65 lines
1.6 KiB
YAML

- name: Create install directory
file:
path: "{{ install_directory }}/traefik"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory}}/traefik/docker-compose.yml"
owner: "{{ docker_user }}"
mode: "{{ docker_compose_file_mask }}"
validate: docker compose -f %s config
become: true
- name: Create config directory
file:
path: "{{ data_dir }}/traefik"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Install config
template:
src: traefik.yml
dest: "{{ data_dir }}/traefik/traefik.yml"
mode: "{{ docker_compose_file_mask }}"
owner: "{{ primary_user }}"
notify: restart traefik
become: true
- name: Create file provider directory
file:
path: "{{ data_dir }}/traefik/conf"
state: directory
mode: "{{ docker_compose_directory_mask }}"
owner: "{{ primary_user }}"
become: true
- name: Install file providers
template:
src: "{{ item }}"
dest: "{{ data_dir }}/traefik/conf/"
mode: "{{ docker_compose_file_mask }}"
owner: "{{ primary_user }}"
with_fileglob:
- "templates/conf/*"
become: true
- name: Create acme storage file
file:
path: "{{ data_dir }}/traefik/acme.json"
state: touch
mode: 0600
become: true
- name: Start docker container
community.docker.docker_compose_v2:
project_src: "{{ install_directory }}/traefik"
pull: always
remove_orphans: yes