aboutsummaryrefslogtreecommitdiffstats
path: root/install/deploy-helper.sh
diff options
context:
space:
mode:
authorRobert2017-06-02 16:01:57 +0200
committerRobert2017-06-02 16:01:57 +0200
commitb4193e4a246684974ecc4c40a230a07d921c737f (patch)
tree7bcf6abba3f6848bcc9f82b5a55cc14c78787db8 /install/deploy-helper.sh
parent4e791b7c834c65ee968580e0e0281eb97a7c89eb (diff)
downloadchouette-core-b4193e4a246684974ecc4c40a230a07d921c737f.tar.bz2
Merge branch 'master' of github.com:af83/stif-boiv
Diffstat (limited to 'install/deploy-helper.sh')
-rwxr-xr-xinstall/deploy-helper.sh102
1 files changed, 102 insertions, 0 deletions
diff --git a/install/deploy-helper.sh b/install/deploy-helper.sh
new file mode 100755
index 000000000..487c4539c
--- /dev/null
+++ b/install/deploy-helper.sh
@@ -0,0 +1,102 @@
+#!/bin/bash -e
+
+export BASEDIR=$PREFIX/var/www/stif-boiv
+
+export RUN_USER=www-data
+export RUN_GROUP=src
+
+export SUDO=""
+
+function setup() {
+ mkdir -p $BASEDIR
+ mkdir -p $BASEDIR/releases $BASEDIR/shared
+
+ $SUDO mkdir -p $PREFIX/etc/stif-boiv
+ ln -fs $PREFIX/etc/stif-boiv $BASEDIR/shared/config
+
+ mkdir -p $BASEDIR/shared/config/environments
+
+ mkdir -p $BASEDIR/shared/public
+ mkdir -p $BASEDIR/shared/public/uploads
+ mkdir -p $BASEDIR/shared/public/assets
+
+ mkdir -p $BASEDIR/shared/tmp/uploads
+
+ $SUDO chown $RUN_USER:$RUN_GROUP $BASEDIR/shared/public/uploads $BASEDIR/shared/tmp/uploads
+
+ default_config
+}
+
+function default_config() {
+ DATABASE_PASSWORD=${DATABASE_PASSWORD:-FIXME}
+ DATABASE_HOST=${DATABASE_HOST:-"localhost"}
+
+ cd $BASEDIR/shared/config
+
+ if [ ! -f secrets.yml ]; then
+ cat > secrets.yml <<EOF
+production:
+ secret_key_base: `echo $RANDOM | sha512sum | cut -f1 -d' '`
+EOF
+ fi
+
+ if [ ! -f database.yml ]; then
+ cat > database.yml <<EOF
+production:
+ adapter: postgresql
+ encoding: unicode
+ pool: 5
+
+ host: $DATABASE_HOST
+ database: stif-boiv
+
+ username: stif-boiv
+ password: $DATABASE_PASSWORD
+EOF
+ fi
+}
+
+function install() {
+ tar_file=$1
+
+ # stif-boiv-20160617154541.tar
+ release_name=`echo $tar_file | sed 's/.*-\([0-9]*\)\.tar/\1/g'`
+
+ RELEASE_PATH=$BASEDIR/releases/$release_name
+
+ if [ -d $RELEASE_PATH ]; then
+ echo "Release directory $RELEASE_PATH already exists"
+ return
+ fi
+
+ mkdir -p $RELEASE_PATH
+
+ tar -xf $tar_file -C $RELEASE_PATH
+
+ cd $RELEASE_PATH
+
+ mkdir -p tmp
+
+ for directory in public/uploads tmp/uploads public/assets; do
+ local_directory=$BASEDIR/shared/$directory
+ release_directory=$directory
+
+ rm -rf $release_directory
+ ln -s $local_directory $release_directory
+ done
+
+ for file in secrets.yml database.yml environments/production.rb; do
+ local_file=$BASEDIR/shared/config/$file
+ release_file=config/$file
+
+ rm $release_file && ln -fs $local_file $release_file
+ done
+
+ echo "Release installed into $RELEASE_PATH"
+}
+
+command=$1
+shift
+
+set -x
+$command $@