docker-entrypoint.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. currentTimeStamp='1658224392'
  14. ENVVARS="window._MLP_ENVS={${ENVVARS}}"
  15. echo "The environment variable set is:${ENVVARS}"
  16. mkdir -p /usr/share/nginx/html/
  17. echo ${ENVVARS} >/usr/share/nginx/html/assets/js/ai-env-${currentTimeStamp}.js
  18. script="<script type=\"text/javascript\" src=\"assets/js/ai-env-${currentTimeStamp}.js\"></script>"
  19. set -v
  20. sed -i "s~</head>~$script&~g" /usr/share/nginx/html/index.html
  21. if [ 0"$__WEB_CONTEXT_PATH" = "0" ]; then
  22. __WEB_CONTEXT_PATH=""
  23. basePath="/"
  24. else
  25. __WEB_CONTEXT_PATH="/${__WEB_CONTEXT_PATH}"
  26. basePath="${__WEB_CONTEXT_PATH}\/"
  27. fi
  28. sed -i "s/<base href.*\/>/<base href=\"\\${basePath}\"\/>/g" /usr/share/nginx/html/index.html
  29. if [ 0"$__GATEWAY_URL" = "0" ]; then
  30. __GATEWAY_URL=${__WEB_SERVER_URL}
  31. fi
  32. if [ 0"$__CVAT_URL" = "0" ]; then
  33. __CVAT_URL=""
  34. fi
  35. if [ 0"$__DOCCANO_URL" = "0" ]; then
  36. __DOCCANO_URL=""
  37. fi
  38. export __GATEWAY_URL
  39. export __CVAT_URL
  40. export __DOCCANO_URL
  41. export __WEB_CONTEXT_PATH
  42. envsubst '${__WEB_CONTEXT_PATH},${__GATEWAY_URL},${__CVAT_URL},${__DOCCANO_URL}' </etc/nginx/nginx.env.conf >/etc/nginx/nginx.conf
  43. echo "Start nginx service"
  44. exec "$@"