init 2.0KB

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