#!/bin/bash appHooks() { : ${APP_RELINK:=false} if [ "$APP_RELINK" = "true" ]; then [ ! -z "${APP_CONF}" ] && relink_dir "${APP_CONF_DEFAULT}" "${APP_CONF}" [ ! -z "${APP_DATA}" ] && relink_dir "${APP_DATA_DEFAULT}" "${APP_DATA}" [ ! -z "${APP_LOGS}" ] && relink_dir "${APP_LOGS_DEFAULT}" "${APP_LOGS}" [ ! -z "${APP_TEMP}" ] && relink_dir "${APP_TEMP_DEFAULT}" "${APP_TEMP}" [ ! -z "${APP_WORK}" ] && relink_dir "${APP_WORK_DEFAULT}" "${APP_WORK}" [ ! -z "${APP_SHARED}" ] && relink_dir "${APP_SHARED_DEFAULT}" "${APP_SHARED}" else echo "=> Skipping APP directories relinking: APP_RELINK=$APP_RELINK" fi echo "=> Executing hooks:" . /entrypoint-hooks.sh echo "-------------------------------------------------------------------------------" } relink_dir() { local dir_default="$1" local dir_custom="$2" [ ! -e "$dir_default" ] && mkdir -p "$dir_default" [ ! -e "$(dirname "$dir_custom")" ] && mkdir -p "$(dirname "$dir_custom")" echo "Directory container override detected! default: $dir_default custom: $dir_custom" if [ ! -e "$dir_custom" ]; then echo -e -n "=> moving the $dir_default directory to $dir_custom ..." mv "$dir_default" "$dir_custom" else echo -e -n "=> directory $dir_custom already exist... " mv "$dir_default" "$dir_default".dist fi echo "linking $dir_custom into $dir_default" ln -s "$dir_custom" "$dir_default" } appHooks : ${APP_RUNAS:=false} : ${ENTRYPOINT_TINI:=false} : ${MULTISERVICE:=false} if [ "$MULTISERVICE" = "true" ]; then CMD="runsvdir -P /etc/service" elif [ "$APP_RUNAS" = "true" ]; then CMD="runuser -p -u $APP_USR -- $@" else CMD="$@" fi [ "$ENTRYPOINT_TINI" = "true" ] && CMD="tini -g -- $CMD" echo "=> Executing entrypoint command: $CMD" echo "===============================================================================" [ ! -z "$UMASK" ] && umask $UMASK set -x exec $CMD exit $?