2023-05-15 10:53:53 +02:00
|
|
|
# traefik.toml static config file template
|
|
|
|
|
# dynamic config (e.g. TLS) goes in traefik-dynamic.toml.tpl
|
|
|
|
|
|
|
|
|
|
# enable API
|
|
|
|
|
[api]
|
|
|
|
|
|
|
|
|
|
[log]
|
|
|
|
|
level = "INFO"
|
2018-07-21 00:20:29 -07:00
|
|
|
|
|
|
|
|
# log errors, which could be proxy errors
|
|
|
|
|
[accessLog]
|
|
|
|
|
format = "json"
|
2023-05-15 10:53:53 +02:00
|
|
|
|
2018-07-21 00:20:29 -07:00
|
|
|
[accessLog.filters]
|
2018-07-30 15:40:10 +02:00
|
|
|
statusCodes = ["500-999"]
|
|
|
|
|
|
|
|
|
|
[accessLog.fields.headers.names]
|
|
|
|
|
Authorization = "redact"
|
|
|
|
|
Cookie = "redact"
|
|
|
|
|
Set-Cookie = "redact"
|
|
|
|
|
X-Xsrftoken = "redact"
|
2018-07-21 00:20:29 -07:00
|
|
|
|
|
|
|
|
[entryPoints]
|
|
|
|
|
[entryPoints.http]
|
2023-05-15 10:53:53 +02:00
|
|
|
address = ":{{ http['port'] }}"
|
2023-05-18 11:18:09 +02:00
|
|
|
|
2023-05-15 10:53:53 +02:00
|
|
|
[entryPoints.http.transport.respondingTimeouts]
|
|
|
|
|
idleTimeout = "10m"
|
2018-07-21 00:20:29 -07:00
|
|
|
|
2023-05-18 11:18:09 +02:00
|
|
|
{%- if https['enabled'] %}
|
2023-05-15 10:53:53 +02:00
|
|
|
[entryPoints.http.http.redirections.entryPoint]
|
|
|
|
|
to = "https"
|
|
|
|
|
scheme = "https"
|
|
|
|
|
|
2018-07-21 00:20:29 -07:00
|
|
|
[entryPoints.https]
|
2023-05-15 10:53:53 +02:00
|
|
|
address = ":{{ https['port'] }}"
|
2023-05-18 11:18:09 +02:00
|
|
|
|
2023-05-15 10:53:53 +02:00
|
|
|
[entryPoints.https.http.tls]
|
|
|
|
|
options = "default"
|
2019-01-22 16:24:38 +02:00
|
|
|
|
2023-05-15 10:53:53 +02:00
|
|
|
[entryPoints.https.transport.respondingTimeouts]
|
|
|
|
|
idleTimeout = "10m"
|
2023-05-18 11:18:09 +02:00
|
|
|
{%- endif %}
|
2019-01-22 16:24:38 +02:00
|
|
|
|
2023-05-15 10:53:53 +02:00
|
|
|
[entryPoints.auth_api]
|
|
|
|
|
address = "localhost:{{ traefik_api['port'] }}"
|
2018-07-21 00:20:29 -07:00
|
|
|
|
2023-05-18 11:18:09 +02:00
|
|
|
{%- if https['enabled'] and https['letsencrypt']['email'] and https['letsencrypt']['domains'] %}
|
2023-05-16 13:05:34 +02:00
|
|
|
[certificatesResolvers.letsencrypt.acme]
|
2023-05-15 10:53:53 +02:00
|
|
|
email = "{{ https['letsencrypt']['email'] }}"
|
2018-07-21 00:20:29 -07:00
|
|
|
storage = "acme.json"
|
2023-05-18 11:18:09 +02:00
|
|
|
{%- if https['letsencrypt']['staging'] %}
|
2023-05-16 13:11:04 +02:00
|
|
|
caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
|
|
|
|
|
{%- endif %}
|
2023-05-16 13:05:34 +02:00
|
|
|
[certificatesResolvers.letsencrypt.acme.tlsChallenge]
|
2023-05-18 11:18:09 +02:00
|
|
|
{%- endif %}
|
2018-07-21 00:20:29 -07:00
|
|
|
|
2023-05-15 10:53:53 +02:00
|
|
|
[providers]
|
|
|
|
|
providersThrottleDuration = "0s"
|
|
|
|
|
|
|
|
|
|
[providers.file]
|
|
|
|
|
directory = "{{ traefik_dynamic_config_dir }}"
|
2019-01-22 16:24:38 +02:00
|
|
|
watch = true
|