start.sh 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. # set -eu -o pipefail
  3. echo "========= Start ========="
  4. echo "--> local.py"
  5. # toplevel variables
  6. sed -e "s/MEDIA_URL = \".*\"/MEDIA_URL = \"https:\/\/${HOSTNAME}\/media\/\"/" \
  7. -e "s/STATIC_URL = \".*\"/STATIC_URL = \"https:\/\/${HOSTNAME}\/static\/\"/" \
  8. -e "s/ADMIN_MEDIA_PREFIX = \".*\"/ADMIN_MEDIA_PREFIX = \"https:\/\/${HOSTNAME}\/static\/admin\/\"/" \
  9. -e "s/SITES\[\"front\"\]\[\"scheme\"\] = \".*\"/SITES\[\"front\"\]\[\"scheme\"\] = \"https\"/" \
  10. -e "s/SITES\[\"front\"\]\[\"domain\"\] = \".*\"/SITES\[\"front\"\]\[\"domain\"\] = \"${HOSTNAME}\"/" \
  11. -e "s/EMAIL_HOST = \".*\"/EMAIL_HOST = \"${MAIL_SMTP_SERVER}\"/" \
  12. -e "s/EMAIL_PORT = \".*\"/EMAIL_PORT = \"${MAIL_SMTP_PORT}\"/" \
  13. -e "s/EMAIL_HOST_USER = \".*\"/EMAIL_HOST_USER = \"${MAIL_SMTP_USERNAME}\"/" \
  14. -e "s/LDAP_SERVER = \".*\"/LDAP_SERVER = \"ldap:\/\/${LDAP_SERVER}\"/" \
  15. -e "s/LDAP_PORT = .*/LDAP_PORT = ${LDAP_PORT}/" \
  16. -e "s/LDAP_SEARCH_BASE = \".*\"/LDAP_SEARCH_BASE = \"${LDAP_USERS_BASE_DN}\"/" \
  17. -e "s/\"NAME\": \".*\",/\"NAME\": \"${POSTGRESQL_DATABASE}\",/" \
  18. -e "s/\"USER\": \".*\",/\"USER\": \"${POSTGRESQL_USERNAME}\",/" \
  19. -e "s/\"PASSWORD\": \".*\",/\"PASSWORD\": \"${POSTGRESQL_PASSWORD}\",/" \
  20. -e "s/\"HOST\": \".*\",/\"HOST\": \"${POSTGRESQL_HOST}\",/" \
  21. -e "s/\"PORT\": \".*\",/\"PORT\": \"${POSTGRESQL_PORT}\",/" \
  22. /app/code/local.py > /run/local.py
  23. echo "--> Update conf.json"
  24. sed -e "s/\"api\": \".*\",/\"api\": \"https:\/\/${APP_DOMAIN}\/api\/v1\/\",/" \
  25. -e "s/\"eventsUrl\": \".*\",/\"eventsUrl\": \"wss:\/\/${APP_DOMAIN}\/events\",/" \
  26. /app/code/conf.json > /run/conf.json
  27. echo "--> Update nginx.conf"
  28. sed -e "s,##HOSTNAME##,${APP_DOMAIN}," \
  29. /app/code/nginx.conf > /run/nginx.conf
  30. echo "--> Setup taiga virtual env"
  31. cd /app/code
  32. source /app/code/taiga/bin/activate
  33. echo "--> Run migration scripts"
  34. cd /app/code/taiga-back
  35. python manage.py migrate --noinput
  36. # python manage.py loaddata initial_user
  37. python manage.py loaddata initial_project_templates
  38. # python manage.py loaddata initial_role
  39. cd /app/code
  40. echo "--> Make cloudron own /run"
  41. chown -R cloudron:cloudron /run
  42. echo "--> Start nginx"
  43. nginx -c /run/nginx.conf &
  44. echo "--> Start taiga-back"
  45. PATH=/app/code/taiga/bin:$PATH
  46. TERM=rxvt-256color
  47. SHELL=/bin/bash
  48. USER=root
  49. LANG=en_US.UTF-8
  50. HOME=/app/code
  51. PYTHONPATH=/app/code/taiga/lib/python3.4/site-packages
  52. cd /app/code/taiga-back
  53. exec /usr/local/bin/gosu cloudron:cloudron gunicorn -w 1 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi
  54. # taiga/bin/circusd /app/code/circus.ini