5 Commits

4 changed files with 62 additions and 105 deletions

View File

@@ -13,8 +13,9 @@ Features:
Support different mounted volume modes:
- Single,
- Merged, (Old mode)
- Splited. (Default)
- Mixed (Old mode),
- Merged,
- Splited (Default).
Enjoy it!

View File

@@ -1,3 +1,27 @@
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Docker Tools V 1.3.7 - A. GIBERT - 2025/03/31
------------------------------------------------------------------------------------------------------------------------------------
- Remove ${service_name} == ${APPL_NAME} exption hangling of *_IMG_URL.
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Docker Tools V 1.3.6 - A. GIBERT - 2025/01/31
------------------------------------------------------------------------------------------------------------------------------------
- Add a new DOCKER_TOOLS_USER_GROUP_FORCE env variable support.
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Docker Tools V 1.3.5 - A. GIBERT - 2025/01/24
------------------------------------------------------------------------------------------------------------------------------------
- Add a new DOCKER_TOOLS_VOLUME mode: "MIXED".
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Docker Tools V 1.3.4 - A. GIBERT - 2025/01/13
------------------------------------------------------------------------------------------------------------------------------------

View File

@@ -1,7 +1,7 @@
#!/bin/bash
#-------------------------------------------------------------------------------
set -o errexit
#set -o errexit

View File

@@ -3,11 +3,12 @@
#-------------------------------------------------------------------------------
#
# DOCKER_TOOLS_DEBUG= TRUE | FALSE # Enable debugging (Default FALSE)
# DOCKER_TOOLS_DEBUG= TRUE | FALSE # Enable debugging (Default FALSE)
#
# DOCKER_TOOLS_VOLUME= SINGLE | MERGED | SPLITED # Default: SPLITED
# DOCKER_TOOLS_VOLUME= SINGLE | MIXED | 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 ..."
@@ -16,6 +17,8 @@
# 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)
#
#-------------------------------------------------------------------------------
set -o errexit
@@ -137,10 +140,10 @@ function docker_service_add
if [[ "${service_name}" == "${APPL_NAME}" ]]
then
dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}:${target_version}"
# dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}:${target_version}"
dynvar_export "${varible_prefix}_HOST_NAME" "$( psfix_cat "${HOST_NAME_PREFIX}" "-" "webapp")"
else
dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}/${target_name}:${target_version}"
# dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}/${target_name}:${target_version}"
dynvar_export "${varible_prefix}_HOST_NAME" "$( psfix_cat "${HOST_NAME_PREFIX}" "-" "${service_name}")"
fi
@@ -187,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
@@ -220,23 +232,17 @@ function docker_service_add
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_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}")"
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "$( psfix_cat "${volume_prefix}${module_log_path}" "-" "${volume_suffix_module_ext}")"
@@ -268,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="-"
@@ -287,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="-"
@@ -303,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
{