diff --git a/.envrc.sample b/.envrc.sample index 296ee43..c868568 100644 --- a/.envrc.sample +++ b/.envrc.sample @@ -1,5 +1,17 @@ -export DOMAIN=traefik.swarm.autonomic.zone -export FILE_PROVIDER_YML_VERSION=v1 -export LETS_ENCRYPT_ENV=staging +export SERVICE=traefik export STACK_NAME=traefik + +export DOMAIN=traefik.example.com +export LETS_ENCRYPT_ENV=production + +# export DASHBOARD_ENABLED=true +# WARN, INFO etc. +export LOG_LEVEL=WARN + export TRAEFIK_YML_VERSION=v1 + +## Enable Keycloak +#export COMPOSE_FILE="compose.yml:compose.keycloak.yml" +#export FILE_PROVIDER_ENABLED=1 +## Options for file-provider / Keycloak SSO +#export FILE_PROVIDER_YML_VERSION=v1 diff --git a/compose.keycloak.yml b/compose.keycloak.yml new file mode 100644 index 0000000..de2f81a --- /dev/null +++ b/compose.keycloak.yml @@ -0,0 +1,18 @@ +--- +version: "3.8" + +services: + traefik: + configs: + - source: file_provider_yml + target: /etc/traefik/file-provider.yml + deploy: + labels: + - "traefik.http.routers.traefik.middlewares=keycloak@file" + environment: + - FILE_PROVIDER_ENABLED + +configs: + file_provider_yml: + name: ${STACK_NAME}_file_provider_yml_${FILE_PROVIDER_YML_VERSION} + file: file-provider.yml diff --git a/compose.yml b/compose.yml index 0962829..a58ac02 100644 --- a/compose.yml +++ b/compose.yml @@ -15,8 +15,6 @@ services: configs: - source: traefik_yml target: /etc/traefik/traefik.yml - - source: file_provider_yml - target: /etc/traefik/file-provider.yml networks: - proxy environment: @@ -39,7 +37,6 @@ services: - "traefik.http.routers.traefik.entrypoints=web-secure" - "traefik.http.routers.traefik.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.traefik.service=api@internal" - - "traefik.http.routers.traefik.middlewares=keycloak@file" networks: proxy: @@ -50,9 +47,6 @@ configs: name: ${STACK_NAME}_traefik_yml_${TRAEFIK_YML_VERSION} file: traefik.yml template_driver: golang - file_provider_yml: - name: ${STACK_NAME}_file_provider_yml_${FILE_PROVIDER_YML_VERSION} - file: file-provider.yml volumes: letsencrypt: diff --git a/traefik.yml b/traefik.yml index 9f13b1d..f08f740 100644 --- a/traefik.yml +++ b/traefik.yml @@ -8,8 +8,10 @@ providers: exposedByDefault: false network: proxy swarmMode: true + {{ if eq (env "FILE_PROVIDER_ENABLED") "1" }} file: filename: /etc/traefik/file-provider.yml + {{ end }} api: dashboard: {{ env "DASHBOARD_ENABLED" }}