Skip to content
Snippets Groups Projects
Commit 53a124d6 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

added: show menu hints why some menu items are visible

parent 56d23925
No related branches found
No related tags found
1 merge request!23docker init script: added start of mysql in the database container
......@@ -27,6 +27,7 @@
# 2024-10-16 v1.20 <axel.hahn@unibe.ch> add db import and export
# 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.23 <axel.hahn@unibe.ch> added: show menu hints why some menu items are visible
# ======================================================================
cd "$( dirname "$0" )" || exit 1
......@@ -40,7 +41,7 @@ _self=$( basename "$0" )
# shellcheck source=/dev/null
. "${_self}.cfg" || exit 1
_version="1.22"
_version="1.23"
# git@git-repo.iml.unibe.ch:iml-open-source/docker-php-starterkit.git
selfgitrepo="docker-php-starterkit.git"
......@@ -67,6 +68,7 @@ DC_CONFIG_CHANGED=0
DC_WEB_URL=""
DC_DUMP_DIR=dbdumps
DC_SHOW_MENUHINTS=0
isDockerRootless=0
ps -ef | grep dockerd-rootless | grep -q $USER && isDockerRootless=1
......@@ -142,6 +144,15 @@ function _key(){
echo -en "\e[4;7m ${1} \e[0m"
}
# helper for menu: show hint text
# param int FLag _bAll (i true the txt will be hidden)
# param string message to show
function menuhint(){
local _bAll="$1"
shift 1
test $DC_SHOW_MENUHINTS -ne 0 && test "$_bAll" -eq "0" && ( echo -e "$fgBlue $*$fgReset" )
}
# show menu in interactive mode and list keys in help with param -h
# param string optional: set to "all" to show all menu items
function showMenu(){
......@@ -153,46 +164,60 @@ function showMenu(){
echo
if [ $DC_REPO -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "Git data of starterkit were found"
echo "${_spacer}$( _key g ) - remove git data of starterkit"
echo
fi
if [ $isDockerRootless -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "Beause rootless docker was found"
echo "${_spacer}$( _key i ) - init application: set permissions"
echo
fi
if [ $DC_CONFIG_CHANGED -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "Config was changed"
echo "${_spacer}$( _key t ) - generate files from templates"
echo
fi
if [ $DC_CONFIG_CHANGED -eq 0 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "Config is unchanged"
echo "${_spacer}$( _key T ) - remove generated files"
echo
fi
echo
if [ $DC_WEB_UP -eq 0 ] || [ $DC_DB_UP -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"
echo "${_spacer}$( _key u ) - startup containers docker-compose ... up -d"
echo "${_spacer}$( _key U ) - startup containers docker-compose ... up -d --build"
echo
echo "${_spacer}$( _key r ) - remove containers docker-compose rm -f"
echo
fi
fi
if [ $DC_WEB_UP -eq 1 ] || [ $DC_DB_UP -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "${_spacer}A container is up"
echo "${_spacer}$( _key s ) - shutdown containers docker-compose stop"
echo
echo "${_spacer}$( _key m ) - more infos"
echo "${_spacer}$( _key o ) - open app [${APP_NAME}] $DC_WEB_URL"
echo "${_spacer}$( _key c ) - console (bash)"
echo
fi
if [ $DC_WEB_UP -eq 1 ] || [ $_bAll -eq 1 ]; then
menuhint $_bAll "Web container is up"
echo "${_spacer}$( _key p ) - console check with php linter"
echo
fi
if [ $DC_DB_UP -eq 1 ] || [ $_bAll -eq 1 ]; then
echo
menuhint $_bAll "Database container is up"
echo "${_spacer}$( _key d ) - Dump container database"
echo "${_spacer}$( _key D ) - Import Dump into container database"
echo "${_spacer}$( _key M ) - Open Mysql client in database container"
echo
fi
echo
menuhint $_bAll "Always available"
echo "${_spacer}$( _key q ) - quit"
}
......
......@@ -7,6 +7,7 @@
#
# ----------------------------------------------------------------------
# 2021-12-17 <axel.hahn@iml.unibe.ch>
# 2024-10-30 <axel.hahn@unibe.ch> add DC_SHOW_MENUHINTS
# ======================================================================
APP_NAME=my_new_app
......@@ -47,6 +48,11 @@ MYSQL_USER=${APP_NAME}
MYSQL_PASS=mypassword
MYSQL_DB=${APP_NAME}
# ----------------------------------------------------------------------
# Settings for init.sh
# show hints for menu items in interactive mode
DC_SHOW_MENUHINTS=0
# ======================================================================
......
......@@ -129,6 +129,7 @@ APP_PORT | int | port number for your local machine that
CUTTER_NO_DATABASE | const | do not change it; the string is used to cut templates from there if no database is used
DB_ADD | bool | flag: do you add a Mariadb container? default: false
DB_PORT | int | port number for your local machine that will be mapped to port 3306 in the container; You can use it in a local db manager; remark: tha apache container needs 3306 and not the mapped port.
DC_SHOW_MENUHINTS | int | Flag to show a notice why menu items are visible; default: 0 (off)
DOCKER_USER_UID | int | unix uid of the httpd service user in apache container; it's not needed to change; default: 33
MYSQL_ALLOW_EMPTY_PASSWORD | int | flag: 0
MYSQL_DB | string | name of database; defaut is app name ${APP_NAME}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment