You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hetzner-ansible/templates/traefik/traefik.toml.j2

123 lines
3.5 KiB
Django/Jinja

[log]
# level = "DEBUG"
format = "json"
[accessLog]
format = "json"
# [accessLog.filters]
# statusCodes = ["200", "300-302"]
# [accessLog.fields]
# defaultMode = "keep"
[accessLog.fields.names]
"StartLocal" = "drop"
# "ClientAddr" = "drop"
# "ClientHost" = "drop"
# "ClientPort" = "drop"
"ClientUsername" = "drop"
[api]
dashboard = true
[metrics]
[metrics.prometheus]
manualRouting = true
addServicesLabels = true
addEntryPointsLabels = true
buckets = [0.1,0.3,1.2,5.0]
entryPoint = "admin-service"
[entryPoints]
### http -> https ###
[entryPoints.web]
address = ":{{ http_port }}"
[entryPoints.web.http.redirections.entryPoint]
to = "websecure"
scheme = "https"
### production service port ###
[entryPoints.websecure]
address = ":{{ https_port }}"
### portainer as a service for the host ###
[entryPoints.service-portainer ]
address = ":{{ service_port_portainer }}"
[entryPoints.service-portainer.http.redirections.entryPoint]
to = "service-portainer"
scheme = "https"
### postgres admin service for the host ###
[entryPoints.admin-postgres]
address = ":{{ service_port_pgadmin }}"
[entryPoints.admin-postgres.http.redirections.entryPoint]
to = "admin-postgres"
scheme = "https"
### mysql admin service for the host ###
[entryPoints.admin-mysql]
address = ":{{ service_port_phpmyadmin }}"
[entryPoints.admin-mysql.http.redirections.entryPoint]
to = "admin-mysql"
scheme = "https"
### traefik admin service for the host ###
[entryPoints.admin-traefik]
address = ":{{ admin_port_traefik }}"
[entryPoints.admin-traefik.http.redirections.entryPoint]
to = "admin-traefik"
scheme = "https"
### system monitoring port - host metrics ###
[entryPoints.monitoring-system]
address = ":{{ monitor_port_system }}"
[entryPoints.monitoring-system.http.redirections.entryPoint]
to = "monitoring-system"
scheme = "https"
### system monitoring port - docker metrics ###
[entryPoints.monitoring-docker]
address = ":{{ monitor_port_docker }}"
[entryPoints.monitoring-docker.http.redirections.entryPoint]
to = "monitoring-docker"
scheme = "https"
### system monitoring port - elastic metrics ###
[entryPoints.monitoring-elastic]
address = ":{{ monitor_port_elastic }}"
[entryPoints.monitoring-elastic.http.redirections.entryPoint]
to = "monitoring-elastic"
scheme = "https"
### service monitoring port - metrics for all served services ###
[entryPoints.admin-service]
address = ":{{ monitor_port_service }}"
[entryPoints.admin-service.http.redirections.entryPoint]
to = "admin-service"
scheme = "https"
[certificatesResolvers.letsencrypt.acme]
email = "{{ lets_encrypt_email }}"
storage = "acme.json"
{% if letsencrypt_caserver_directory_url is defined %}
caserver = "{{ letsencrypt_caserver_directory_url }}"
{% endif %}
[certificatesResolvers.letsencrypt.acme.dnsChallenge]
provider = "digitalocean"
resolvers = ["8.8.8.8:53"]
[certificatesResolvers.letsencrypt-http.acme]
email = "{{ lets_encrypt_email }}"
storage = "acme.json"
{% if letsencrypt_caserver_directory_url is defined %}
caserver = "{{ letsencrypt_caserver_directory_url }}"
{% endif %}
[certificatesResolvers.letsencrypt-http.acme.httpChallenge]
entrypoint = "web"
[providers.docker]
watch = true
network = "front-tier"
exposedByDefault = false
[providers.file]
filename = "traefik_dynamic.toml"