Newer
Older
dmpopidor / rails.sh
#!/bin/bash
set -u

#Timezone
export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
export PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY=0
export RAILS_ENV=production

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
dpkg-reconfigure --frontend noninteractive tzdata
mkdir -p /dmponline/db/.dbinit
# Vérification de l'initialisation de la base
if [ ! -f /dmponline/db/.dbinit/.temoin ] ; then
  # if bundle exec rake db:setup --trace RAILS_ENV=$RAILS_ENV ; then
  if bundle exec rake db:create && rake db:schema:load && rake db:migrate ; then
    touch /dmponline/db/.dbinit/.temoin
  fi
fi

# Additionnal DB actions
# bundle exec rake db:seed
bundle exec rake db:migrate
RAILS_ENV=$RAILS_ENV bundle exec rake assets:precompile
#bundle exec rake load_templates

# Start the app
# bundle exec rails s -e $RAILS_ENV -p 3000 -b 0.0.0.0
nginx -c /etc/nginx/nginx.conf -t
chmod 666 /var/log/nginx/production.log
service nginx start

# # Création des certifs SSL si le serveur est de prod
# if [ $RAILS_ENV == "production" ] ; then
#   # Si la clé n'existe pas, on la crée
#   if [ ! -f /dmponline/.ssl/localhost.key ] ; then
#   openssl req -new -newkey rsa:2048 -sha1 \
#           -subj "/CN=`hostname`" \
#           -days 365 -nodes -x509 -keyout ./.ssl/localhost.key -out ./.ssl/localhost.crt

#   fi
#   # On copie la clé au bon endroit
#   cp ./.ssl/localhost.key /etc/ssl/certs
#   cp ./.ssl/localhost.crt /etc/ssl/certs
#   echo "127.0.0.1 `hostname`" | tee -a /etc/hosts
#   #RAILS_ENV=$RAILS_ENV bundle exec rake db:migrate
#   RAILS_ENV=$RAILS_ENV bundle exec rake assets:precompile
#   # Démarrage du serveur en SSL avec l'emplacement des clés
#  # bundle exec thin start -p 3001 --ssl --ssl-key-file /etc/ssl/certs/localhost.key --ssl-cert-file /etc/ssl/certs/localhost.crt
#   #bundle exec rails server -p 3001 -e $RAILS_ENV
#   nginx -c /etc/nginx/nginx.conf -t
#   chmod 666 /var/log/nginx/production.log
#   service nginx start
# else
#   sleep 2h
#   #bundle exec rails server -p 40000 

# fi