docker-entrypoint.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/sh
  2. PREFIX="__WEB_"
  3. ENVVARS=""
  4. for env in $(env); do
  5. if [[ "${env:0:6}" == "$PREFIX" ]]; then
  6. if [[ "$ENVVARS" != "" ]]; then
  7. ENVVARS="$ENVVARS,"
  8. fi
  9. ENVVARS="$ENVVARS$(echo $env | sed 's/"//g' | awk -F '=' '{print "\""substr($1,7)"\""" : ""\""substr($0,length($1)+2)"\""}')"
  10. fi
  11. done
  12. currentTimeStamp=$(date '+%s')
  13. ENVVARS="window._MLP_ENVS={${ENVVARS}}"
  14. echo "The environment variable set is:${ENVVARS}"
  15. mkdir -p /usr/share/nginx/html/
  16. echo ${ENVVARS} >/usr/share/nginx/html/assets/js/ai-env-${currentTimeStamp}.js
  17. script="<script type=\"text/javascript\" src=\"assets/js/ai-env-${currentTimeStamp}.js\"></script>"
  18. set -v
  19. sed -i "s~</head>~$script&~g" /usr/share/nginx/html/index.html
  20. if [ 0"$__WEB_CONTEXT_PATH" = "0" ]; then
  21. __WEB_CONTEXT_PATH=""
  22. basePath="/"
  23. else
  24. __WEB_CONTEXT_PATH="/${__WEB_CONTEXT_PATH}"
  25. basePath="${__WEB_CONTEXT_PATH}\/"
  26. fi
  27. sed -i "s/<base href.*\/>/<base href=\"\\${basePath}\"\/>/g" /usr/share/nginx/html/index.html
  28. if [ 0"$__GATEWAY_URL" = "0" ]; then
  29. __GATEWAY_URL=${__WEB_SERVER_URL}
  30. fi
  31. if [ 0"$__CVAT_URL" = "0" ]; then
  32. __CVAT_URL=""
  33. fi
  34. if [ 0"$__DOCCANO_URL" = "0" ]; then
  35. __DOCCANO_URL=""
  36. fi
  37. export __GATEWAY_URL
  38. export __CVAT_URL
  39. export __DOCCANO_URL
  40. export __WEB_CONTEXT_PATH
  41. envsubst '${__WEB_CONTEXT_PATH},${__GATEWAY_URL},${__CVAT_URL},${__DOCCANO_URL}' </etc/nginx/nginx.env.conf >/etc/nginx/nginx.conf
  42. echo "Start nginx service"
  43. exec "$@"