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

124 lines
3.1 KiB
YAML
Raw Normal View History

- 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:
path: /opt/traefik/traefik/
state: directory
mode: "{{ docker_compose_directory_mask }}"
owner: "{{ docker_user.name }}"
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 }}"
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 }}"
validate: docker-compose -f %s config
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 }}"
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:
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 }}"
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
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
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-05-29 16:21:47 +01:00
- name: Install gitlab provider
template:
src: files/file-provider-gitlab.yml
dest: /opt/traefik/traefik/conf/gitlab.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
notify: restart traefik
when: traefik_provider_gitlab
become: true
- name: logrotate config
template:
src: files/logrotate.conf
dest: /etc/logrotate.d/traefik
mode: "0600"
become: true
- name: fail2ban
include: fail2ban.yml
when: with_fail2ban
- name: Check for nginx config
stat:
path: /opt/traefik/nginx.conf
register: nginx_file
become: true
- name: Create nginx config, if it doesn't exist already
template:
src: files/nginx.conf
dest: /opt/traefik/nginx.conf
mode: "0600"
when: not nginx_file.stat.exists
notify: restart traefik
become: true