mirror of
https://github.com/sartography/cr-connect-bpmn.git
synced 2025-02-02 20:04:05 +00:00
Ugh. envsubst doesn't do exact string match. Throw in extra slash, then remove it afterward. UGH.
This commit is contained in:
parent
972be2e1e1
commit
d954f2620d
@ -27,8 +27,7 @@ RUN chmod +x ./entrypoint.sh
|
|||||||
# Substitute environment variables in nginx configuration and index.html
|
# Substitute environment variables in nginx configuration and index.html
|
||||||
ENTRYPOINT ["./entrypoint.sh", \
|
ENTRYPOINT ["./entrypoint.sh", \
|
||||||
"/usr/share/nginx/html/index.html,/etc/nginx/conf.d/default.conf", \
|
"/usr/share/nginx/html/index.html,/etc/nginx/conf.d/default.conf", \
|
||||||
"PRODUCTION,API_URL,IRB_URL,HOME_ROUTE,BASE_HREF,PORT0", \
|
"PRODUCTION,API_URL,IRB_URL,HOME_ROUTE,BASE_HREF,PORT0"]
|
||||||
"/usr/share/nginx/html/index.html"]
|
|
||||||
|
|
||||||
### STAGE 3: Profit! ###
|
### STAGE 3: Profit! ###
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
# Parameters:
|
# Parameters:
|
||||||
# $1: Comma-delimited list of file paths
|
# $1: Comma-delimited list of file paths
|
||||||
# $2: Comma-delimited list of environment variables
|
# $2: Comma-delimited list of environment variables
|
||||||
# $3: File path to index.html (optional)
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
echo 'Substituting environment variables...'
|
echo 'Substituting environment variables...'
|
||||||
@ -26,7 +25,7 @@ fi
|
|||||||
if [[ "$2" == *"BASE_HREF"* ]]; then
|
if [[ "$2" == *"BASE_HREF"* ]]; then
|
||||||
length=${#BASE_HREF}
|
length=${#BASE_HREF}
|
||||||
last_char=${BASE_HREF:length-1:1}
|
last_char=${BASE_HREF:length-1:1}
|
||||||
[[ $last_char != "/" ]] && BASE_HREF="$BASE_HREF/"; :
|
[[ $last_char == "/" ]] && BASE_HREF="$BASE_HREF"; :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Convert "VAR1,VAR2,VAR3,..." to "\$VAR1 \$VAR2 \$VAR3 ..."
|
# Convert "VAR1,VAR2,VAR3,..." to "\$VAR1 \$VAR2 \$VAR3 ..."
|
||||||
@ -39,6 +38,19 @@ do
|
|||||||
envsubst "$env_list" < "$file_path" > "$file_path".tmp && mv "$file_path".tmp "$file_path"
|
envsubst "$env_list" < "$file_path" > "$file_path".tmp && mv "$file_path".tmp "$file_path"
|
||||||
|
|
||||||
echo '...'
|
echo '...'
|
||||||
|
# Wait a second in case envsubst needs more time
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
# If this is the index.html file, rewrite base href.
|
||||||
|
# Use @ as a sed delimiter because $BASE_HREF will contain a / character
|
||||||
|
if [[ $file_path == *"/index.html"* ]]; then
|
||||||
|
sed -i -e 's@<base href\=\"\/\">@<base href\=\"'"$BASE_HREF"'\">@' "$3"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If this is the nginx default.conf file, replace double slashes with single slashes
|
||||||
|
if [[ $file_path == *"/default.conf"* ]]; then
|
||||||
|
sed -i -e 's@//@/@g' "$file_path"
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo 'Finished substituting environment variables.'
|
echo 'Finished substituting environment variables.'
|
||||||
@ -47,19 +59,5 @@ do
|
|||||||
echo "$env_var = ${!env_var}"
|
echo "$env_var = ${!env_var}"
|
||||||
done
|
done
|
||||||
|
|
||||||
# The third parameter is the path to the index.html file
|
# Execute all other commands with parameters
|
||||||
# Rewrite base href in index.html.
|
exec "${@:3}"
|
||||||
# Use @ as a sed delimiter because $BASE_HREF will contain a / character
|
|
||||||
if [[ -z $3 ]]; then
|
|
||||||
# Execute all other commands with parameters
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
# Wait a second in case envsubst needs more time
|
|
||||||
sleep 1
|
|
||||||
sed -i -e 's@<base href\=\"\/\">@<base href\=\"'"$BASE_HREF"'\">@' "$3"
|
|
||||||
|
|
||||||
# Execute all other commands with parameters
|
|
||||||
exec "${@:4}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@ server {
|
|||||||
root /usr/share/nginx/html;
|
root /usr/share/nginx/html;
|
||||||
index index.html index.htm;
|
index index.html index.htm;
|
||||||
|
|
||||||
location $BASE_HREF {
|
location $BASE_HREF/ {
|
||||||
alias /usr/share/nginx/html;
|
alias /usr/share/nginx/html;
|
||||||
try_files $uri$args $uri$args/ $BASE_HREFindex.html =404;
|
try_files $uri$args $uri$args/ $BASE_HREF/index.html =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
include /etc/nginx/extra-conf.d/*.conf;
|
include /etc/nginx/extra-conf.d/*.conf;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user