aboutsummaryrefslogblamecommitdiffstats
path: root/.openshift/action_hooks/deploy
blob: c3bdf575ab3869898e364dbb36c4af6a7e0f4f8e (plain) (tree)

















































































                                                                                                       
                                                                                 

                                 
                                               


    
                                                                        
 
                            


    
                                                                                 




    
                                 
 
                                        
 
                                                                            
 
                                    

    



























                                                                             



                                                                                           
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             













                                                             
                                                                 



                                                           
 
                                                                                                        
 
                                                                        
 
                                                            
 
                                                           
 
        
 
                                               
 
      

    


                                                           
                                                                                                                         
                        
                                      
                                                          
                                                

                                            
                                     
                                         


                                 

                


                                                                                    

                 

                                           
                                                                                             
 
                  


                                                              

                
                                           

                                                                   




                                                                
#!/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 
echo "Changing default configuration to conserve space and autocreate a social private channel upon account registration"
cd ${OPENSHIFT_REPO_DIR}
util/config system auto_channel_create
util/config system default_permissions_role social_private
util/config system workflow_channel_next channel
util/config system expire_delivery_reports 3
util/config system feed_contacts 0
util/config system diaspora_enabled 0
util/config system disable_discover_tab 1
util/config directory safemode 0
util/config directory globaldir 1
util/config directory pubforums 0

# Hubzill addons
echo "Try to add or update Hubzilla addons"
cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git HubzillaAddons 

# Hubzilla themes
echo "Try to add or update Hubzilla themes"
cd ${OPENSHIFT_REPO_DIR}
util/add_theme_repo https://github.com/DeadSuperHero/hubzilla-themes.git DeadSuperHeroThemes 

# Hubzilla ownMapp
echo "Try to add or update Hubzilla ownMapp"
cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://gitlab.com/zot/ownmapp.git ownMapp

# Hubzilla Chess
echo "Try to add or update Hubzilla chess "
cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://gitlab.com/zot/hubzilla-chess.git Chess

# Hubzilla Hubsites
echo "Try to add or update Hubzilla Hubsites"
cd ${OPENSHIFT_REPO_DIR}
util/add_addon_repo https://gitlab.com/zot/hubsites.git Hubsites