diff --git a/core/nginx/Dockerfile b/core/nginx/Dockerfile index 37b8580b..8b1a2bae 100644 --- a/core/nginx/Dockerfile +++ b/core/nginx/Dockerfile @@ -14,6 +14,7 @@ COPY *.py / EXPOSE 80/tcp 443/tcp 110/tcp 143/tcp 465/tcp 587/tcp 993/tcp 995/tcp 25/tcp 10025/tcp 10143/tcp VOLUME ["/certs"] +VOLUME ["/overrides"] CMD /start.py diff --git a/core/nginx/conf/nginx.conf b/core/nginx/conf/nginx.conf index eced2c46..5dc4e274 100644 --- a/core/nginx/conf/nginx.conf +++ b/core/nginx/conf/nginx.conf @@ -84,14 +84,19 @@ http { } {% else %} - # Actual logic - {% if WEBMAIL != 'none' %} - {% if WEB_WEBMAIL != '/' %} - location / { - return 301 {{ WEB_WEBMAIL }}; - } - {% endif %} + include /overrides/*.conf; + # Actual logic + + location / { + {% if WEBROOT_REDIRECT and WEB_WEBMAIL != '/' %} + return 301 {{ WEBROOT_REDIRECT }}; + {% else %} + return 404; + {% endif %} + } + + {% if WEBMAIL != 'none' %} location {{ WEB_WEBMAIL }} { {% if WEB_WEBMAIL != '/' %} rewrite ^({{ WEB_WEBMAIL }})$ $1/ permanent; diff --git a/docs/compose/.env b/docs/compose/.env index d517e8bc..73964e3a 100644 --- a/docs/compose/.env +++ b/docs/compose/.env @@ -100,6 +100,9 @@ COMPRESSION_LEVEL= # Web settings ################################### +# Path to redirect / to +WEBROOT_REDIRECT=/webmail + # Path to the admin interface if enabled WEB_ADMIN=/admin diff --git a/docs/compose/docker-compose.yml b/docs/compose/docker-compose.yml index a45e7e10..2bda5f8c 100644 --- a/docs/compose/docker-compose.yml +++ b/docs/compose/docker-compose.yml @@ -29,6 +29,7 @@ services: - "$BIND_ADDRESS6:587:587" volumes: - "$ROOT/certs:/certs" + - "$ROOT/overrides/nginx:/overrides" redis: image: redis:alpine diff --git a/setup/flavors/compose/docker-compose.yml b/setup/flavors/compose/docker-compose.yml index 38322cd3..d173d4cf 100644 --- a/setup/flavors/compose/docker-compose.yml +++ b/setup/flavors/compose/docker-compose.yml @@ -32,7 +32,8 @@ services: {% endfor %} volumes: - "{{ root }}/certs:/certs" - + - "{{ root }}/overrides/nginx:/overrides" + {% if resolver_enabled %} resolver: image: mailu/unbound:{{ version }} diff --git a/setup/flavors/compose/mailu.env b/setup/flavors/compose/mailu.env index 72aa195c..11bdbf70 100644 --- a/setup/flavors/compose/mailu.env +++ b/setup/flavors/compose/mailu.env @@ -111,6 +111,9 @@ COMPRESSION_LEVEL={{ compression_level }} # Web settings ################################### +# Path to redirect / to +WEBROOT_REDIRECT=/webmail + # Path to the admin interface if enabled WEB_ADMIN={{ admin_path }} diff --git a/setup/flavors/stack/docker-compose.yml b/setup/flavors/stack/docker-compose.yml index a083a762..eef8e334 100644 --- a/setup/flavors/stack/docker-compose.yml +++ b/setup/flavors/stack/docker-compose.yml @@ -27,6 +27,7 @@ services: {% endfor %} volumes: - "{{ root }}/certs:/certs" + - "{{ root }}/overrides/nginx:/overrides" deploy: replicas: {{ front_replicas }}