Răsfoiți Sursa

Environment variables as config - https://github.com/unacms/UNA/issues/5479

Aleksandr Trofimov 5 luni în urmă
părinte
comite
882029f381
2 a modificat fișierele cu 34 adăugiri și 1 ștergeri
  1. 33 0
      docker-entrypoint.sh
  2. 1 1
      header.inc.php

+ 33 - 0
docker-entrypoint.sh

@@ -108,6 +108,39 @@ EOF
     a2enconf 99-subfolder
     a2enconf 99-subfolder
 fi
 fi
 
 
+# expand secrets
+
+file_env() {
+    local var="$1"
+    local fileVar="${var}_FILE"
+
+    if [ -n "${!var:-}" ] && [ -n "${!fileVar:-}" ]; then
+        echo "Both $var and $fileVar are set, but are exclusive"
+        exit 1
+    fi
+
+    local val=""
+
+    if [ -n "${!var:-}" ]; then
+        val="${!var}"
+    elif [ -n "${!fileVar:-}" ]; then
+        val="$(< "${!fileVar}")"
+    fi
+
+    if [ -n "$val" ]; then
+        export "$var"="$val"
+    fi
+
+    unset "$fileVar"
+}
+
+file_env UNA_DB_PWD
+file_env UNA_ADMIN_PWD
+file_env UNA_KEY
+file_env UNA_SECRET
+file_env UNA_HASH_SECRET
+file_env UNA_DEBUG_COOKIE
+
 #
 #
 
 
 exec "$@"
 exec "$@"

+ 1 - 1
header.inc.php

@@ -32,7 +32,7 @@ if (isset($_ENV['UNA_DATABASE_PERSISTENT'])) {
 
 
 define('BX_SYSTEM_JAVA', $_ENV['UNA_JAVA_PATH'] ?? '%JAVA_PATH%'); ///< path to java binary
 define('BX_SYSTEM_JAVA', $_ENV['UNA_JAVA_PATH'] ?? '%JAVA_PATH%'); ///< path to java binary
 define('BX_SYSTEM_FFMPEG', $_ENV['UNA_FFMPEG_PATH'] ?? '%FFMPEG_PATH%'); ///< path to ffmpeg binary
 define('BX_SYSTEM_FFMPEG', $_ENV['UNA_FFMPEG_PATH'] ?? '%FFMPEG_PATH%'); ///< path to ffmpeg binary
-define('BX_DOL_SECRET', $_ENV['UNA_SECRET'] ?? '%SECRET%'); ///< secret word
+define('BX_DOL_SECRET', $_ENV['UNA_HASH_SECRET'] ?? '%SECRET%'); ///< secret word
 
 
 define('BX_DB_FULL_VISUAL_PROCESSING', $_ENV['UNA_DEBUG_VISUAL_PROCESSING'] ?? true); ///< upon db error - show error message
 define('BX_DB_FULL_VISUAL_PROCESSING', $_ENV['UNA_DEBUG_VISUAL_PROCESSING'] ?? true); ///< upon db error - show error message
 define('BX_DB_FULL_DEBUG_MODE', $_ENV['UNA_DEBUG_MODE'] ?? false); ///< upon db error - show detailed report (turn off in production mode)
 define('BX_DB_FULL_DEBUG_MODE', $_ENV['UNA_DEBUG_MODE'] ?? false); ///< upon db error - show detailed report (turn off in production mode)