From 59687fb581e70a644375641a7275df3392198399 Mon Sep 17 00:00:00 2001 From: Markus Opolka Date: Fri, 27 Jul 2018 13:59:38 +0200 Subject: [PATCH] Remove symlinks to entrypoints - didn't work on DockerHub --- apache/entrypoint.sh | 80 +++++++++++++++++++++++++++++++++++++++++++- entrypoint.sh | 79 ------------------------------------------- fpm/entrypoint.sh | 80 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 158 insertions(+), 81 deletions(-) mode change 120000 => 100755 apache/entrypoint.sh delete mode 100755 entrypoint.sh mode change 120000 => 100755 fpm/entrypoint.sh diff --git a/apache/entrypoint.sh b/apache/entrypoint.sh deleted file mode 120000 index 219ebb2..0000000 --- a/apache/entrypoint.sh +++ /dev/null @@ -1 +0,0 @@ -../entrypoint.sh \ No newline at end of file diff --git a/apache/entrypoint.sh b/apache/entrypoint.sh new file mode 100755 index 0000000..2449d1e --- /dev/null +++ b/apache/entrypoint.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +set -e + +DB_TYPE=${DB_TYPE:-'mysql'} +DB_HOST=${DB_HOST:-'mysql'} +DB_PORT=${DB_PORT:-'3306'} +DB_NAME=${DB_NAME:-'limesurvey'} +DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} +DB_USERNAME=${DB_USERNAME:-'limesurvey'} +DB_PASSWORD=${DB_PASSWORD:-} + +ADMIN_USER=${ADMIN_USER:-'admin'} +ADMIN_NAME=${ADMIN_NAME:-'admin'} +ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} +ADMIN_PASSWORD=${ADMIN_PASSWORD:-'-'} + +PUBLIC_URL=${PUBLIC_URL:-} +URL_FORMAT=${URL_FORMAT:-'path'} + + +# Check if DB_PASSWORD is set +if [ -z "$DB_PASSWORD" ]; then + echo >&2 'Error: Missing DB_PASSWORD' + exit 1 +fi + +# Check if DB_PASSWORD is set +if [ -z "$ADMIN_PASSWORD" ]; then + echo >&2 'Error: Missing ADMIN_PASSWORD' + exit 1 +fi + +# Check if already provisioned +if [ -f application/config/config.php ]; then + echo 'Info: config.php already provisioned' +else + echo 'Info: Generating config.php' + + if [ "$DB_TYPE" = 'mysql' ]; then + echo 'Info: Using MySQL configuration' + DB_CHARSET=${DB_CHARSET:-'utf8mb4'} + cp application/config/config-sample-mysql.php application/config/config.php + fi + + if [ "$DB_TYPE" = 'postgresql' ]; then + echo 'Info: Using PostgreSQL configuration' + DB_CHARSET=${DB_CHARSET:-'utf8'} + cp application/config/config-sample-pgsql.php application/config/config.php + 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 + 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 + sed -i "s#\('tablePrefix' => \).*,\$#\\1'${DB_TABLE_PREFIX}',#g" application/config/config.php + + # Set URL config + sed -i "s#\('urlFormat' => \).*,\$#\\1'${URL_FORMAT}',#g" application/config/config.php + + # Set Public URL + if [ -z "$PUBLIC_URL" ]; then + echo 'Info: Setting PublicURL' + sed -i "s#\('debug'=>0,\)\$#'publicurl'=>'${PUBLIC_URL}',\n\t\t\\1 #g" application/config/config.php + fi +fi + +until nc -z -v -w30 $DB_HOST $DB_PORT +do + echo "Info: Waiting for database connection..." + sleep 5 +done + +echo 'Running console.php install' +# Hint: The console.php script seems to always exit with 1, so that is why +php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL || true + +exec "$@" diff --git a/entrypoint.sh b/entrypoint.sh deleted file mode 100755 index 2449d1e..0000000 --- a/entrypoint.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash - -set -e - -DB_TYPE=${DB_TYPE:-'mysql'} -DB_HOST=${DB_HOST:-'mysql'} -DB_PORT=${DB_PORT:-'3306'} -DB_NAME=${DB_NAME:-'limesurvey'} -DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} -DB_USERNAME=${DB_USERNAME:-'limesurvey'} -DB_PASSWORD=${DB_PASSWORD:-} - -ADMIN_USER=${ADMIN_USER:-'admin'} -ADMIN_NAME=${ADMIN_NAME:-'admin'} -ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} -ADMIN_PASSWORD=${ADMIN_PASSWORD:-'-'} - -PUBLIC_URL=${PUBLIC_URL:-} -URL_FORMAT=${URL_FORMAT:-'path'} - - -# Check if DB_PASSWORD is set -if [ -z "$DB_PASSWORD" ]; then - echo >&2 'Error: Missing DB_PASSWORD' - exit 1 -fi - -# Check if DB_PASSWORD is set -if [ -z "$ADMIN_PASSWORD" ]; then - echo >&2 'Error: Missing ADMIN_PASSWORD' - exit 1 -fi - -# Check if already provisioned -if [ -f application/config/config.php ]; then - echo 'Info: config.php already provisioned' -else - echo 'Info: Generating config.php' - - if [ "$DB_TYPE" = 'mysql' ]; then - echo 'Info: Using MySQL configuration' - DB_CHARSET=${DB_CHARSET:-'utf8mb4'} - cp application/config/config-sample-mysql.php application/config/config.php - fi - - if [ "$DB_TYPE" = 'postgresql' ]; then - echo 'Info: Using PostgreSQL configuration' - DB_CHARSET=${DB_CHARSET:-'utf8'} - cp application/config/config-sample-pgsql.php application/config/config.php - 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 - 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 - sed -i "s#\('tablePrefix' => \).*,\$#\\1'${DB_TABLE_PREFIX}',#g" application/config/config.php - - # Set URL config - sed -i "s#\('urlFormat' => \).*,\$#\\1'${URL_FORMAT}',#g" application/config/config.php - - # Set Public URL - if [ -z "$PUBLIC_URL" ]; then - echo 'Info: Setting PublicURL' - sed -i "s#\('debug'=>0,\)\$#'publicurl'=>'${PUBLIC_URL}',\n\t\t\\1 #g" application/config/config.php - fi -fi - -until nc -z -v -w30 $DB_HOST $DB_PORT -do - echo "Info: Waiting for database connection..." - sleep 5 -done - -echo 'Running console.php install' -# Hint: The console.php script seems to always exit with 1, so that is why -php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL || true - -exec "$@" diff --git a/fpm/entrypoint.sh b/fpm/entrypoint.sh deleted file mode 120000 index 219ebb2..0000000 --- a/fpm/entrypoint.sh +++ /dev/null @@ -1 +0,0 @@ -../entrypoint.sh \ No newline at end of file diff --git a/fpm/entrypoint.sh b/fpm/entrypoint.sh new file mode 100755 index 0000000..2449d1e --- /dev/null +++ b/fpm/entrypoint.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +set -e + +DB_TYPE=${DB_TYPE:-'mysql'} +DB_HOST=${DB_HOST:-'mysql'} +DB_PORT=${DB_PORT:-'3306'} +DB_NAME=${DB_NAME:-'limesurvey'} +DB_TABLE_PREFIX=${DB_TABLE_PREFIX:-'lime_'} +DB_USERNAME=${DB_USERNAME:-'limesurvey'} +DB_PASSWORD=${DB_PASSWORD:-} + +ADMIN_USER=${ADMIN_USER:-'admin'} +ADMIN_NAME=${ADMIN_NAME:-'admin'} +ADMIN_EMAIL=${ADMIN_EMAIL:-'foobar@example.com'} +ADMIN_PASSWORD=${ADMIN_PASSWORD:-'-'} + +PUBLIC_URL=${PUBLIC_URL:-} +URL_FORMAT=${URL_FORMAT:-'path'} + + +# Check if DB_PASSWORD is set +if [ -z "$DB_PASSWORD" ]; then + echo >&2 'Error: Missing DB_PASSWORD' + exit 1 +fi + +# Check if DB_PASSWORD is set +if [ -z "$ADMIN_PASSWORD" ]; then + echo >&2 'Error: Missing ADMIN_PASSWORD' + exit 1 +fi + +# Check if already provisioned +if [ -f application/config/config.php ]; then + echo 'Info: config.php already provisioned' +else + echo 'Info: Generating config.php' + + if [ "$DB_TYPE" = 'mysql' ]; then + echo 'Info: Using MySQL configuration' + DB_CHARSET=${DB_CHARSET:-'utf8mb4'} + cp application/config/config-sample-mysql.php application/config/config.php + fi + + if [ "$DB_TYPE" = 'postgresql' ]; then + echo 'Info: Using PostgreSQL configuration' + DB_CHARSET=${DB_CHARSET:-'utf8'} + cp application/config/config-sample-pgsql.php application/config/config.php + 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 + 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 + sed -i "s#\('tablePrefix' => \).*,\$#\\1'${DB_TABLE_PREFIX}',#g" application/config/config.php + + # Set URL config + sed -i "s#\('urlFormat' => \).*,\$#\\1'${URL_FORMAT}',#g" application/config/config.php + + # Set Public URL + if [ -z "$PUBLIC_URL" ]; then + echo 'Info: Setting PublicURL' + sed -i "s#\('debug'=>0,\)\$#'publicurl'=>'${PUBLIC_URL}',\n\t\t\\1 #g" application/config/config.php + fi +fi + +until nc -z -v -w30 $DB_HOST $DB_PORT +do + echo "Info: Waiting for database connection..." + sleep 5 +done + +echo 'Running console.php install' +# Hint: The console.php script seems to always exit with 1, so that is why +php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL || true + +exec "$@"