|
|
|
|
@@ -7,11 +7,17 @@
|
|
|
|
|
#
|
|
|
|
|
# DOCKER_TOOLS_VOLUME= SINGLE | MERGED | SPLITED # Default: SPLITED
|
|
|
|
|
# SINGLE: Merged volume mode + No service suffix
|
|
|
|
|
# MERGED: Merged volume mode + Service suffix
|
|
|
|
|
# MIXED: Merged volume mode + Init/SV log Service suffix
|
|
|
|
|
# MERGED: Merged volume mode + Full service suffix
|
|
|
|
|
# SPLITED: By service volume mode + No service suffix
|
|
|
|
|
#
|
|
|
|
|
# DOCKER_TOOLS_EXEPTION_LIBS="module_name:lib_dir_name ..."
|
|
|
|
|
# Example: postgres:pgsq
|
|
|
|
|
# Example: "postgres:pgsq httpd:/var/www/html"
|
|
|
|
|
#
|
|
|
|
|
# DOCKER_TOOLS_EXEPTION_LOGS="module_name:log_dir_name ..."
|
|
|
|
|
# Example: "postgres:web-server:httpd"
|
|
|
|
|
#
|
|
|
|
|
# DOCKER_TOOLS_USER_GROUP_FORCE= TRUE | FALSE # Force using curent user / group (Default FALSE)
|
|
|
|
|
#
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
@@ -81,6 +87,25 @@ function module_lib_name_get
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
function module_log_name_get
|
|
|
|
|
{
|
|
|
|
|
module=$1
|
|
|
|
|
|
|
|
|
|
for tup in ${DOCKER_TOOLS_EXEPTION_LOGS}
|
|
|
|
|
do
|
|
|
|
|
if [[ "${module}" == "${tup/:*}" ]]
|
|
|
|
|
then
|
|
|
|
|
echo ${tup/*:}
|
|
|
|
|
return
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
echo "${module}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
function docker_service_add
|
|
|
|
|
{
|
|
|
|
|
@@ -165,11 +190,20 @@ function docker_service_add
|
|
|
|
|
volume_prefix="./mnt/${service_name}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ "${DOCKER_TOOLS_VOLUME}" != "MERGED" ]]
|
|
|
|
|
|
|
|
|
|
if [[ "${DOCKER_TOOLS_VOLUME}" == "SINGLE" ]] || [[ "${DOCKER_TOOLS_VOLUME}" == "SPLITED" ]]
|
|
|
|
|
then
|
|
|
|
|
volume_suffix_ext=""
|
|
|
|
|
volume_suffix_initsv_ext=""
|
|
|
|
|
volume_suffix_module_ext=""
|
|
|
|
|
else
|
|
|
|
|
volume_suffix_ext="${service_name}"
|
|
|
|
|
volume_suffix_initsv_ext="${service_name}"
|
|
|
|
|
|
|
|
|
|
if [[ "${DOCKER_TOOLS_VOLUME}" == "MIXED" ]]
|
|
|
|
|
then
|
|
|
|
|
volume_suffix_module_ext=""
|
|
|
|
|
else
|
|
|
|
|
volume_suffix_module_ext="${service_name}"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -182,24 +216,34 @@ function docker_service_add
|
|
|
|
|
path_prefix=""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module_lib_path=${path_prefix}${module_lib_name}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module_log_name="$( module_log_name_get "${module_name}")"
|
|
|
|
|
|
|
|
|
|
if [[ "${module_log_name}" != /* ]]
|
|
|
|
|
then
|
|
|
|
|
path_prefix="/var/log/"
|
|
|
|
|
else
|
|
|
|
|
path_prefix=""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
module_log_path=${path_prefix}${module_log_name}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_LIB_INT" "${module_lib_path}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LIB_EXT" "$( psfix_cat "${volume_prefix}${module_lib_path}" "-" "${volume_suffix_ext}")"
|
|
|
|
|
dynvar_export "${varible_prefix}_LIB_EXT" "$( psfix_cat "${volume_prefix}${module_lib_path}" "-" "${volume_suffix_module_ext}")"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# dynvar_export "${varible_prefix}_LIB_INT" "/var/lib/${module_lib_name}"
|
|
|
|
|
# dynvar_export "${varible_prefix}_LIB_EXT" "$( psfix_cat "${volume_prefix}/var/lib/${module_lib_name}" "-" "${volume_suffix_ext}")"
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_INIT_INT" "/var/log/init"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "$( psfix_cat "${volume_prefix}/var/log/init" "-" "${volume_suffix_ext}")"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "$( psfix_cat "${volume_prefix}/var/log/init" "-" "${volume_suffix_initsv_ext}")"
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_SV_INT" "/var/log/supervisor"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_SV_EXT" "$( psfix_cat "${volume_prefix}/var/log/supervisor" "-" "${volume_suffix_ext}")"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_SV_EXT" "$( psfix_cat "${volume_prefix}/var/log/supervisor" "-" "${volume_suffix_initsv_ext}")"
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_MAIN_INT" "${module_log_path}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "$( psfix_cat "${volume_prefix}${module_log_path}" "-" "${volume_suffix_module_ext}")"
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_MAIN_INT" "/var/log/${module_name}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "$( psfix_cat "${volume_prefix}/var/log/${module_name}" "-" "${volume_suffix_ext}")"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Ports
|
|
|
|
|
@@ -230,6 +274,11 @@ function docker_service_add
|
|
|
|
|
user_name="-"
|
|
|
|
|
user_id="-"
|
|
|
|
|
else
|
|
|
|
|
if [[ "${DOCKER_TOOLS_USER_GROUP_FORCE}" == "TRUE" ]]
|
|
|
|
|
then
|
|
|
|
|
user_name_id=$( id -u)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ "${user_name_id}" =~ ^[0-9]+$ ]]
|
|
|
|
|
then
|
|
|
|
|
user_name="-"
|
|
|
|
|
@@ -249,6 +298,11 @@ function docker_service_add
|
|
|
|
|
group_name="-"
|
|
|
|
|
group_id="-"
|
|
|
|
|
else
|
|
|
|
|
if [[ "${DOCKER_TOOLS_USER_GROUP_FORCE}" == "TRUE" ]]
|
|
|
|
|
then
|
|
|
|
|
group_name_id=$( id -g)
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ "${group_name_id}" =~ ^[0-9]+$ ]]
|
|
|
|
|
then
|
|
|
|
|
group_name="-"
|
|
|
|
|
@@ -265,90 +319,6 @@ function docker_service_add
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
function docker_service_add-12
|
|
|
|
|
{
|
|
|
|
|
varible_prefix="$1"
|
|
|
|
|
shift
|
|
|
|
|
|
|
|
|
|
for var in NAME NAME_FULL URL_PREFIX IMG_NAME APPL_NAME VERSION_EXT VERSION_INT PORT_MAIN_EXT PORT_MAIN_INT PORT_ADMIN_EXT PORT_ADMIN_INT USER_NAME GROUP_NAME
|
|
|
|
|
do
|
|
|
|
|
dynvar_export "${varible_prefix}_${var}" "$1"
|
|
|
|
|
shift
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_INIT_INT" "/var/log/init"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "./var/log/init-\${${varible_prefix}_NAME}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_SV_INT" "/var/log/supervisor"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_SV_EXT" "./var/log/supervisor-\${${varible_prefix}_NAME}"
|
|
|
|
|
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_APPL_NAME}) != "-" ]]
|
|
|
|
|
then
|
|
|
|
|
dynvar_export "${varible_prefix}_LIB_INT" "/var/lib/\${${varible_prefix}_APPL_NAME}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LIB_EXT" "./var/lib/\${${varible_prefix}_APPL_NAME}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_MAIN_INT" "/var/log/\${${varible_prefix}_APPL_NAME}"
|
|
|
|
|
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "./var/log/\${${varible_prefix}_APPL_NAME}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_IMG_NAME}) != "-" ]]
|
|
|
|
|
then
|
|
|
|
|
# No Build
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_IMG_NAME}:\${${varible_prefix}_VERSION_EXT}"
|
|
|
|
|
else
|
|
|
|
|
# Build
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_NAME}:\${${varible_prefix}_VERSION_EXT}"
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_MODULE_NAME" "\${${varible_prefix}_NAME}"
|
|
|
|
|
dynvar_export "${varible_prefix}_MODULE_PATH" "src/\${${varible_prefix}_NAME}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_CONTAINER_NAME" "${CONTAINER_NAME_PREFIX}-\${${varible_prefix}_NAME}"
|
|
|
|
|
dynvar_export "${varible_prefix}_HOST" "\${${varible_prefix}_CONTAINER_NAME}"
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_PORT_MAIN_EXT" "\$(( \${${varible_prefix}_PORT_MAIN_EXT} + ${PORT_ENV_OFFSET}))"
|
|
|
|
|
dynvar_export "${varible_prefix}_PORT_SV_EXT" "\$(( \${${varible_prefix}_PORT_MAIN_EXT} + ${PORT_SV_OFFSET}))"
|
|
|
|
|
dynvar_export "${varible_prefix}_PORT_SV_INT" "9001"
|
|
|
|
|
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_PORT_ADMIN_EXT}) != "-" ]]
|
|
|
|
|
then
|
|
|
|
|
dynvar_export "${varible_prefix}_PORT_ADMIN_EXT" "\$(( \${${varible_prefix}_PORT_ADMIN_EXT} + ${PORT_ENV_OFFSET}))"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_USER_NAME}) == "-" ]]
|
|
|
|
|
then
|
|
|
|
|
dynvar_export "${varible_prefix}_USER_ID" "-"
|
|
|
|
|
else
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_USER_NAME}) =~ ^[0-9]+$ ]]
|
|
|
|
|
then
|
|
|
|
|
dynvar_export "${varible_prefix}_USER_ID" "\${${varible_prefix}_USER_NAME}"
|
|
|
|
|
else
|
|
|
|
|
dynvar_export "${varible_prefix}_USER_ID" "\$( id -u \${${varible_prefix}_USER_NAME})"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_GROUP_NAME}) == "-" ]]
|
|
|
|
|
then
|
|
|
|
|
dynvar_export "${varible_prefix}_GROUP_ID" "-"
|
|
|
|
|
else
|
|
|
|
|
if [[ $( eval echo \${${varible_prefix}_GROUP_NAME}) =~ ^[0-9]+$ ]]
|
|
|
|
|
then
|
|
|
|
|
dynvar_export "${varible_prefix}_GROUP_ID" "\${${varible_prefix}_GROUP_NAME}"
|
|
|
|
|
else
|
|
|
|
|
dynvar_export "${varible_prefix}_GROUP_ID" "\$( getent group \${${varible_prefix}_GROUP_NAME} | cut -d: -f3)"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
dynvar_export "${varible_prefix}_CONTEXT_PATH" "/${APPL_NAME}/\${${varible_prefix}_NAME}/"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# dynvar_export "${varible_prefix}_" "${varible_prefix}_${}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#-------------------------------------------------------------------------------
|
|
|
|
|
function docker_config_add
|
|
|
|
|
{
|
|
|
|
|
@@ -377,14 +347,26 @@ fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>${APPL_HOME_DIR}/.env
|
|
|
|
|
>${APPL_HOME_DIR}/.env.sed
|
|
|
|
|
ENV_SED=""
|
|
|
|
|
ENV_NET_SED=""
|
|
|
|
|
|
|
|
|
|
for var in $( ( grep "^ *[a-zA-Z0-9_-]*=" ${APPL_HOME_DIR}/env | sed -e "s/=.*//" -e "s/ *//"; echo ${DYNVAR_LIST} | sed -e 's/ /\n/g') | sort -u)
|
|
|
|
|
do
|
|
|
|
|
echo "${var}='${!var}'" >>${APPL_HOME_DIR}/.env
|
|
|
|
|
echo "s/\${${var}}/${!var//\//\\/}/g" >>${APPL_HOME_DIR}/.env.sed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pat="s/\${${var}}/${!var//\//\\/}/g
|
|
|
|
|
"
|
|
|
|
|
ENV_SED="${ENV_SED}${pat}"
|
|
|
|
|
|
|
|
|
|
if [[ ${var} =~ _HOST_ ]] || ( [[ ${var} =~ _PORT_ ]] && [[ ${var} =~ _INT ]])
|
|
|
|
|
then
|
|
|
|
|
ENV_NET_SED="${ENV_NET_SED}${pat}"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
echo ENV_NET_SED=\'"${ENV_NET_SED}"\' >>${APPL_HOME_DIR}/.env
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for tupple in ${CONFIG_FILE_LIST}
|
|
|
|
|
@@ -397,5 +379,5 @@ do
|
|
|
|
|
IFS=" "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sed <${config_file_source} >${config_file_target} -f ${APPL_HOME_DIR}/.env.sed
|
|
|
|
|
sed <${config_file_source} >${config_file_target} -e "${ENV_SED}"
|
|
|
|
|
done
|
|
|
|
|
|