diff --git a/.cspell-project-words.txt b/.cspell-project-words.txt index 17ac65c8cb8f37f84bd8e46cccd417376b7eb85b..e1acafe870e1b3fad51fcde9eabfc49405fc28f4 100644 --- a/.cspell-project-words.txt +++ b/.cspell-project-words.txt @@ -78,9 +78,11 @@ projectrootfiles projectrootinvoiceninja projectrootmailpit projectrootredis +publicdomain qtbase recipientallowlist redirectregex +redirectregexpublic relatedprojectdomains remoterepo responseheader diff --git a/templates/docker-compose.yml.twig b/templates/docker-compose.yml.twig index d5d3b8b11a7883e5ab5fe7296842130c0a26bf09..13cbff439738ea329dc6422234d45a7bc4a479e7 100644 --- a/templates/docker-compose.yml.twig +++ b/templates/docker-compose.yml.twig @@ -178,15 +178,19 @@ services: {% if basicauth.enable %} traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-auth.basicauth.users: {{ basicauth.code }} {% endif %} - traefik.http.routers.{{ webserver.type }}-{{ projectname }}.rule: Host(`{{ projectdomain }}`){% for domain in extradomains|default([]) %} || Host(`{{ domain }}`){% endfor %} + traefik.http.routers.{{ webserver.type }}-{{ projectname }}.rule: {% if publicdomain is defined %}Host(`{{ publicdomain }}`) || {% endif %}Host(`{{ projectdomain }}`){% for domain in extradomains|default([]) %} || Host(`{{ domain }}`){% endfor %} {% if drupal.live|default(0) or traefik.usessl %} traefik.http.routers.{{ webserver.type }}-{{ projectname }}.tls: 'true' traefik.http.routers.{{ webserver.type }}-{{ projectname }}.tls.certresolver: lakedrops {% endif %} +{% if publicdomain is defined %} + traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregexpublic.redirectRegex.regex: "^https://{{ projectdomain }}/(.*)" + traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregexpublic.redirectRegex.replacement: "https://{{ publicdomain }}/$${1}" +{% endif %} {% for domain in extradomains|default([]) %} traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.regex: "^https://{{ domain }}/(.*)" - traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.replacement: "https://{{ projectdomain }}/$${1}" + traefik.http.middlewares.{{ webserver.type }}-{{ projectname }}-redirectregex{{ loop.index }}.redirectRegex.replacement: "https://{{ publicdomain|default(projectdomain) }}/$${1}" {% endfor %} {% if varnish.enable %}