diff --git a/templates/GitLab/0/docker-compose.yml b/templates/GitLab/0/docker-compose.yml index 70fdf91..e81abcc 100644 --- a/templates/GitLab/0/docker-compose.yml +++ b/templates/GitLab/0/docker-compose.yml @@ -21,15 +21,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - traefik.http.routers.gitlab-router.rule: Host(`${TRAEFIK_HOST}`) - traefik.http.routers.gitlab-router.entrypoints: https - traefik.http.routers.gitlab-router.service: gitlab-service - traefik.http.routers.gitlab-router.tls: true - traefik.http.routers.gitlab-router.tls.certresolver: letsencrypt - traefik.http.services.gitlab-service.loadbalancer.server.port: "80" - traefik.http.services.gitlab-service.loadbalancer.server.scheme: http - traefik.http.services.gitlab-service.loadbalancer.passhostheader: true + # Routers + traefik.http.routers.{{.Stack.Name}}-router-http.entrypoints: http + traefik.http.routers.{{.Stack.Name}}-router-http.rule: Host(`${TRAEFIK_HOST}`) + traefik.http.routers.{{.Stack.Name}}-router-http.middlewares: {{.Stack.Name}}-redirectHttp + traefik.http.routers.{{.Stack.Name}}-router-http.service: {{.Stack.Name}}-service + traefik.http.routers.{{.Stack.Name}}-router-https.entrypoints: https + traefik.http.routers.{{.Stack.Name}}-router-https.rule: Host(`${TRAEFIK_HOST}`) + traefik.http.routers.{{.Stack.Name}}-router-https.middlewares: {{.Stack.Name}}-security + traefik.http.routers.{{.Stack.Name}}-router-https.tls: true + traefik.http.routers.{{.Stack.Name}}-router-https.tls.certresolver: letsencrypt + traefik.http.routers.{{.Stack.Name}}-router-https.service: {{.Stack.Name}}-service + # Middlewares + traefik.http.middlewares.{{.Stack.Name}}-redirectHttp.redirectscheme.permanent: true + traefik.http.middlewares.{{.Stack.Name}}-redirectHttp.redirectscheme.scheme: https + traefik.http.middlewares.{{.Stack.Name}}-security.headers.forceSTSHeader: true + traefik.http.middlewares.{{.Stack.Name}}-security.headers.referrerPolicy: no-referrer # Prevents leaking of referer information + traefik.http.middlewares.{{.Stack.Name}}-security.headers.sslredirect: true # Maybe good for redundancy? + traefik.http.middlewares.{{.Stack.Name}}-security.headers.stsIncludeSubdomains: true + traefik.http.middlewares.{{.Stack.Name}}-security.headers.stsPreload: true + traefik.http.middlewares.{{.Stack.Name}}-security.headers.stsSeconds: "15552000" + # Services + traefik.http.services.{{.Stack.Name}}-service.loadbalancer.passhostheader: true + traefik.http.services.{{.Stack.Name}}-service.loadbalancer.server.port: "80" + ### End Traefik Configuration restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system