ansible-role-traefik-docker/templates/docker-compose.traefik.yml.j2

39 lines
1 KiB
Django/Jinja

---
version: '3'
networks:
public:
driver: bridge
services:
# Load Balancer / SSL / Web Server
revproxy:
image: traefik:v2.2
restart: always
networks:
- public
ports:
{% if traefik.expose_internally | default(False) %}
- "8181:8080"
{% endif %}
- "80:80"
- "443:443"
{% if traefik.additional_env_vars | default(False) %}
environment:
{% for item in traefik.additional_env_vars | dict2items %}
- {{item.key}}={{item.value}}
{% endfor %}
{% endif %}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/{{ docker_user }}/traefik/traefik.toml:/traefik.toml
- /home/{{ docker_user }}/traefik/acme.json:/acme.json
- /home/{{ docker_user }}/traefik/rules:/rules
{% if traefik.expose_externally | default(False) %}
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.frontend.rule=Host:traefik.{{ traefik_virtual_host }}"
- "traefik.http.protocol=http"
- "traefik.http.port=8080"
{% endif %}