boot.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. set -euxo pipefail
  3. # This file will store the config env variables needed by the app
  4. readonly CONF=/build/env.config
  5. # EMAIL_URL can also be set here by injecting another env variable in the template
  6. # ROOT_URL can also be set at runtime, by querying AWS api or by using ingress annotations in the template for k8s.
  7. cat >"${CONF}" <<'EOF'
  8. export MONGO_URL=mongodb://{{DATABASE_USER}}:{{DATABASE_PASSWORD}}@{{DATABASE_HOST}}:{{DATABASE_PORT}}/{{DATABASE_NAME}}
  9. export ROOT_URL=http://localhost
  10. export PORT=3000
  11. # Docker Compose Secrets Support
  12. # If secret files exist, read passwords from them instead of environment variables
  13. if [ -f "/run/secrets/mongo_password" ]; then
  14. export MONGO_PASSWORD=$(cat /run/secrets/mongo_password)
  15. export MONGO_URL=mongodb://{{DATABASE_USER}}:${MONGO_PASSWORD}@{{DATABASE_HOST}}:{{DATABASE_PORT}}/{{DATABASE_NAME}}
  16. fi
  17. if [ -f "/run/secrets/ldap_auth_password" ]; then
  18. export LDAP_AUTHENTIFICATION_PASSWORD=$(cat /run/secrets/ldap_auth_password)
  19. fi
  20. if [ -f "/run/secrets/oauth2_secret" ]; then
  21. export OAUTH2_SECRET=$(cat /run/secrets/oauth2_secret)
  22. fi
  23. if [ -f "/run/secrets/mail_service_password" ]; then
  24. export MAIL_SERVICE_PASSWORD=$(cat /run/secrets/mail_service_password)
  25. fi
  26. if [ -f "/run/secrets/s3_secret" ]; then
  27. export S3_SECRET=$(cat /run/secrets/s3_secret)
  28. fi
  29. EOF
  30. sed -i -e "s/{{DATABASE_USER}}/${DATABASE_USER}/" "${CONF}"
  31. sed -i -e "s/{{DATABASE_PASSWORD}}/${DATABASE_PASSWORD}/" "${CONF}"
  32. sed -i -e "s/{{DATABASE_HOST}}/${DATABASE_HOST}/" "${CONF}"
  33. sed -i -e "s/{{DATABASE_PORT}}/${DATABASE_PORT}/" "${CONF}"
  34. sed -i -e "s/{{DATABASE_NAME}}/${DATABASE_NAME}/" "${CONF}"