more tests
This commit is contained in:
@@ -1,12 +1,60 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
# vim:sw=4:ts=4:et
|
||||||
|
|
||||||
# Generate the config.js file
|
set -e
|
||||||
cat <<EOF > /usr/share/nginx/html/config.js
|
|
||||||
window._env_ = {
|
if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
||||||
REACT_APP_API_HOSTNAME: "${REACT_APP_API_HOSTNAME}"
|
exec 3>&1
|
||||||
REACT_APP_KC_HOSTNAME: "${REACT_APP_KC_HOSTNAME}"
|
else
|
||||||
};
|
exec 3>/dev/null
|
||||||
EOF
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "nginx" -o "$1" = "nginx-debug" ]; then
|
||||||
|
if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then
|
||||||
|
echo >&3 "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
||||||
|
|
||||||
|
echo >&3 "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
||||||
|
find "/docker-entrypoint.d/" -follow -type f -print | sort -n | while read -r f; do
|
||||||
|
case "$f" in
|
||||||
|
*.sh)
|
||||||
|
if [ -x "$f" ]; then
|
||||||
|
echo >&3 "$0: Launching $f";
|
||||||
|
"$f"
|
||||||
|
else
|
||||||
|
# warn on shell scripts without exec bit
|
||||||
|
echo >&3 "$0: Ignoring $f, not executable";
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*) echo >&3 "$0: Ignoring $f";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo >&3 "$0: Configuration complete; ready for start up"
|
||||||
|
else
|
||||||
|
echo >&3 "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set up endpoint for env retrieval
|
||||||
|
echo "window._env_ = {" > /usr/share/nginx/html/env_config.js
|
||||||
|
|
||||||
|
# Collect enviroment variables for react
|
||||||
|
eval enviroment_variables="$(env | grep REACT_APP.*=)"
|
||||||
|
|
||||||
|
# Loop over variables
|
||||||
|
env | grep REACT_APP.*= | while read -r line;
|
||||||
|
do
|
||||||
|
printf "%s',\n" $line | sed "s/=/:'/" >> /usr/share/nginx/html/env_config.js
|
||||||
|
|
||||||
|
# Notify the user
|
||||||
|
printf "Env variable %s' was injected into React App. \n" $line | sed "0,/=/{s//:'/}"
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
# End the object creation
|
||||||
|
echo "}" >> /usr/share/nginx/html/env_config.js
|
||||||
|
|
||||||
|
echo "Enviroment Variable Injection Complete."
|
||||||
|
|
||||||
# Start Nginx
|
# Start Nginx
|
||||||
nginx -g "daemon off;"
|
nginx -g "daemon off;"
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
const getConfig = () => {
|
const getConfig = () => {
|
||||||
console.log(window._env_)
|
console.log(window._env_);
|
||||||
return window._env_ || {};
|
return window._env_ || {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ axios.interceptors.request.use(
|
|||||||
const root = ReactDOM.createRoot(document.getElementById('root'));
|
const root = ReactDOM.createRoot(document.getElementById('root'));
|
||||||
root.render(
|
root.render(
|
||||||
<React.StrictMode>
|
<React.StrictMode>
|
||||||
<script src="%PUBLIC_URL%/config.js"></script>
|
|
||||||
<App/>
|
<App/>
|
||||||
</React.StrictMode>
|
</React.StrictMode>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user