Files
homelab/ansible/roles/traefik/templates/traefik.yml.j2

69 lines
1.6 KiB
Django/Jinja

# ------------------------------------------------------------------------------
# Traefik Static Configuration
# Managed by Ansible — do not edit manually
# ------------------------------------------------------------------------------
api:
dashboard: {{ traefik_dashboard_enabled | lower }}
insecure: {{ traefik_dashboard_enabled | lower }}
entryPoints:
web:
address: ":{{ traefik_http_port }}"
{% if traefik_tls_enabled and traefik_tls_redirect %}
http:
redirections:
entryPoint:
to: websecure
scheme: https
{% endif %}
websecure:
address: ":{{ traefik_https_port }}"
{% if traefik_tls_enabled %}
http:
tls:
certResolver: {{ traefik_tls_certresolver }}
domains:
- main: "{{ traefik_domain }}"
sans:
- "*.{{ traefik_domain }}"
{% endif %}
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault: false
network: {{ traefik_network }}
file:
directory: /etc/traefik/dynamic
watch: true
{% if traefik_tls_enabled %}
certificatesResolvers:
{{ traefik_tls_certresolver }}:
acme:
email: "{{ traefik_tls_acme_email }}"
storage: /certs/acme.json
dnsChallenge:
provider: {{ traefik_tls_certresolver }}
resolvers:
- "1.1.1.1:53"
- "8.8.8.8:53"
{% endif %}
{% if traefik_accesslog_enabled %}
accessLog:
filePath: /logs/access.log
{% endif %}
{% if traefik_prometheus_enabled %}
metrics:
prometheus:
addEntryPointsLabels: true
addServicesLabels: true
{% endif %}
log:
level: INFO