Frontend/entrypoint.sh
2022-07-18 11:38:44 +03:00

35 lines
990 B
Bash
Executable File

#!/bin/bash
# no verbose
set +x
# config
envFilename='.env.production'
resolvingPath='/usr/share/nginx/html'
function apply_path {
# read all config file
while read line; do
# no comment or not empty
if [ "${line:0:1}" == "#" ] || [ "${line}" == "" ]; then
echo "Skiped line $line"
continue
fi
# split
configName="$(cut -d'=' -f1 <<<"$line")"
configValue="$(cut -d'=' -f2 <<<"$line")"
# get system env
envValue=$(env | grep "^$configName=" | grep -oP '(?!=)(?<==).*$');
if [ -z "$configValue" ]; then
echo "Empty env value met: $configName:$configValue"
fi
# if config found
if [ -n "$configValue" ] && [ -n "$envValue" ]; then
# replace all
echo "Replace: ${configValue} with: ${envValue}"
find $resolvingPath \( -type d -name .git -prune \) -o -type f -print0 | xargs -0 sed -i "s#$configValue#$envValue#g"
fi
done < $envFilename
}
apply_path
echo "Starting React Application"
exec "$@"