Alex Trofimov 6 лет назад
Родитель
Сommit
ae04bb6607
1 измененных файлов с 23 добавлено и 18 удалено
  1. 23 18
      docker-entrypoint.sh

+ 23 - 18
docker-entrypoint.sh

@@ -2,7 +2,6 @@
 set -euox pipefail
 
 # TODO: escape vars
-# TODO: ability to restore from backup
 
 UNA_USER="www-una"
 
@@ -20,15 +19,21 @@ VAR_DEF_VERSION="11.0.3"
 VAR_DEF_ZIP_DOWNLOAD_URL="http://ci.una.io/builds/UNA-v.${UNA_VERSION:-$VAR_DEF_VERSION}.zip"
 VAR_DEF_ZIP_FOLDER="UNA-v.${UNA_VERSION:-$VAR_DEF_VERSION}"
 
+# function
+
+qs() { 
+    echo ${1@Q}
+}
+
 # Unzip
 
 if [ ! -e "index.php" ] && [ ! -e "inc/version.inc.php" ]; then
-    su $UNA_USER -c "curl -fSL ${UNA_ZIP_DOWNLOAD_URL:-$VAR_DEF_ZIP_DOWNLOAD_URL} -o una.zip"
+    su $UNA_USER -c "curl -fSL $(qs ${UNA_ZIP_DOWNLOAD_URL:-$VAR_DEF_ZIP_DOWNLOAD_URL}) -o una.zip"
     su $UNA_USER -c "unzip -o una.zip"
     su $UNA_USER -c "rm una.zip"
-    su $UNA_USER -c "mv ${UNA_ZIP_FOLDER:-$VAR_DEF_ZIP_FOLDER}/* ."
-    su $UNA_USER -c "mv ${UNA_ZIP_FOLDER:-$VAR_DEF_ZIP_FOLDER}/.htaccess ."
-    su $UNA_USER -c "rm -rf ${UNA_ZIP_FOLDER:-$VAR_DEF_ZIP_FOLDER}"
+    su $UNA_USER -c "mv $(qs ${UNA_ZIP_FOLDER:-$VAR_DEF_ZIP_FOLDER})/* ."
+    su $UNA_USER -c "mv $(qs ${UNA_ZIP_FOLDER:-$VAR_DEF_ZIP_FOLDER}/.htaccess) ."
+    su $UNA_USER -c "rm -rf $(qs ${UNA_ZIP_FOLDER:-$VAR_DEF_ZIP_FOLDER})"
 fi
 
 # Clean folders
@@ -44,21 +49,21 @@ find . -exec chown $UNA_USER:$UNA_USER {} \+
 
 if [ -d "install" ] && [ ! -f "inc/header.inc.php" ]; then
     su $UNA_USER -c "php ./install/cmd.php \
-        --db_host='${UNA_DB_HOST:-$VAR_DEF_DB_HOST}' \
-        --db_port='${UNA_DB_PORT:-$VAR_DEF_DB_PORT}' \
-        --db_sock='${UNA_DB_SOCK:-}' \
-        --db_name='${UNA_DB_NAME}' \
-        --db_user='${UNA_DB_USER:-$VAR_DEF_DB_USER}' \
-        --db_password='${UNA_DB_PWD:-$VAR_DEF_DB_PWD}' \
-        --server_http_host='${UNA_HTTP_HOST:-$VAR_DEF_HTTP_HOST}' \
+        --db_host=$(qs ${UNA_DB_HOST:-$VAR_DEF_DB_HOST}) \
+        --db_port=$(qs ${UNA_DB_PORT:-$VAR_DEF_DB_PORT}) \
+        --db_sock=$(qs ${UNA_DB_SOCK:-}) \
+        --db_name=$(qs ${UNA_DB_NAME}) \
+        --db_user=$(qs ${UNA_DB_USER:-$VAR_DEF_DB_USER}) \
+        --db_password=$(qs ${UNA_DB_PWD:-$VAR_DEF_DB_PWD}) \
+        --server_http_host=$(qs ${UNA_HTTP_HOST:-$VAR_DEF_HTTP_HOST}) \
         --server_php_self='/install/index.php' \
         --server_doc_root='/var/www/html/' \
-        --site_title='${UNA_SITE_TITLE:-$VAR_DEF_TITLE}' \
-        --site_email='${UNA_SITE_EMAIL:-$VAR_DEF_EMAIL}' \
-        --admin_username='${UNA_ADMIN_USERNAME:-$VAR_DEF_USERNAME}' \
-        --admin_email='${UNA_ADMIN_EMAIL:-$VAR_DEF_EMAIL}' \
-        --admin_password='${UNA_ADMIN_PWD:-$VAR_DEF_ADMIN_PWD}' \
-        --oauth_key='${UNA_KEY:-}' --oauth_secret='${UNA_SECRET:-}'"
+        --site_title=$(qs ${UNA_SITE_TITLE:-$VAR_DEF_TITLE}) \
+        --site_email=$(qs ${UNA_SITE_EMAIL:-$VAR_DEF_EMAIL}) \
+        --admin_username=$(qs ${UNA_ADMIN_USERNAME:-$VAR_DEF_USERNAME}) \
+        --admin_email=$(qs ${UNA_ADMIN_EMAIL:-$VAR_DEF_EMAIL}) \
+        --admin_password=$(qs ${UNA_ADMIN_PWD:-$VAR_DEF_ADMIN_PWD}) \
+        --oauth_key=$(qs ${UNA_KEY:-}) --oauth_secret=$(qs ${UNA_SECRET:-})"
 
     rm -rf ./install
 fi