You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
894 B

  1. #!/usr/bin/env bash
  2. set -o errexit
  3. if [[ -z "${ADMIN_USERNAME}" ]]; then echo "Missing ADMIN_USERNAME environment variable" >&2; exit 1; fi
  4. if [[ -z "${ADMIN_PASSWORD}" ]]; then echo "Missing ADMIN_PASSWORD environment variable" >&2; exit 1; fi
  5. if [[ -z "${ADMIN_EMAIL}" ]]; then echo "Missing ADMIN_EMAIL environment variable" >&2; exit 1; fi
  6. set -o nounset
  7. app="/src/backend"
  8. echo "Initializing database"
  9. python "${app}/manage.py" wait_for_db
  10. python "${app}/manage.py" migrate
  11. python "${app}/manage.py" create_roles
  12. if [[ -n "${ADMIN_USERNAME}" ]] && [[ -n "${ADMIN_PASSWORD}" ]] && [[ -n "${ADMIN_EMAIL}" ]]; then
  13. python "${app}/manage.py" create_admin \
  14. --username "${ADMIN_USERNAME}" \
  15. --password "${ADMIN_PASSWORD}" \
  16. --email "${ADMIN_EMAIL}" \
  17. --noinput \
  18. || true
  19. fi
  20. echo "Starting django"
  21. python -u "${app}/manage.py" runserver ${HOST:-0.0.0.0}:${PORT:-8000}