diff --git a/env.sh b/env.sh index 98b57be..b611497 100644 --- a/env.sh +++ b/env.sh @@ -6,31 +6,43 @@ # The directory where the static files are located ROOT_DIR=/usr/share/nginx/html -# Check if .env file exists +# Create env-config.js with the environment variables +echo "window.env = {" > $ROOT_DIR/env-config.js + +# First, check if .env file exists and read from it if [ -f "$ROOT_DIR/.env" ]; then - echo "Loading environment variables..." - - # Create env-config.js with the environment variables - echo "window.env = {" > $ROOT_DIR/env-config.js - + echo "Loading environment variables from .env file..." + # Extract variables starting with VITE_ and add them to env-config.js grep '^VITE_' $ROOT_DIR/.env | while read -r line; do # Split the line into variable name and value var_name=$(echo $line | cut -d '=' -f1) var_value=$(echo $line | cut -d '=' -f2-) - + # Remove VITE_ prefix for the frontend variable name frontend_var_name=$(echo $var_name | sed 's/^VITE_//') - + + # Add the variable to env-config.js + echo " $frontend_var_name: \"$var_value\"," >> $ROOT_DIR/env-config.js + done +else + echo "No .env file found, checking container environment variables..." + + # Fallback to container environment variables + # Loop through all environment variables starting with VITE_ + env | grep '^VITE_' | while IFS='=' read -r var_name var_value; do + # Remove VITE_ prefix for the frontend variable name + frontend_var_name=$(echo $var_name | sed 's/^VITE_//') + # Add the variable to env-config.js echo " $frontend_var_name: \"$var_value\"," >> $ROOT_DIR/env-config.js done - - # Close the JavaScript object - echo "};" >> $ROOT_DIR/env-config.js - - echo "Environment variables loaded successfully." fi +# Close the JavaScript object +echo "};" >> $ROOT_DIR/env-config.js + +echo "Environment variables loaded successfully." + # Execute the command passed to the script (usually start nginx) exec "$@"