safetwitch/substitute_environment_variables.sh

32 lines
No EOL
1 KiB
Bash
Executable file

#!/bin/sh
ROOT_DIR=/app
# Save old variables
# Get old vars
if [ -f .env.old ]; then
export $(echo $(cat .env.old | sed 's/#.*//g'| xargs) | envsubst)
else
export VITE_BACKEND_DOMAIN_PLACEHOLDER=VITE_BACKEND_DOMAIN_PLACEHOLDER
export VITE_INSTANCE_DOMAIN_PLACEHOLDER=VITE_INSTANCE_DOMAIN_PLACEHOLDER
export VITE_HTTPS_PLACEHOLDER=VITE_HTTPS_PLACEHOLDER
fi
echo $VITE_BACKEND_DOMAIN_PLACEHOLDER
# Replace env vars in files served by NGINX
for file in $ROOT_DIR/assets/*.js $ROOT_DIR/index.html;
do
sed -i 's|'${VITE_BACKEND_DOMAIN_PLACEHOLDER}'|'${VITE_BACKEND_DOMAIN}'|g' $file
sed -i 's|'${VITE_INSTANCE_DOMAIN_PLACEHOLDER}'|'${VITE_INSTANCE_DOMAIN}'|g' $file
sed -i 's|'${VITE_HTTPS_PLACEHOLDER}'|'${VITE_HTTPS}'|g' $file
# Your other variables here...
done
# Save old variables
echo -e "VITE_BACKEND_DOMAIN_PLACEHOLDER=${VITE_BACKEND_DOMAIN}" > .env.old
echo -e "VITE_INSTANCE_DOMAIN_PLACEHOLDER=${VITE_INSTANCE_DOMAIN}" >> .env.old
echo -e "VITE_HTTPS_PLACEHOLDER=${VITE_HTTPS}" >> .env.old
# Starting NGINX
nginx -g 'daemon off;'