Fix: traefik extra containers when many separate instances

This commit is contained in:
mrjk 2022-08-20 03:28:48 -04:00
parent b18329e61a
commit d0e0452e2c
2 changed files with 13 additions and 12 deletions

View File

@ -46,6 +46,7 @@ local global_vars_default(user_data) =
traefik_net_external: true, traefik_net_external: true,
traefik_svc_ident: stack , traefik_svc_ident: stack ,
traefik_svc_port: user_data.app_port , traefik_svc_port: user_data.app_port ,
traefik_svc_group: ns + sep + 'traefik',
traefik_svc_name: null, traefik_svc_name: null,
traefik_svc_domain: null, traefik_svc_domain: null,
@ -97,9 +98,10 @@ local global_vars_override(conf) =
# ------------------------------------- # -------------------------------------
# Base routing # Base routing
local LabelsTraefik(svc, domain, entrypoints, port) = local LabelsTraefik(svc, domain, entrypoints, port, group) =
{ {
["traefik.enable"]: "true", ["traefik.enable"]: "true",
["traefik.group"]: group,
["traefik.http.routers." + svc + ".rule"]: 'Host(`' + domain + '`)', ["traefik.http.routers." + svc + ".rule"]: 'Host(`' + domain + '`)',
["traefik.http.routers." + svc + ".entrypoints"]: entrypoints, ["traefik.http.routers." + svc + ".entrypoints"]: entrypoints,
["traefik.http.routers." + svc + ".service"]: svc, ["traefik.http.routers." + svc + ".service"]: svc,
@ -173,7 +175,8 @@ local docker_transform(conf_raw, docker_data) =
conf.traefik_svc_name, conf.traefik_svc_name,
conf._traefik_svc_domain, conf._traefik_svc_domain,
conf.traefik_svc_entrypoints, conf.traefik_svc_entrypoints,
conf.traefik_svc_port) conf.traefik_svc_port,
conf.traefik_svc_group)
+ LabelsTraefikAuthelia( + LabelsTraefikAuthelia(
conf.traefik_svc_name, conf.traefik_svc_name,
conf.traefik_svc_auth) conf.traefik_svc_auth)

View File

@ -1,16 +1,6 @@
--- ---
version: "3.7" version: "3.7"
x-paasify-tests:
v1: $VAR1
v1: ${VAR2}
v1: ${VAR3:-VAL3}
v2: ${VAR4:-${VAR5:-VAL5 with space}:${VAR6:-VAL6}}
v1: ${VAR6:-${VAR7}}
v1: ${VAR8:-${VAR9:-VAL9}}
services: services:
traefik: traefik:
image: ${app_image} image: ${app_image}
@ -41,6 +31,11 @@ services:
- TRAEFIK_PROVIDERS_DOCKER_SWARMMODE=false - TRAEFIK_PROVIDERS_DOCKER_SWARMMODE=false
- TRAEFIK_PROVIDERS_FILE_DIRECTORY=/etc/traefik - TRAEFIK_PROVIDERS_FILE_DIRECTORY=/etc/traefik
# This will restrict traefik to conatiners having label `proxy.group`
- TRAEFIK_PROVIDERS_DOCKER_CONSTRAINTS=Label(`traefik.group`,`$app_network_name`)
#- TRAEFIK_PROVIDERS_DOCKER_DEFAULTRULE=Host(`{{ .Name }}.{{ index .Labels \"proxy.name\"}}`)
# File provider # File provider
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs #- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
@ -48,6 +43,9 @@ services:
# Entrypoints # Entrypoints
- TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front - TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front
labels:
- traefik.group=$app_network_name
volumes: volumes:
- $app_dir_conf:/etc/traefik - $app_dir_conf:/etc/traefik
- $app_dir_data:/data - $app_dir_data:/data