diff --git a/README.md b/README.md index 6afaf9b..fd51e33 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ To change to LimeSurvey configuration, you can mount a Volume into the Container | DB_TYPE | Database Type to use. mysql or pgsql | | DB_HOST | Database server hostname | | DB_PORT | Database server port | +| DB_SOCK | Database unix socket instead of host/port | | DB_NAME | Database name | | DB_TABLE_PREFIX | Database table prefix | | DB_USERNAME | Database user | diff --git a/apache/entrypoint.sh b/apache/entrypoint.sh index 9f2162f..7467dce 100755 --- a/apache/entrypoint.sh +++ b/apache/entrypoint.sh @@ -46,7 +46,14 @@ else fi # Set Database config - sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php + if [ ! -z "$DB_SOCK" ]; then + echo 'Info: Using unix socket' + sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:unix_socket=${DB_SOCK};dbname=${DB_NAME};',#g" application/config/config.php + else + echo 'Info: Using TCP connection' + sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php + fi + sed -i "s#\('username' => \).*,\$#\\1'${DB_USERNAME}',#g" application/config/config.php sed -i "s#\('password' => \).*,\$#\\1'${DB_PASSWORD}',#g" application/config/config.php sed -i "s#\('charset' => \).*,\$#\\1'${DB_CHARSET}',#g" application/config/config.php diff --git a/fpm-alpine/entrypoint.sh b/fpm-alpine/entrypoint.sh index 3a712f0..508e19a 100755 --- a/fpm-alpine/entrypoint.sh +++ b/fpm-alpine/entrypoint.sh @@ -46,7 +46,14 @@ else fi # Set Database config - sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php + if [ ! -z "$DB_SOCK" ]; then + echo 'Info: Using unix socket' + sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:unix_socket=${DB_SOCK};dbname=${DB_NAME};',#g" application/config/config.php + else + echo 'Info: Using TCP connection' + sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php + fi + sed -i "s#\('username' => \).*,\$#\\1'${DB_USERNAME}',#g" application/config/config.php sed -i "s#\('password' => \).*,\$#\\1'${DB_PASSWORD}',#g" application/config/config.php sed -i "s#\('charset' => \).*,\$#\\1'${DB_CHARSET}',#g" application/config/config.php diff --git a/fpm/entrypoint.sh b/fpm/entrypoint.sh index 9f2162f..7467dce 100755 --- a/fpm/entrypoint.sh +++ b/fpm/entrypoint.sh @@ -46,7 +46,14 @@ else fi # Set Database config - sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php + if [ ! -z "$DB_SOCK" ]; then + echo 'Info: Using unix socket' + sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:unix_socket=${DB_SOCK};dbname=${DB_NAME};',#g" application/config/config.php + else + echo 'Info: Using TCP connection' + sed -i "s#\('connectionString' => \).*,\$#\\1'${DB_TYPE}:host=${DB_HOST};port=${DB_PORT};dbname=${DB_NAME};',#g" application/config/config.php + fi + sed -i "s#\('username' => \).*,\$#\\1'${DB_USERNAME}',#g" application/config/config.php sed -i "s#\('password' => \).*,\$#\\1'${DB_PASSWORD}',#g" application/config/config.php sed -i "s#\('charset' => \).*,\$#\\1'${DB_CHARSET}',#g" application/config/config.php