diff options
Diffstat (limited to '.openshift/action_hooks/deploy')
-rwxr-xr-x | .openshift/action_hooks/deploy | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/.openshift/action_hooks/deploy b/.openshift/action_hooks/deploy new file mode 100755 index 000000000..dafde2d69 --- /dev/null +++ b/.openshift/action_hooks/deploy @@ -0,0 +1,185 @@ +#!/bin/bash +# This deploy hook gets executed after dependencies are resolved and the +# build hook has been run but before the application has been started back +# up again. This script gets executed directly, so it could be python, php, +# ruby, etc. + +# Bash help: http://www.panix.com/~elflord/unix/bash-tute.html + +# For information about action hooks supported by OpenShift, consult the documentation: +# http://openshift.github.io/documentation/oo_user_guide.html#the-openshift-directory + +#### + +# Hubzilla specific deploy script + +# Place this file in /.openshift/action_hooks/ (The .openshift folder will be in the root of your repo) +# The file name should be "deploy" such that you have: +# .openshift/action_hooks/deploy + +# Conventions: Vars in curley braces have the slash after implied so no need to add it. +# e.g. ${OPENSHIFT_REPO_DIR}php/foobar = /repo/php/foobar +# See all OpenShift vars here: +# https://www.openshift.com/developers/openshift-environment-variables + +# HME - NOTE - leftover from original openshift-drupal-deploy +# In config.php you can leverage the enviroment variables like this: +# // Define env vars. +# if (array_key_exists('OPENSHIFT_APP_NAME', $_SERVER)) { +# $src = $_SERVER; +# } else { +# $src = $_ENV; +# } +# +# $conf["file_private_path"] = $src['OPENSHIFT_DATA_DIR'] . "private"; +# $conf["file_temporary_path"] = $src['OPENSHIFT_DATA_DIR'] . "tmp"; + + +#### + +# Start Deploy + +echo "Starting Deploy..." + +# Let's create the Hubzilla files directory in the Openshift data folder ($OPENSHIFT_DATA_DIR). + +echo "Check for the files directory called store, if not created - create it" + +if [ ! -d ${OPENSHIFT_DATA_DIR}store ]; then +mkdir -p ${OPENSHIFT_DATA_DIR}"store/[data]/smarty3" +echo "Done creating files directory" + +else + +echo "The files directory called store already exists" + +fi + +#### + +# Set permissions on the files directory. + +echo "Now chmod 777 -R files" + +chmod -R 777 ${OPENSHIFT_DATA_DIR}store + +echo "chmod done, permissions set to 777" + +#### + +# Symlink our files folder to the repo. + +# Note the "php" directory below seems to be the best way to serve OpenShift files. +# This is good as that allows us for directories one level above such as tmp and private + +echo "Create sym links for writeable directories" + +ln -sf ${OPENSHIFT_DATA_DIR}store ${OPENSHIFT_REPO_DIR}store + +echo "Files sym links created" + +#### + +# Copy .htconfig.php from the repo, rename it and place it in the data directory. +# if it's there already, skip it. + +if [ ! -f ${OPENSHIFT_DATA_DIR}.htconfig.php ]; + +then + +cp ${OPENSHIFT_REPO_DIR}.htconfig.php ${OPENSHIFT_DATA_DIR}.htconfig.php + +echo ".htconfig.php copied." + +else + +echo "Looks like the .htconfig.php file is already there, we won't overwrite it." + +fi + +#### + +# symlink the .htconfig.php file. + +echo "Create sym link for .htconfig.php" + +ln -sf ${OPENSHIFT_DATA_DIR}.htconfig.php ${OPENSHIFT_REPO_DIR}.htconfig.php + +echo ".htconfig.php symlink created" + +#### +# Copy .htaccess from the repo, rename it and place it in the data directory. +# if it's there already, skip it. + +if [ ! -f ${OPENSHIFT_DATA_DIR}.htaccess ]; + +then + +cp ${OPENSHIFT_REPO_DIR}.htaccess ${OPENSHIFT_DATA_DIR}.htaccess + +echo ".htaccess copied." + +else + +echo "Looks like the .htaccess file is already there, we won't overwrite it." + +fi + +#### + +# symlink the .htaccess file. + +echo "Create sym link for .htaccess" + +ln -sf ${OPENSHIFT_DATA_DIR}.htaccess ${OPENSHIFT_REPO_DIR}.htaccess + +echo ".htaccess symlink created" + +#### + +echo "Check for the poller at .openshift/cron/minutely/poller , if not created - create it" + +if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller ]; then +printf '%s\n' '#!/bin/bash' 'if [ ! -f $OPENSHIFT_DATA_DIR/last_run ]; then' ' touch $OPENSHIFT_DATA_DIR/last_run' 'fi' 'if [[ $(find $OPENSHIFT_DATA_DIR/last_run -mmin +9) ]]; then #run every 10 mins' ' rm -f $OPENSHIFT_DATA_DIR/last_run' ' touch $OPENSHIFT_DATA_DIR/last_run' ' # The command(s) that you want to run every 10 minutes' 'cd /var/lib/openshift/${OPENSHIFT_APP_UUID}/app-root/repo; /opt/rh/php54/root/usr/bin/php include/poller.php' 'fi' >${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller +echo "Done creating file .openshift/cron/minutely/poller" + +else + +echo "The poller already exists" + +fi + +#### + +# Set permissions on the poller script to make it executable. + +echo "Now chmod 777 -R poller" + +chmod -R 777 ${OPENSHIFT_REPO_DIR}.openshift/cron/minutely/poller + +echo "chmod done, permissions set to 777 on poller script." + +#### + +### echo "Check for the hot deploy marker at .openshift/markers/hot_deploy , if not created - create it" + +### if [ ! -f ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy ]; then + +### touch ${OPENSHIFT_REPO_DIR}.openshift/markers/hot_deploy + +### echo "Done creating file .openshift/markers/hot_deploy" + +### else + +### echo "The hot deploy marker already exists" + +### fi + +#### + +# Hubzilla configuration - changes to default settings +# to make Hubzilla on OpenShift a more pleasant experience +cd ${OPENSHIFT_REPO_DIR} +util/config system expire_delivery_reports 3 +util/config system feed_contacts 0 +util/config system disable_discover_tab 1 |