init 2.0KB

    #!/bin/bash set -e export LC_ALL=en_US.UTF-8 cd /app # Configure database based on linked container if [ -n "${MYSQL_PORT_3306_TCP_ADDR}" ]; then DATABASE_ADAPTER=${DATABASE_ADAPTER:-mysql2} DATABASE_HOST=${DATABASE_HOST:-${MYSQL_PORT_3306_TCP_ADDR}} DATABASE_PORT=${DATABASE_PORT:-${MYSQL_PORT_3306_TCP_PORT}} DATABASE_ENCODING=${DATABASE_ENCODING:-utf8mb4} elif [ -n "${POSTGRES_PORT_5432_TCP_ADDR}" ]; then DATABASE_ADAPTER=${DATABASE_ADAPTER:-postgresql} DATABASE_HOST=${DATABASE_HOST:-${POSTGRES_PORT_5432_TCP_ADDR}} DATABASE_PORT=${DATABASE_PORT:-${POSTGRES_PORT_5432_TCP_PORT}} DATABASE_ENCODING=utf8 fi USE_GRAPHVIZ_DOT=${USE_GRAPHVIZ_DOT:-${USE_GRAPHVIZ_DOT:-dot}} # Default to the environment variable values set in .env.example IFS="=" grep = /app/.env.example | sed -e 's/^#\([^ ]\)/\1/' | grep -v -e '^#' | \ while read var value ; do eval "echo \"$var=\${$var:-\${HUGINN_$var-\$value}}\"" done | grep -v -e ^= > /app/.env eval "echo PORT=${PORT:-${PORT:-3000}}" >> .env eval "echo RAILS_ENV=${RAILS_ENV:-${RAILS_ENV:-production}}" >> .env eval "echo RAILS_LOG_TO_STDOUT=true" >> .env eval "echo RAILS_SERVE_STATIC_FILES=true" >> .env chmod ugo+r /app/.env source /app/.env # use default port number if it is still not set case "${DATABASE_ADAPTER}" in mysql2) DATABASE_PORT=${DATABASE_PORT:-3306} ;; postgresql) DATABASE_PORT=${DATABASE_PORT:-5432} ;; *) echo "Unsupported database adapter. Available adapters are mysql2, and postgresql." && exit 1 ;; esac sudo -u huginn -H -E bundle install --without test development --path vendor/bundle if [ -z $1 ]; then sudo -u huginn -H -E bundle exec rake db:create db:migrate RAILS_ENV=${RAILS_ENV} fi if [[ -z "${DO_NOT_SEED}" && -z $1 ]]; then sudo -u huginn -H -E bundle exec rake db:seed RAILS_ENV=${RAILS_ENV} fi if [ -z $1 ]; then exec sudo -u huginn -H -E bundle exec unicorn -c config/unicorn.rb else exec sudo -u huginn -H -E bundle exec rails runner "$@" RAILS_ENV=${RAILS_ENV} fi