57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
---
|
|
- name: Ensure data directories exist
|
|
ansible.builtin.file:
|
|
path: "{{ traefik_container_dir }}/data/{{ item }}"
|
|
state: directory
|
|
mode: '0755'
|
|
loop:
|
|
- "traefik"
|
|
- "certs"
|
|
- "logs"
|
|
- "traefik/config.d"
|
|
become: false
|
|
|
|
- name: Ensure log files exist
|
|
ansible.builtin.file:
|
|
path: "{{ traefik_container_dir }}/data/logs/{{ item }}"
|
|
state: touch
|
|
mode: '0644'
|
|
loop:
|
|
- "traefik.log"
|
|
- "access.log"
|
|
become: false
|
|
|
|
- name: Deploy Traefik configuration files
|
|
ansible.builtin.template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ traefik_container_dir }}/data/{{ item.dest }}"
|
|
mode: '0644'
|
|
loop:
|
|
- { src: 'traefik.yml.j2', dest: 'traefik/traefik.yml' }
|
|
- { src: 'default.yml.j2', dest: 'traefik/config.d/default.yml' }
|
|
- { src: 'hosts.yml.j2', dest: 'traefik/config.d/hosts.yml' }
|
|
become: false
|
|
|
|
- name: Deploy Docker Compose and .env files
|
|
ansible.builtin.template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ traefik_container_dir }}/{{ item.dest }}"
|
|
mode: '0644'
|
|
loop:
|
|
- { src: 'docker-compose.yml.j2', dest: 'docker-compose.yml' }
|
|
- { src: '.env.j2', dest: '.env' }
|
|
become: false
|
|
|
|
- name: Ensure Docker network exists
|
|
community.docker.docker_network:
|
|
name: traefik
|
|
state: present
|
|
docker_host: "unix:///run/user/1000/docker.sock"
|
|
become: false
|
|
|
|
- name: Start Traefik container
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ traefik_container_dir }}"
|
|
pull: always
|
|
docker_host: "unix:///run/user/1000/docker.sock"
|
|
become: false
|