ansible-role-traefik-docker/templates/docker-compose.traefik.yml.j2
2021-11-13 15:45:48 -08:00

39 lines
1 KiB
Django/Jinja

---
version: '3'
networks:
public:
driver: bridge
services:
# Load Balancer / SSL / Web Server
revproxy:
image: traefik:v2.5
restart: unless-stopped
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
- {{ traefik_install_path }}/traefik/traefik.toml:/traefik.toml
- {{ traefik_install_path }}/traefik/acme.json:/acme.json
- {{ traefik_install_path }}/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 %}