|
|
#!/bin/sh
|
|
|
# vim:sw=4:ts=4:et
|
|
|
|
|
|
set -e
|
|
|
# /etc/nginx/conf.d/servers.conf 文件不存在,就通过环境变量 UPSTREAM_WEB_SERVERS,UPSTREAM_MANAGE_SERVERS生成/data/vp/nginx/conf/servers.conf
|
|
|
if [ ! -f "/data/vp/nginx/conf/servers.conf" ]; then
|
|
|
echo "BEGIN REPLACE SERVERS.CONF ...."
|
|
|
if [ -z "${UPSTREAM_MANAGE_SERVERS}" ]; then
|
|
|
# UPSTREAM_MANAGE_SERVERS 设置默认值
|
|
|
echo "ENVIRONMENT VARIABLE UPSTREAM_MANAGE_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...."
|
|
|
export UPSTREAM_MANAGE_SERVERS="${UPSTREAM_WEB_SERVERS}"
|
|
|
fi
|
|
|
|
|
|
if [ -z "${UPSTREAM_RASA_SERVERS}" ]; then
|
|
|
# UPSTREAM_RASA_SERVERS 设置默认值
|
|
|
echo "ENVIRONMENT VARIABLE UPSTREAM_RASA_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...."
|
|
|
export UPSTREAM_RASA_SERVERS="${UPSTREAM_WEB_SERVERS}"
|
|
|
fi
|
|
|
|
|
|
if [ -z "${UPSTREAM_GRAPH_SERVERS}" ]; then
|
|
|
# UPSTREAM_GRAPH_SERVERS 设置默认值
|
|
|
echo "ENVIRONMENT VARIABLE UPSTREAM_GRAPH_SERVERS is empty, use UPSTREAM_WEB_SERVERS ...."
|
|
|
export UPSTREAM_GRAPH_SERVERS="${UPSTREAM_WEB_SERVERS}"
|
|
|
fi
|
|
|
|
|
|
# 替换文件中的变量
|
|
|
envsubst '$UPSTREAM_WEB_SERVERS $UPSTREAM_MANAGE_SERVERS $UPSTREAM_RASA_SERVERS $UPSTREAM_GRAPH_SERVERS' < /data/vp/nginx/conf/servers.conf.template > /data/vp/nginx/conf/servers.conf
|
|
|
|
|
|
echo "REPLACEMENT COMPLETE"
|
|
|
|
|
|
else
|
|
|
echo "SERVERS.CONF ALREADY EXISTS"
|
|
|
fi
|
|
|
|
|
|
|
|
|
entrypoint_log() {
|
|
|
if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then
|
|
|
echo "$@"
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
if [ "$1" = "nginx" ] || [ "$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
|
|
|
entrypoint_log "$0: /docker-entrypoint.d/ is not empty, will attempt to perform configuration"
|
|
|
|
|
|
entrypoint_log "$0: Looking for shell scripts in /docker-entrypoint.d/"
|
|
|
find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do
|
|
|
case "$f" in
|
|
|
*.envsh)
|
|
|
if [ -x "$f" ]; then
|
|
|
entrypoint_log "$0: Sourcing $f";
|
|
|
. "$f"
|
|
|
else
|
|
|
# warn on shell scripts without exec bit
|
|
|
entrypoint_log "$0: Ignoring $f, not executable";
|
|
|
fi
|
|
|
;;
|
|
|
*.sh)
|
|
|
if [ -x "$f" ]; then
|
|
|
entrypoint_log "$0: Launching $f";
|
|
|
"$f"
|
|
|
else
|
|
|
# warn on shell scripts without exec bit
|
|
|
entrypoint_log "$0: Ignoring $f, not executable";
|
|
|
fi
|
|
|
;;
|
|
|
*) entrypoint_log "$0: Ignoring $f";;
|
|
|
esac
|
|
|
done
|
|
|
|
|
|
entrypoint_log "$0: Configuration complete; ready for start up"
|
|
|
else
|
|
|
entrypoint_log "$0: No files found in /docker-entrypoint.d/, skipping configuration"
|
|
|
fi
|
|
|
fi
|
|
|
|
|
|
exec "$@" |