diff --git a/templates/Adminer/0/docker-compose.yml b/templates/Adminer/0/docker-compose.yml index ad10d88..24f1b93 100644 --- a/templates/Adminer/0/docker-compose.yml +++ b/templates/Adminer/0/docker-compose.yml @@ -27,18 +27,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web 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.STSIncludeSubdomains: true - traefik.frontend.headers.STSPreload: true - traefik.frontend.headers.STSSeconds: 15552000 - traefik.frontend.passHostHeader: true - traefik.frontend.rule: Host:${TRAEFIK_HOST} - traefik.port: "8080" + # 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: "8080" + ### End Traefik Configuration ### End Web Segment restart: on-failure volumes: diff --git a/templates/Ghost/0/docker-compose.yml b/templates/Ghost/0/docker-compose.yml index fb5070e..9cb1dae 100644 --- a/templates/Ghost/0/docker-compose.yml +++ b/templates/Ghost/0/docker-compose.yml @@ -18,18 +18,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web 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: "2368" - ### End Web Segment + # 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: "2368" + ### End Traefik Configuration restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system diff --git a/templates/Gitea/0/docker-compose.yml b/templates/Gitea/0/docker-compose.yml index 4e8807d..2187157 100644 --- a/templates/Gitea/0/docker-compose.yml +++ b/templates/Gitea/0/docker-compose.yml @@ -24,18 +24,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http,https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.passHostHeader: true - traefik.web.frontend.rule: Host:${TRAEFIK_HOST} - traefik.web.port: '3000' - ### End Web Segment + # 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: "3000" + ### End Traefik Configuration links: - postgres restart: on-failure diff --git a/templates/Grav/0/docker-compose.yml b/templates/Grav/0/docker-compose.yml index 21e5340..b7ba6c9 100644 --- a/templates/Grav/0/docker-compose.yml +++ b/templates/Grav/0/docker-compose.yml @@ -13,19 +13,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Grav 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.STSIncludeSubdomains: 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 Grav Segment + # 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 restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system diff --git a/templates/InvoiceNinja/0/docker-compose.yml b/templates/InvoiceNinja/0/docker-compose.yml index 3614256..6cc84f5 100644 --- a/templates/InvoiceNinja/0/docker-compose.yml +++ b/templates/InvoiceNinja/0/docker-compose.yml @@ -86,18 +86,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http,https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.passHostHeader: true - traefik.web.frontend.rule: Host:${TRAEFIK_HOST} - traefik.web.port: "80" - ### End Web Segment + # 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 io.rancher.sidekicks: invoiceninja, cron links: - invoiceninja diff --git a/templates/Jellyfin/0/docker-compose.yml b/templates/Jellyfin/0/docker-compose.yml index 88f3cb9..b18bc2a 100644 --- a/templates/Jellyfin/0/docker-compose.yml +++ b/templates/Jellyfin/0/docker-compose.yml @@ -13,18 +13,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web 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: "8096" - ### End Web Segment + # 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: "8096" + ### End Traefik Configuration restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system diff --git a/templates/Matomo/0/docker-compose.yml b/templates/Matomo/0/docker-compose.yml index 9a99d0b..5bd44ff 100644 --- a/templates/Matomo/0/docker-compose.yml +++ b/templates/Matomo/0/docker-compose.yml @@ -14,18 +14,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web 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 Web Segment + # 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 {{- if eq .Values.REDIS "true"}} diff --git a/templates/Nginx/0/docker-compose.yml b/templates/Nginx/0/docker-compose.yml index 8f0753d..a4a7e63 100644 --- a/templates/Nginx/0/docker-compose.yml +++ b/templates/Nginx/0/docker-compose.yml @@ -14,18 +14,32 @@ services: io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} {{- if .Values.TRAEFIK_HOST}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web 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 Web Segment + # 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 restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system diff --git a/templates/OpenProject/0/docker-compose.yml b/templates/OpenProject/0/docker-compose.yml index b0f6a83..5f7d42d 100644 --- a/templates/OpenProject/0/docker-compose.yml +++ b/templates/OpenProject/0/docker-compose.yml @@ -28,17 +28,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http,https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.passHostHeader: true - traefik.web.frontend.rule: Host:${TRAEFIK_HOST} - traefik.web.port: "80" - ### End Web Segment + # 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: - memcached restart: on-failure diff --git a/templates/PHPMyAdmin/0/docker-compose.yml b/templates/PHPMyAdmin/0/docker-compose.yml index 46c5021..8fb6442 100644 --- a/templates/PHPMyAdmin/0/docker-compose.yml +++ b/templates/PHPMyAdmin/0/docker-compose.yml @@ -27,16 +27,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http,https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.rule: Host:${TRAEFIK_HOST} - traefik.web.port: "80" - ### End Web Segment + # 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 restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system diff --git a/templates/RocketChat/0/docker-compose.yml b/templates/RocketChat/0/docker-compose.yml index 5177752..248c142 100644 --- a/templates/RocketChat/0/docker-compose.yml +++ b/templates/RocketChat/0/docker-compose.yml @@ -20,18 +20,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Hubot Segment - traefik.hubot.frontend.entryPoints: http,https - traefik.hubot.frontend.headers.forceSTSHeader: true - traefik.hubot.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) - traefik.hubot.frontend.headers.SSLRedirect: true - traefik.hubot.frontend.headers.STSPreload: true - traefik.hubot.frontend.headers.STSSeconds: 15552000 - traefik.hubot.frontend.passHostHeader: true - traefik.hubot.frontend.rule: Host:${TRAEFIK_HOST} - traefik.hubot.port: "8080" - ### End Hubot Segment + # 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: "8080" + ### End Traefik Configuration links: - rocketchat:rocketchat volumes: diff --git a/templates/Snipe-IT/0/docker-compose.yml b/templates/Snipe-IT/0/docker-compose.yml index f966a30..bd09c12 100644 --- a/templates/Snipe-IT/0/docker-compose.yml +++ b/templates/Snipe-IT/0/docker-compose.yml @@ -22,18 +22,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http,https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.passHostHeader: true - traefik.web.frontend.rule: Host:${TRAEFIK_HOST} - traefik.web.port: "80" - ### End Web Segment + # 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 diff --git a/templates/Wiki.js-v1/0/docker-compose.yml b/templates/Wiki.js-v1/0/docker-compose.yml index 33c5689..da8056a 100644 --- a/templates/Wiki.js-v1/0/docker-compose.yml +++ b/templates/Wiki.js-v1/0/docker-compose.yml @@ -16,6 +16,7 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + traefik.enable: false restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system @@ -36,18 +37,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http, https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.passHostHeader: true - traefik.web.frontend.rule: "Host:${TRAEFIK_HOST}" - traefik.web.port: "80" - ### End Web Segment + # 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: - mongo restart: on-failure diff --git a/templates/WordPress/0/docker-compose.yml b/templates/WordPress/0/docker-compose.yml index ba5e7cf..aadcf1f 100644 --- a/templates/WordPress/0/docker-compose.yml +++ b/templates/WordPress/0/docker-compose.yml @@ -18,18 +18,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web Segment - traefik.web.frontend.entryPoints: http,https - traefik.web.frontend.headers.forceSTSHeader: true - traefik.web.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information) - traefik.web.frontend.headers.SSLRedirect: true - traefik.web.frontend.headers.STSPreload: true - traefik.web.frontend.headers.STSSeconds: 15552000 - traefik.web.frontend.passHostHeader: true - traefik.web.frontend.rule: Host:${TRAEFIK_HOST} - traefik.web.port: "80" - ### End Web Segment + # 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 @@ -54,6 +68,7 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + traefik.enable: false restart: on-failure volumes: - /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system diff --git a/templates/sysPass/0/docker-compose.yml b/templates/sysPass/0/docker-compose.yml index 1d008a5..c329efa 100644 --- a/templates/sysPass/0/docker-compose.yml +++ b/templates/sysPass/0/docker-compose.yml @@ -13,18 +13,32 @@ services: {{- if .Values.HOST_LABEL}} io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} {{- end}} + ### Begin Traefik Configuration traefik.enable: true - ### Start Web 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 Web Segment + # 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