Skip to content
Snippets Groups Projects

fix menu with started database less app; apply template permissions on target...

Merged Hahn Axel (hahn) requested to merge 1.24 into master
3 files
+ 61
18
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 53
15
@@ -28,20 +28,21 @@
@@ -28,20 +28,21 @@
# 2024-10-25 v1.21 <axel.hahn@unibe.ch> create missing subdir dbdumps
# 2024-10-25 v1.21 <axel.hahn@unibe.ch> create missing subdir dbdumps
# 2024-10-30 v1.22 <axel.hahn@unibe.ch> added: Open Mysql client in container
# 2024-10-30 v1.22 <axel.hahn@unibe.ch> added: Open Mysql client in container
# 2024-10-30 v1.23 <axel.hahn@unibe.ch> added: show menu hints why some menu items are visible
# 2024-10-30 v1.23 <axel.hahn@unibe.ch> added: show menu hints why some menu items are visible
 
# 2024-11-20 v1.24 <axel.hahn@unibe.ch> fix menu with started database less app; apply template permissions on target file; add $WEBURL; remove $frontendurl
# ======================================================================
# ======================================================================
cd "$( dirname "$0" )" || exit 1
cd "$( dirname "$0" )" || exit 1
# init used vars
# init used vars
gittarget=
gittarget=
frontendurl=
WEBURL=
_self=$( basename "$0" )
_self=$( basename "$0" )
# shellcheck source=/dev/null
# shellcheck source=/dev/null
. "${_self}.cfg" || exit 1
. "${_self}.cfg" || exit 1
_version="1.23"
_version="1.24"
# git@git-repo.iml.unibe.ch:iml-open-source/docker-php-starterkit.git
# git@git-repo.iml.unibe.ch:iml-open-source/docker-php-starterkit.git
selfgitrepo="docker-php-starterkit.git"
selfgitrepo="docker-php-starterkit.git"
@@ -65,6 +66,7 @@ DC_REPO=1
@@ -65,6 +66,7 @@ DC_REPO=1
DC_CONFIG_CHANGED=0
DC_CONFIG_CHANGED=0
 
# absolute urls for web app
DC_WEB_URL=""
DC_WEB_URL=""
DC_DUMP_DIR=dbdumps
DC_DUMP_DIR=dbdumps
@@ -77,6 +79,19 @@ ps -ef | grep dockerd-rootless | grep -q $USER && isDockerRootless=1
@@ -77,6 +79,19 @@ ps -ef | grep dockerd-rootless | grep -q $USER && isDockerRootless=1
# FUNCTIONS
# FUNCTIONS
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
 
# check config for changes in newer versions
 
function _checkConfig(){
 
 
# --- v1.24
 
if [ -z "$WEBURL" ]; then
 
echo -e "${fgBrown}INFO: add 'WEBURL=\"/\"' in your ${_self}.cfg. It is a new var since v1.24"
 
WEBURL="/"
 
fi
 
if [ -n "$frontendurl" ]; then
 
echo "INFO: Remove frontendurl=$frontendurl in your ${_self}.cfg. It is obsolete since v1.24"
 
fi
 
 
}
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# STATUS FUNCTIONS
# STATUS FUNCTIONS
@@ -118,10 +133,14 @@ function _getStatus_docker(){
@@ -118,10 +133,14 @@ function _getStatus_docker(){
# Get web url of the application
# Get web url of the application
# It is for support of Nginx Docker Proxy
# It is for support of Nginx Docker Proxy
# https://github.com/axelhahn/nginx-docker-proxy
# https://github.com/axelhahn/nginx-docker-proxy
# It returns http://localhost:<port> or a https://<appname>
# It returns http://localhost:<port> or a https://<appname> plus $WEBURL
function _getWebUrl(){
function _getWebUrl(){
DC_WEB_URL="$frontendurl"
if grep -q "^[0-9\.]* ${APP_NAME}-server" /etc/hosts; then
grep -q "${APP_NAME}-server" /etc/hosts && DC_WEB_URL="https://${APP_NAME}-server/"
DC_WEB_URL="https://${APP_NAME}-server$WEBURL"
 
else
 
DC_WEB_URL=http://localhost:${APP_PORT}$WEBURL
 
fi
 
set +vx
}
}
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
@@ -141,7 +160,7 @@ function h3(){
@@ -141,7 +160,7 @@ function h3(){
# helper for menu: print an inverted key
# helper for menu: print an inverted key
function _key(){
function _key(){
echo -en "\e[4;7m ${1} \e[0m"
echo -en "$fgInvert ${1} $fgReset"
}
}
# helper for menu: show hint text
# helper for menu: show hint text
@@ -170,7 +189,7 @@ function showMenu(){
@@ -170,7 +189,7 @@ function showMenu(){
fi
fi
if [ $isDockerRootless -eq 1 ] || [ $_bAll -eq 1 ]; then
if [ $isDockerRootless -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "Beause rootless docker was found"
menuhint $_bAll "Because rootless docker was found"
echo "${_spacer}$( _key i ) - init application: set permissions"
echo "${_spacer}$( _key i ) - init application: set permissions"
echo
echo
fi
fi
@@ -185,7 +204,10 @@ function showMenu(){
@@ -185,7 +204,10 @@ function showMenu(){
echo "${_spacer}$( _key T ) - remove generated files"
echo "${_spacer}$( _key T ) - remove generated files"
echo
echo
fi
fi
if [ $DC_WEB_UP -eq 0 ] || [ $DC_DB_UP -eq 0 ] || [ $_bAll -eq 1 ]; then
if [ $DC_WEB_UP -eq 0 ] \
 
|| [ $DC_DB_UP -eq 0 ] && [ ! "$DB_ADD" = "false" ] \
 
|| [ $_bAll -eq 1 \
 
]; then
if [ $DC_CONFIG_CHANGED -eq 0 ] || [ $_bAll -eq 1 ]; then
if [ $DC_CONFIG_CHANGED -eq 0 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "A container is down and config is unchanged"
menuhint $_bAll "A container is down and config is unchanged"
echo "${_spacer}$( _key u ) - startup containers docker-compose ... up -d"
echo "${_spacer}$( _key u ) - startup containers docker-compose ... up -d"
@@ -196,7 +218,7 @@ function showMenu(){
@@ -196,7 +218,7 @@ function showMenu(){
fi
fi
fi
fi
if [ $DC_WEB_UP -eq 1 ] || [ $DC_DB_UP -eq 1 ] || [ $_bAll -eq 1 ]; then
if [ $DC_WEB_UP -eq 1 ] || [ $DC_DB_UP -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "${_spacer}A container is up"
menuhint $_bAll "A container is up"
echo "${_spacer}$( _key s ) - shutdown containers docker-compose stop"
echo "${_spacer}$( _key s ) - shutdown containers docker-compose stop"
echo
echo
echo "${_spacer}$( _key m ) - more infos"
echo "${_spacer}$( _key m ) - more infos"
@@ -362,7 +384,7 @@ function _fix_no-db(){
@@ -362,7 +384,7 @@ function _fix_no-db(){
local iStart; typeset -i iStart
local iStart; typeset -i iStart
iStart=$( grep -Fn "$CUTTER_NO_DATABASE" "${_file}" | cut -f 1 -d ':' )-1
iStart=$( grep -Fn "$CUTTER_NO_DATABASE" "${_file}" | cut -f 1 -d ':' )-1
if [ $iStart -gt 0 ]; then
if [ $iStart -gt 0 ]; then
sed -ni "1,${iStart}p" "${_file}"
sed -n "$sed_no_backup" "1,${iStart}p" "${_file}"
fi
fi
fi
fi
}
}
@@ -424,14 +446,15 @@ function _generateFiles(){
@@ -424,14 +446,15 @@ function _generateFiles(){
# write file from line 2 to a tmp file
# write file from line 2 to a tmp file
sed -n '2,$p' "$mytpl" >"$_tmpfile"
sed -n '2,$p' "$mytpl" >"$_tmpfile"
 
chmod "$( stat -c %a "$mytpl" )" "$_tmpfile"
# add generator
# add generator
# sed -i "s#{{generator}}#generated by $0 - template: $mytpl - $( date )#g" $_tmpfile
# sed -i "s#{{generator}}#generated by $0 - template: $mytpl - $( date )#g" $_tmpfile
local _md5; _md5=$( md5sum $_tmpfile | awk '{ print $1 }' )
local _md5; _md5=$( md5sum $_tmpfile | awk '{ print $1 }' )
sed -i "s#{{generator}}#GENERATED BY $_self - template: $mytpl - $_md5#g" $_tmpfile
sed -i "$sed_no_backup" "s#{{generator}}#GENERATED BY $_self - template: $mytpl - $_md5#g" $_tmpfile
# apply all replacements to the tmp file
# apply all replacements to the tmp file
eval sed -i "$params" "$_tmpfile" || exit
eval sed "$sed_no_backup" "$params" "$_tmpfile" || exit
_fix_no-db $_tmpfile
_fix_no-db $_tmpfile
@@ -444,7 +467,7 @@ function _generateFiles(){
@@ -444,7 +467,7 @@ function _generateFiles(){
echo -n "$mytpl - changes detected - writing [$target] ... "
echo -n "$mytpl - changes detected - writing [$target] ... "
mkdir -p "$( dirname ../"$target" )" || exit 2
mkdir -p "$( dirname ../"$target" )" || exit 2
mv "$_tmpfile" "../$target" || exit 2
mv "$_tmpfile" "../$target" || exit 2
echo OK
echo -e "${fgGreen}OK${fgReset}"
echo
echo
fi
fi
else
else
@@ -473,7 +496,7 @@ function _removeGeneratedFiles(){
@@ -473,7 +496,7 @@ function _removeGeneratedFiles(){
echo -n "REMOVING "
echo -n "REMOVING "
ls -l "../$target" || exit 2
ls -l "../$target" || exit 2
rm -f "../$target" || exit 2
rm -f "../$target" || exit 2
echo OK
echo -e "${fgGreen}OK${fgReset}"
else
else
echo "SKIP: $target"
echo "SKIP: $target"
fi
fi
@@ -608,7 +631,10 @@ function _dbImport(){
@@ -608,7 +631,10 @@ function _dbImport(){
fi
fi
echo -n "Importing $dumpfile ... "
echo -n "Importing $dumpfile ... "
if zcat "$dumpfile" | docker exec -i "${APP_NAME}-db" mysql -uroot -p${MYSQL_ROOT_PASS} "${MYSQL_DB}"
 
# Mac OS compatibility
 
# if zcat "$dumpfile" | docker exec -i "${APP_NAME}-db" mysql -uroot -p${MYSQL_ROOT_PASS} "${MYSQL_DB}"
 
if cat "$dumpfile" | zcat | docker exec -i "${APP_NAME}-db" mysql -uroot -p${MYSQL_ROOT_PASS} "${MYSQL_DB}"
then
then
echo "OK"
echo "OK"
else
else
@@ -620,6 +646,18 @@ function _dbImport(){
@@ -620,6 +646,18 @@ function _dbImport(){
# MAIN
# MAIN
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
 
_checkConfig
 
 
# Mac OS compatibility
 
case "$OSTYPE" in
 
darwin*|bsd*)
 
sed_no_backup=" -i '' "
 
;;
 
*)
 
sed_no_backup="-i"
 
;;
 
esac
 
action=$1; shift 1
action=$1; shift 1
while true; do
while true; do
Loading