mirror of
https://github.com/jupyterhub/the-littlest-jupyterhub.git
synced 2025-12-18 21:54:05 +08:00
74 lines
1.6 KiB
Smarty
74 lines
1.6 KiB
Smarty
# traefik.toml file template
|
|
{% if https['enabled'] %}
|
|
defaultEntryPoints = ["http", "https"]
|
|
{% else %}
|
|
defaultEntryPoints = ["http"]
|
|
{% endif %}
|
|
|
|
logLevel = "INFO"
|
|
# log errors, which could be proxy errors
|
|
[accessLog]
|
|
format = "json"
|
|
[accessLog.filters]
|
|
statusCodes = ["500-999"]
|
|
|
|
[accessLog.fields.headers]
|
|
[accessLog.fields.headers.names]
|
|
Authorization = "redact"
|
|
Cookie = "redact"
|
|
Set-Cookie = "redact"
|
|
X-Xsrftoken = "redact"
|
|
|
|
[respondingTimeouts]
|
|
idleTimeout = "10m0s"
|
|
|
|
[entryPoints]
|
|
[entryPoints.http]
|
|
address = ":{{http['port']}}"
|
|
{% if https['enabled'] %}
|
|
[entryPoints.http.redirect]
|
|
entryPoint = "https"
|
|
{% endif %}
|
|
|
|
{% if https['enabled'] %}
|
|
[entryPoints.https]
|
|
address = ":{{https['port']}}"
|
|
[entryPoints.https.tls]
|
|
{% if https['tls']['cert'] %}
|
|
[[entryPoints.https.tls.certificates]]
|
|
certFile = "{{https['tls']['cert']}}"
|
|
keyFile = "{{https['tls']['key']}}"
|
|
{% endif %}
|
|
{% endif %}
|
|
[entryPoints.auth_api]
|
|
address = "127.0.0.1:{{traefik_api['port']}}"
|
|
[entryPoints.auth_api.whiteList]
|
|
sourceRange = ['{{traefik_api['ip']}}']
|
|
[entryPoints.auth_api.auth.basic]
|
|
users = ['{{ traefik_api['basic_auth'] }}']
|
|
|
|
[wss]
|
|
protocol = "http"
|
|
|
|
[api]
|
|
dashboard = true
|
|
entrypoint = "auth_api"
|
|
|
|
{% if https['enabled'] and https['letsencrypt']['email'] %}
|
|
[acme]
|
|
email = "{{https['letsencrypt']['email']}}"
|
|
storage = "acme.json"
|
|
entryPoint = "https"
|
|
[acme.httpChallenge]
|
|
entryPoint = "http"
|
|
|
|
{% for domain in https['letsencrypt']['domains'] %}
|
|
[[acme.domains]]
|
|
main = "{{domain}}"
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
[file]
|
|
filename = "rules.toml"
|
|
watch = true
|