init 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. set -e
  3. cd /app
  4. # Configure database based on linked container
  5. if [ -n "${MYSQL_PORT_3306_TCP_ADDR}" ]; then
  6. DATABASE_ADAPTER=${DATABASE_ADAPTER:-mysql2}
  7. DATABASE_HOST=${DATABASE_HOST:-${MYSQL_PORT_3306_TCP_ADDR}}
  8. DATABASE_PORT=${DATABASE_PORT:-${MYSQL_PORT_3306_TCP_PORT}}
  9. DATABASE_ENCODING=${DATABASE_ENCODING:-utf8mb4}
  10. elif [ -n "${POSTGRES_PORT_5432_TCP_ADDR}" ]; then
  11. DATABASE_ADAPTER=${DATABASE_ADAPTER:-postgresql}
  12. DATABASE_HOST=${DATABASE_HOST:-${POSTGRES_PORT_5432_TCP_ADDR}}
  13. DATABASE_PORT=${DATABASE_PORT:-${POSTGRES_PORT_5432_TCP_PORT}}
  14. DATABASE_ENCODING=utf8
  15. fi
  16. USE_GRAPHVIZ_DOT=${USE_GRAPHVIZ_DOT:-${USE_GRAPHVIZ_DOT:-dot}}
  17. # Default to the environment variable values set in .env.example
  18. IFS="="
  19. grep = /app/.env.example | sed -e 's/^#\([^ ]\)/\1/' | grep -v -e '^#' | \
  20. while read var value ; do
  21. eval "echo \"$var=\${$var:-\${HUGINN_$var-\$value}}\""
  22. done | grep -v -e ^= > /app/.env
  23. eval "echo PORT=${PORT:-${PORT:-3000}}" >> .env
  24. eval "echo RAILS_ENV=${RAILS_ENV:-${RAILS_ENV:-production}}" >> .env
  25. eval "echo ON_HEROKU=true" >> .env
  26. eval "echo RAILS_SERVE_STATIC_FILES=true" >> .env
  27. chmod ugo+r /app/.env
  28. source /app/.env
  29. # use default port number if it is still not set
  30. case "${DATABASE_ADAPTER}" in
  31. mysql2) DATABASE_PORT=${DATABASE_PORT:-3306} ;;
  32. postgresql) DATABASE_PORT=${DATABASE_PORT:-5432} ;;
  33. *) echo "Unsupported database adapter. Available adapters are mysql2, and postgresql." && exit 1 ;;
  34. esac
  35. sudo -u huginn -H bundle install --without test development --path vendor/bundle
  36. if [ -z $1 ]; then
  37. sudo -u huginn -H bundle exec rake db:create db:migrate RAILS_ENV=${RAILS_ENV}
  38. fi
  39. if [[ -z "${DO_NOT_SEED}" && -z $1 ]]; then
  40. sudo -u huginn -H bundle exec rake db:seed RAILS_ENV=${RAILS_ENV}
  41. fi
  42. if [ -z $1 ]; then
  43. exec sudo -u huginn -H bundle exec unicorn -c config/unicorn.rb
  44. else
  45. exec sudo -u huginn -H bundle exec rails runner "$@" RAILS_ENV=${RAILS_ENV}
  46. fi