diff --git a/templates/Joomla/0/docker-compose.yml b/templates/Joomla/0/docker-compose.yml index d7ca356..e332a0c 100644 --- a/templates/Joomla/0/docker-compose.yml +++ b/templates/Joomla/0/docker-compose.yml @@ -18,22 +18,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Joomla Segment -# traefik.frontend.entryPoints: http,https -# traefik.frontend.headers.forceSTSHeader: true -# traefik.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) -# traefik.frontend.headers.SSLRedirect: true -# traefik.frontend.headers.STSPreload: true -# traefik.frontend.headers.STSSeconds: 15552000 -# traefik.frontend.passHostHeader: true -# traefik.frontend.rule: Host:${TRAEFIK_HOST} -# traefik.port: "80" - ### End Joomla Segment - # Might need to include {{.Environment.Name}} too at some point - traefik.http.routers.{{.Stack.Name}}.rule: "Host('${TRAEFIK_HOST}')" - traefik.http.routers.{{.Stack.Name}}.entrypoints: "https" - traefik.http.routers.{{.Stack.Name}}.tls.certresolver: "letsencrypt" + # 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-http + 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.tls: true + traefik.http.routers.{{.Stack.Name}}-router-https.tls.certresolver: letsencrypt + traefik.http.routers.{{.Stack.Name}}-router-https.middlewares: {{.Stack.Name}}-security + traefik.http.routers.{{.Stack.Name}}-router-https.service: {{.Stack.Name}}-service-http + # 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-http.loadbalancer.passhostheader: true + traefik.http.services.{{.Stack.Name}}-service-http.loadbalancer.server.port: "80" + ### End Traefik Configuration links: - mysql restart: on-failure