From 79047b6ef973c08b9154730388f2a39db3ba696a Mon Sep 17 00:00:00 2001 From: Markus Opolka Date: Thu, 8 Oct 2020 12:19:21 +0200 Subject: [PATCH] Add BASE_URL Parameter to work with a Reverse Proxy --- 3.0/apache/entrypoint.sh | 4 ++++ 3.0/fpm-alpine/entrypoint.sh | 4 ++++ 3.0/fpm/entrypoint.sh | 4 ++++ 4.0/apache/entrypoint.sh | 4 ++++ 4.0/fpm-alpine/entrypoint.sh | 4 ++++ 4.0/fpm/entrypoint.sh | 4 ++++ README.md | 12 ++++++++++++ 7 files changed, 36 insertions(+) diff --git a/3.0/apache/entrypoint.sh b/3.0/apache/entrypoint.sh index 3aea074..02a5149 100755 --- a/3.0/apache/entrypoint.sh +++ b/3.0/apache/entrypoint.sh @@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_PASSWORD=${ADMIN_PASSWORD:-} +BASE_URL=${BASE_URL:-} PUBLIC_URL=${PUBLIC_URL:-} URL_FORMAT=${URL_FORMAT:-'path'} @@ -90,6 +91,9 @@ return array( 'rules' => array(), 'showScriptName' => true, ), + 'request' => array( + 'baseUrl' => '$BASE_URL', + ), ), 'config'=>array( 'publicurl'=>'$PUBLIC_URL', diff --git a/3.0/fpm-alpine/entrypoint.sh b/3.0/fpm-alpine/entrypoint.sh index 3aea074..02a5149 100755 --- a/3.0/fpm-alpine/entrypoint.sh +++ b/3.0/fpm-alpine/entrypoint.sh @@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_PASSWORD=${ADMIN_PASSWORD:-} +BASE_URL=${BASE_URL:-} PUBLIC_URL=${PUBLIC_URL:-} URL_FORMAT=${URL_FORMAT:-'path'} @@ -90,6 +91,9 @@ return array( 'rules' => array(), 'showScriptName' => true, ), + 'request' => array( + 'baseUrl' => '$BASE_URL', + ), ), 'config'=>array( 'publicurl'=>'$PUBLIC_URL', diff --git a/3.0/fpm/entrypoint.sh b/3.0/fpm/entrypoint.sh index 3aea074..02a5149 100755 --- a/3.0/fpm/entrypoint.sh +++ b/3.0/fpm/entrypoint.sh @@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_PASSWORD=${ADMIN_PASSWORD:-} +BASE_URL=${BASE_URL:-} PUBLIC_URL=${PUBLIC_URL:-} URL_FORMAT=${URL_FORMAT:-'path'} @@ -90,6 +91,9 @@ return array( 'rules' => array(), 'showScriptName' => true, ), + 'request' => array( + 'baseUrl' => '$BASE_URL', + ), ), 'config'=>array( 'publicurl'=>'$PUBLIC_URL', diff --git a/4.0/apache/entrypoint.sh b/4.0/apache/entrypoint.sh index 3aea074..02a5149 100755 --- a/4.0/apache/entrypoint.sh +++ b/4.0/apache/entrypoint.sh @@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_PASSWORD=${ADMIN_PASSWORD:-} +BASE_URL=${BASE_URL:-} PUBLIC_URL=${PUBLIC_URL:-} URL_FORMAT=${URL_FORMAT:-'path'} @@ -90,6 +91,9 @@ return array( 'rules' => array(), 'showScriptName' => true, ), + 'request' => array( + 'baseUrl' => '$BASE_URL', + ), ), 'config'=>array( 'publicurl'=>'$PUBLIC_URL', diff --git a/4.0/fpm-alpine/entrypoint.sh b/4.0/fpm-alpine/entrypoint.sh index 3aea074..02a5149 100755 --- a/4.0/fpm-alpine/entrypoint.sh +++ b/4.0/fpm-alpine/entrypoint.sh @@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_PASSWORD=${ADMIN_PASSWORD:-} +BASE_URL=${BASE_URL:-} PUBLIC_URL=${PUBLIC_URL:-} URL_FORMAT=${URL_FORMAT:-'path'} @@ -90,6 +91,9 @@ return array( 'rules' => array(), 'showScriptName' => true, ), + 'request' => array( + 'baseUrl' => '$BASE_URL', + ), ), 'config'=>array( 'publicurl'=>'$PUBLIC_URL', diff --git a/4.0/fpm/entrypoint.sh b/4.0/fpm/entrypoint.sh index 3aea074..02a5149 100755 --- a/4.0/fpm/entrypoint.sh +++ b/4.0/fpm/entrypoint.sh @@ -20,6 +20,7 @@ ADMIN_NAME=${ADMIN_NAME:-'admin'} ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} ADMIN_PASSWORD=${ADMIN_PASSWORD:-} +BASE_URL=${BASE_URL:-} PUBLIC_URL=${PUBLIC_URL:-} URL_FORMAT=${URL_FORMAT:-'path'} @@ -90,6 +91,9 @@ return array( 'rules' => array(), 'showScriptName' => true, ), + 'request' => array( + 'baseUrl' => '$BASE_URL', + ), ), 'config'=>array( 'publicurl'=>'$PUBLIC_URL', diff --git a/README.md b/README.md index ae67f4e..042216b 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,17 @@ To change to LimeSurvey configuration, you can mount a Volume into the Container **Hint**: If this configuration is present before the installation, the LimeSurvey Web Installer will not run automatically. +# Reverse Proxy Configuration + +## Traefik Example + +``` +# BASE_URL = /limesurvey +"traefik.http.routers.limesurvey.rule=PathPrefix(`/limesurvey`)", +"traefik.http.routers.limesurvey.middlewares=strip-limesurvey@docker", +"traefik.http.middlewares.strip-limesurvey.stripprefix.prefixes=/limesurvey", +``` + ## Data Encryption LimeSurvey 4 supports data encryption, this image give you these options: @@ -79,6 +90,7 @@ For further details on the settings see: https://manual.limesurvey.org/Data_encr | ADMIN_EMAIL | Initial LimeSurvey Admin Email | | ADMIN_PASSWORD | Initial LimeSurvey Admin Password | | PUBLIC_URL | Public URL for public scripts | +| BASE_URL | Application Base URL | | URL_FORMAT | URL Format. path or get | | DEBUG | Debug level (0, 1, 2). Default: 0 | | DEBUG_SQL | SQL Debug level (0, 1, 2). Default 0 |