Added Traefik as public proxy and basic authentication

This commit is contained in:
William Miceli
2018-09-11 10:34:17 -04:00
parent 65378bfd2d
commit 5f4ad6cc82
2 changed files with 40 additions and 8 deletions

View File

@@ -7,14 +7,28 @@ services:
- 1.0.0.1 - 1.0.0.1
environment: environment:
CHE_DNS_RESOLVERS: 1.1.1.1,1.0.0.1 CHE_DNS_RESOLVERS: 1.1.1.1,1.0.0.1
CHE_DOCKER_IP_EXTERNAL: ${HOST_IP} CHE_DOCKER_IP_EXTERNAL: ${TRAEFIK_HOST}
CHE_HOST: ${HOST_IP} CHE_HOST: ${TRAEFIK_HOST}
CHE_IN_VM: true CHE_IN_VM: true
labels: labels:
io.rancher.container.pull_image: always io.rancher.container.pull_image: always
{{- if (.Values.HOST_LABEL)}} {{- if .Values.HOST_LABEL}}
io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL}
{{- end}} {{- end}}
{{- if .Values.TRAEFIK_HOST}}
traefik.enable: true
traefik.port: "80"
{{- if .Values.TRAEFIK_BASIC_AUTH}}
traefik.frontend.auth.basic: ${TRAEFIK_BASIC_AUTH}
{{- end}}
# traefik.frontend.headers.SSLRedirect: true
traefik.frontend.entryPoints: http,https
traefik.frontend.redirect.entryPoint: https
traefik.frontend.redirect.permanent: true
traefik.frontend.rule: Host:${TRAEFIK_HOST}
{{- else}}
traefik.enable: false
{{- end}}
ports: ports:
- "${CHE_PORT}:8080" - "${CHE_PORT}:8080"
restart: on-failure restart: on-failure

View File

@@ -16,14 +16,23 @@ catalog:
required: false required: false
type: string type: string
- variable: "HOST_IP" - variable: "TRAEFIK_HOST"
label: "Host IP Address" label: "Public Host Domain"
description: | description: |
IP of the host system The host that Traefik will use to provide public access.
default: "0.0.0.0" Leaving this empty will disable Traefik on this stack.
required: true default: "subdomain.domain.tld"
required: false
type: string type: string
# - variable: "HOST_IP"
# label: "Host IP Address"
# description: |
# IP of the host system
# default: "0.0.0.0"
# required: true
# type: string
- variable: "CHE_PORT" - variable: "CHE_PORT"
label: "Port Number" label: "Port Number"
description: | description: |
@@ -32,6 +41,15 @@ catalog:
required: true required: true
type: string type: string
- variable: "TRAEFIK_BASIC_AUTH"
label: "Basic Authentication Expression"
description: |
Sets basic authentication for that frontend in CSV format "User:Hash,User:Hash".
Leaving this empty will disable Traefik's Basic Authentication functionality
default: ""
required: false
type: string
- variable: DATA_DIR - variable: DATA_DIR
label: "Data Directory" label: "Data Directory"
description: | description: |