37 lines
1.2 KiB
Bash
Raw Normal View History

2025-06-03 16:49:59 +02:00
#!/bin/sh
# Script to dynamically replace environment variables in the static files
# This allows updating env variables without rebuilding the container
# The directory where the static files are located
ROOT_DIR=/usr/share/nginx/html
# Check if .env file exists
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
# 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
# Close the JavaScript object
echo "};" >> $ROOT_DIR/env-config.js
echo "Environment variables loaded successfully."
fi
# Execute the command passed to the script (usually start nginx)
exec "$@"