2022-03-09 12:06:45 +01:00

55 lines
1.3 KiB
YAML

---
- name: create directory
file:
path: "{{ www_home }}/traefik"
state: directory
owner: "{{ www_user }}"
group: "{{ www_group }}"
- name: check if acme file exists
stat:
path: "{{ www_home }}/traefik/acme.json"
register: acme_file
- name: create acme file if does not exists
file:
path: "{{ www_home }}/traefik/acme.json"
state: touch
mode: 0600
owner: "{{ www_user }}"
group: "{{ www_group }}"
when: acme_file.stat.exists == False
- name: add config file
template:
src: traefik.yml.j2
dest: "{{ www_home }}/traefik/traefik.yml"
mode: 0600
owner: "{{ www_user }}"
group: "{{ www_group }}"
- name: create network
docker_network:
name: web
- name: create container
docker_container:
name: traefik
image: traefik:2.4
restart_policy: unless-stopped
recreate: true
networks:
- name: web
ports:
- "80:80"
- "443:443"
volumes:
- "{{ www_home }}/traefik/traefik.yml:/etc/traefik/traefik.yml"
- "{{ www_home }}/traefik/acme.json:/acme.json"
- /var/run/docker.sock:/var/run/docker.sock
labels:
traefik.enable: "true"
traefik.http.routers.dashboard.rule: Host(`{{ traefik_dashboard_host }}`)
traefik.http.routers.dashboard.entryPoints: http
traefik.http.routers.dashboard.service: api@internal