diff --git a/3.0/apache/entrypoint.sh b/3.0/apache/entrypoint.sh index 072db98..41b2708 100755 --- a/3.0/apache/entrypoint.sh +++ b/3.0/apache/entrypoint.sh @@ -44,7 +44,7 @@ fi # Check if database is available if [ -z "$DB_SOCK" ]; then - until nc -z -v -w30 $DB_HOST $DB_PORT + until nc -z -v -w30 "$DB_HOST" "$DB_PORT" do echo "Info: Waiting for database connection..." sleep 5 @@ -67,7 +67,7 @@ else DB_CHARSET=${DB_CHARSET:-'utf8'} fi - if [ ! -z "$DB_SOCK" ]; then + if [ -n "$DB_SOCK" ]; then echo 'Info: Using unix socket' DB_CONNECT='unix_socket' else @@ -127,12 +127,14 @@ fi echo 'Info: Check if database already provisioned. Nevermind the Stack trace.' php application/commands/console.php updatedb -if [ $? -eq 0 ]; then +PHP_UPDATEDB_EXIT_CODE=$? + +if [ $PHP_UPDATEDB_EXIT_CODE -eq 0 ]; then echo 'Info: Database already provisioned' else echo '' echo 'Running console.php install' - php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL + php application/commands/console.php install "$ADMIN_USER" "$ADMIN_PASSWORD" "$ADMIN_NAME" "$ADMIN_EMAIL" fi exec "$@" diff --git a/3.0/fpm-alpine/entrypoint.sh b/3.0/fpm-alpine/entrypoint.sh index 900627e..75ad161 100755 --- a/3.0/fpm-alpine/entrypoint.sh +++ b/3.0/fpm-alpine/entrypoint.sh @@ -37,7 +37,7 @@ fi # Check if database is available if [ -z "$DB_SOCK" ]; then - until nc -z -v -w30 $DB_HOST $DB_PORT + until nc -z -v -w30 "$DB_HOST" "$DB_PORT" do echo "Info: Waiting for database connection..." sleep 5 @@ -60,7 +60,7 @@ else DB_CHARSET=${DB_CHARSET:-'utf8'} fi - if [ ! -z "$DB_SOCK" ]; then + if [ -n "$DB_SOCK" ]; then echo 'Info: Using unix socket' DB_CONNECT='unix_socket' else @@ -120,12 +120,14 @@ fi echo 'Info: Check if database already provisioned. Nevermind the Stack trace.' php application/commands/console.php updatedb -if [ $? -eq 0 ]; then +PHP_UPDATEDB_EXIT_CODE=$? + +if [ $PHP_UPDATEDB_EXIT_CODE -eq 0 ]; then echo 'Info: Database already provisioned' else echo '' echo 'Running console.php install' - php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL + php application/commands/console.php install "$ADMIN_USER" "$ADMIN_PASSWORD" "$ADMIN_NAME" "$ADMIN_EMAIL" fi exec "$@" diff --git a/3.0/fpm/entrypoint.sh b/3.0/fpm/entrypoint.sh index 900627e..75ad161 100755 --- a/3.0/fpm/entrypoint.sh +++ b/3.0/fpm/entrypoint.sh @@ -37,7 +37,7 @@ fi # Check if database is available if [ -z "$DB_SOCK" ]; then - until nc -z -v -w30 $DB_HOST $DB_PORT + until nc -z -v -w30 "$DB_HOST" "$DB_PORT" do echo "Info: Waiting for database connection..." sleep 5 @@ -60,7 +60,7 @@ else DB_CHARSET=${DB_CHARSET:-'utf8'} fi - if [ ! -z "$DB_SOCK" ]; then + if [ -n "$DB_SOCK" ]; then echo 'Info: Using unix socket' DB_CONNECT='unix_socket' else @@ -120,12 +120,14 @@ fi echo 'Info: Check if database already provisioned. Nevermind the Stack trace.' php application/commands/console.php updatedb -if [ $? -eq 0 ]; then +PHP_UPDATEDB_EXIT_CODE=$? + +if [ $PHP_UPDATEDB_EXIT_CODE -eq 0 ]; then echo 'Info: Database already provisioned' else echo '' echo 'Running console.php install' - php application/commands/console.php install $ADMIN_USER $ADMIN_PASSWORD $ADMIN_NAME $ADMIN_EMAIL + php application/commands/console.php install "$ADMIN_USER" "$ADMIN_PASSWORD" "$ADMIN_NAME" "$ADMIN_EMAIL" fi exec "$@" diff --git a/4.0/apache/entrypoint.sh b/4.0/apache/entrypoint.sh index 1a65cff..c160d42 100755 --- a/4.0/apache/entrypoint.sh +++ b/4.0/apache/entrypoint.sh @@ -46,7 +46,7 @@ fi # Check if database is available if [ -z "$DB_SOCK" ]; then - until nc -z -v -w30 $DB_HOST $DB_PORT + until nc -z -v -w30 "$DB_HOST" "$DB_PORT" do echo "Info: Waiting for database connection..." sleep 5 @@ -69,7 +69,7 @@ else DB_CHARSET=${DB_CHARSET:-'utf8'} fi - if [ ! -z "$DB_SOCK" ]; then + if [ -n "$DB_SOCK" ]; then echo 'Info: Using unix socket' DB_CONNECT='unix_socket' else @@ -118,7 +118,7 @@ if [ -f application/config/security.php ]; then echo 'Info: security.php already provisioned' else echo 'Info: Creating security.php' - if [ ! -z "$ENCRYPT_KEYPAIR" ]; then + if [ -n "$ENCRYPT_KEYPAIR" ]; then cat < application/config/security.php application/config/security.php application/config/security.php application/config/security.php application/config/security.php application/config/security.php /etc/letsencrypt/options-ssl-nginx.conf /usr/bin/curl -s https://raw.githubusercontent.com/certbot/certbot/master/certbot/certbot/ssl-dhparams.pem > /etc/letsencrypt/ssl-dhparams.pem - /usr/bin/certbot certonly --standalone $names --agree-tos $email + /usr/bin/certbot certonly --standalone "$names" --agree-tos "$email" fi -nginx -g "daemon off;" \ No newline at end of file +nginx -g "daemon off;" diff --git a/upgrade.sh b/upgrade.sh index 1c8732b..6752903 100755 --- a/upgrade.sh +++ b/upgrade.sh @@ -11,12 +11,14 @@ if [ $# -eq 0 ] fi NEW_VERSION=$1 -MAJOR_VERSION=$(echo $NEW_VERSION | cut -c 1 | awk '{print $1".0"}') -NEW_TAG=$(echo $NEW_VERSION | sed "s/+/-/") +MAJOR_VERSION="${NEW_VERSION%%.*}.0" +NEW_TAG="${NEW_VERSION%+*}-${NEW_VERSION#*+}" -grep -qc $NEW_VERSION $MAJOR_VERSION/apache/Dockerfile $MAJOR_VERSION/fpm/Dockerfile $MAJOR_VERSION/fpm-alpine/Dockerfile +grep -qc "$NEW_VERSION" "$MAJOR_VERSION/apache/Dockerfile" "$MAJOR_VERSION/fpm/Dockerfile" "$MAJOR_VERSION/fpm-alpine/Dockerfile" -if [ $? -eq 0 ] +GREP_NEW_VERSION_EXIT_CODE=$? + +if [ $GREP_NEW_VERSION_EXIT_CODE -eq 0 ] then echo "Already at version ${NEW_VERSION}" exit 0 @@ -28,8 +30,8 @@ wget -P /tmp "https://github.com/LimeSurvey/LimeSurvey/archive/${NEW_VERSION}.ta SHA256_CHECKSUM=$(sha256sum "/tmp/${NEW_VERSION}.tar.gz" | awk '{ print $1 }') # Update lines in the files -sed -r -i -e "s/[0-9]+(\.[0-9]+)+\+[0-9]+/$NEW_VERSION/" $MAJOR_VERSION/apache/Dockerfile $MAJOR_VERSION/fpm/Dockerfile $MAJOR_VERSION/fpm-alpine/Dockerfile -sed -r -i -e "s/[A-Fa-f0-9]{64}/$SHA256_CHECKSUM/" $MAJOR_VERSION/apache/Dockerfile $MAJOR_VERSION/fpm/Dockerfile $MAJOR_VERSION/fpm-alpine/Dockerfile +sed -r -i -e "s/[0-9]+(\.[0-9]+)+\+[0-9]+/$NEW_VERSION/" "$MAJOR_VERSION/apache/Dockerfile" "$MAJOR_VERSION/fpm/Dockerfile" "$MAJOR_VERSION/fpm-alpine/Dockerfile" +sed -r -i -e "s/[A-Fa-f0-9]{64}/$SHA256_CHECKSUM/" "$MAJOR_VERSION/apache/Dockerfile" "$MAJOR_VERSION/fpm/Dockerfile" "$MAJOR_VERSION/fpm-alpine/Dockerfile" # After that, check and commit echo "git add 3.0 ; git commit -m 'Upgrading to LTS Version ${NEW_VERSION}' && git tag ${NEW_TAG}"