2023-04-23 20:26:37 +01:00
|
|
|
- name: Include vault
|
|
|
|
include_vars: vault.yml
|
|
|
|
|
2022-01-15 23:44:06 +00:00
|
|
|
- name: Create network
|
|
|
|
docker_network:
|
|
|
|
name: traefik
|
|
|
|
internal: true
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Create install directory
|
2020-02-02 21:10:29 +00:00
|
|
|
file:
|
2020-03-25 21:27:15 +00:00
|
|
|
path: /opt/traefik
|
2020-02-02 21:10:29 +00:00
|
|
|
state: directory
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
mode: "{{ docker_compose_directory_mask }}"
|
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Create config directory
|
2020-02-02 21:10:29 +00:00
|
|
|
file:
|
2020-12-22 15:53:03 +00:00
|
|
|
path: /opt/traefik/traefik/
|
|
|
|
state: directory
|
|
|
|
mode: "{{ docker_compose_directory_mask }}"
|
2022-01-15 23:44:06 +00:00
|
|
|
owner: "{{ docker_user.name }}"
|
2020-12-22 15:53:03 +00:00
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Create file provider directory
|
|
|
|
file:
|
|
|
|
path: /opt/traefik/traefik/conf
|
2020-02-02 21:10:29 +00:00
|
|
|
state: directory
|
|
|
|
mode: "{{ docker_compose_directory_mask }}"
|
2022-01-15 23:44:06 +00:00
|
|
|
owner: "{{ docker_user.name }}"
|
2020-02-02 21:10:29 +00:00
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Install compose file
|
2020-02-02 21:10:29 +00:00
|
|
|
template:
|
2020-04-23 20:49:43 +01:00
|
|
|
src: files/docker-compose.yml
|
2020-03-25 21:27:15 +00:00
|
|
|
dest: /opt/traefik/docker-compose.yml
|
2020-02-02 21:10:29 +00:00
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
2021-02-07 15:59:18 +00:00
|
|
|
validate: docker-compose -f %s config
|
2020-06-28 20:13:12 +01:00
|
|
|
notify: restart traefik
|
2020-02-02 21:10:29 +00:00
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Install config
|
2020-02-02 21:10:29 +00:00
|
|
|
template:
|
2020-04-23 20:49:43 +01:00
|
|
|
src: files/traefik.yml
|
2020-03-25 21:27:15 +00:00
|
|
|
dest: /opt/traefik/traefik/traefik.yml
|
2020-02-02 21:10:29 +00:00
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
2023-10-01 16:25:20 +01:00
|
|
|
lstrip_blocks: true
|
|
|
|
trim_blocks: true
|
2020-06-28 20:13:12 +01:00
|
|
|
notify: restart traefik
|
2020-02-02 21:10:29 +00:00
|
|
|
become: true
|
|
|
|
|
2020-04-23 20:49:43 +01:00
|
|
|
- name: Install file provider
|
2020-02-02 21:10:29 +00:00
|
|
|
template:
|
2020-12-22 15:53:03 +00:00
|
|
|
src: files/file-provider-main.yml
|
|
|
|
dest: /opt/traefik/traefik/conf/main.yml
|
2020-02-02 21:10:29 +00:00
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
2020-06-28 20:13:12 +01:00
|
|
|
notify: restart traefik
|
2020-02-02 21:10:29 +00:00
|
|
|
become: true
|
2021-01-13 22:12:58 +00:00
|
|
|
|
|
|
|
- name: Install homeassistant provider
|
|
|
|
template:
|
|
|
|
src: files/file-provider-homeassistant.yml
|
|
|
|
dest: /opt/traefik/traefik/conf/homeassistant.yml
|
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
notify: restart traefik
|
2021-01-16 23:30:09 +00:00
|
|
|
when: traefik_provider_homeassistant
|
2021-01-13 22:12:58 +00:00
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: Install jellyfin provider
|
|
|
|
template:
|
|
|
|
src: files/file-provider-jellyfin.yml
|
|
|
|
dest: /opt/traefik/traefik/conf/jellyfin.yml
|
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
notify: restart traefik
|
2021-01-16 23:30:09 +00:00
|
|
|
when: traefik_provider_jellyfin
|
2021-01-13 22:12:58 +00:00
|
|
|
become: true
|
2021-01-31 16:52:24 +00:00
|
|
|
|
|
|
|
- name: Install grafana provider
|
|
|
|
template:
|
|
|
|
src: files/file-provider-grafana.yml
|
|
|
|
dest: /opt/traefik/traefik/conf/grafana.yml
|
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
notify: restart traefik
|
|
|
|
when: traefik_provider_grafana
|
|
|
|
become: true
|
2021-03-28 13:05:31 +01:00
|
|
|
|
2023-10-01 16:25:20 +01:00
|
|
|
- name: Install dokku provider
|
|
|
|
template:
|
|
|
|
src: files/file-provider-dokku.yml
|
|
|
|
dest: /opt/traefik/traefik/conf/dokku.yml
|
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
notify: restart traefik
|
|
|
|
when: traefik_provider_dokku
|
|
|
|
become: true
|
|
|
|
|
2024-04-21 18:11:39 +01:00
|
|
|
- name: Install dokku provider
|
|
|
|
template:
|
|
|
|
src: files/file-provider-uptime-kuma.yml
|
|
|
|
dest: /opt/traefik/traefik/conf/uptime-kuma.yml
|
|
|
|
mode: "{{ docker_compose_file_mask }}"
|
|
|
|
owner: "{{ docker_user.name }}"
|
|
|
|
notify: restart traefik
|
|
|
|
when: traefik_provider_uptime_kuma
|
|
|
|
become: true
|
|
|
|
|
2021-03-28 13:05:31 +01:00
|
|
|
- name: logrotate config
|
|
|
|
template:
|
|
|
|
src: files/logrotate.conf
|
|
|
|
dest: /etc/logrotate.d/traefik
|
|
|
|
mode: "0600"
|
|
|
|
become: true
|
|
|
|
|
|
|
|
- name: fail2ban
|
2022-01-22 20:21:32 +00:00
|
|
|
include_tasks: fail2ban.yml
|
2021-03-28 13:05:31 +01:00
|
|
|
when: with_fail2ban
|