Compare commits

...

2 Commits

Author SHA1 Message Date
58f1259e90 - Improve docker_service_add function.
- Warning: API break!
2024-11-17 19:30:48 +01:00
9462b195c5 - Move repo from Rx3/docker_tools to Rx3-Docker/docker_tools,
- docker_service_add:
    - Add *_LOG_* variable generation,
- Add docker_build_push command.
2024-11-15 20:18:44 +01:00
4 changed files with 201 additions and 17 deletions

View File

@ -1,8 +1,8 @@
Welcome to Docker Tools! Welcome to Rx3-Docker/Docker Tools!
This is project aims to give some basic tools to be used by others Rx3 docker packaging projects. This project aims to give some basic tools to be used by other Rx3 docker packaging projects.
Features: Features:
- docker_mk_env command to compile env file into .env file, - docker_mk_env command to compile env file into .env file,
@ -16,4 +16,4 @@ Your Docker Tools Team.
-- --
arnaud@rx3.net arnaud@rx3.net
https://git.rx3.org/gitea/rx3/docker_tools https://git.rx3.org/gitea/rx3-docker/docker_tools

View File

@ -1,3 +1,23 @@
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Docker Tools V 1.3.0 - A. GIBERT - 2024/11/xx
------------------------------------------------------------------------------------------------------------------------------------
- Improve docker_service_add function.
- Warning: API break!
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Docker Tools V 1.2.0 - A. GIBERT - 2024/11/15
------------------------------------------------------------------------------------------------------------------------------------
- Move repo from Rx3/docker_tools to Rx3-Docker/docker_tools,
- docker_service_add:
- Add *_LOG_* variable generation,
- Add docker_build_push command.
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
Docker Tools V 1.1.0 - A. GIBERT - 2024/11/03 Docker Tools V 1.1.0 - A. GIBERT - 2024/11/03
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------

15
sbin/docker_build_push Executable file
View File

@ -0,0 +1,15 @@
#!/bin/bash
#-------------------------------------------------------------------------------
set -o errexit
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
#-------------------------------------------------------------------------------
sbin/docker_mk_env
docker compose build
docker compose push

View File

@ -29,48 +29,197 @@ function docker_service_add
{ {
varible_prefix="$1" varible_prefix="$1"
shift shift
for var in target_url_prefix target_name target_name_full target_version from_url_prefix from_name from_version module_name module_version port_main_ext port_main_int port_admin_ext port_admin_int user_name_id group_name_id
do
eval ${var}=\"${1}\"
shift
done
for var in NAME NAME_FULL URL_PREFIX IMG_NAME VERSION_EXT VERSION_INT PORT_MAIN_EXT PORT_MAIN_INT PORT_ADMIN_EXT PORT_ADMIN_INT USER_NAME GROUP_NAME
if [[ "${module_name}" == "-" ]]
then
module_name="${target_name}"
fi
# Global Image variables
dynvar_export "${varible_prefix}_IMG_NAME" "${target_name}"
dynvar_export "${varible_prefix}_IMG_NAME_FULL" "${target_name_full}"
dynvar_export "${varible_prefix}_IMG_VERSION" "${target_version}"
dynvar_export "${varible_prefix}_IMG_MAINTAINER" "\${ORG_MAINTAINER}"
dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}/${target_name}:${target_version}"
if [[ "${HOST_NAME_PREFIX}" == "" ]]
then
prefix=""
else
prefix="${HOST_NAME_PREFIX}-"
fi
dynvar_export "${varible_prefix}_HOST_NAME" "${prefix}${target_name}"
# Building
if [[ "${target_name_full}" != "-" ]]
then
# Build
dynvar_export "${varible_prefix}_MODULE_NAME" "${module_name}"
dynvar_export "${varible_prefix}_MODULE_PATH" "src/${module_name}"
dynvar_export "${varible_prefix}_MODULE_VERSION" "${module_version}"
dynvar_export "${varible_prefix}_IMG_FROM_URL" "${from_url_prefix}/${from_name}:${from_version}"
fi
# Volume Directories
if [[ "${APPL_NAME}" != "" ]]
then
log_ext_suffix="-${target_name}"
else
log_ext_suffix=""
fi
dynvar_export "${varible_prefix}_LIB_INT" "/var/lib/${module_name}"
dynvar_export "${varible_prefix}_LIB_EXT" "./var/lib/${module_name}"
dynvar_export "${varible_prefix}_LOG_INIT_INT" "/var/log/init"
dynvar_export "${varible_prefix}_LOG_INIT_EXT" "./var/log/init${log_ext_suffix}"
dynvar_export "${varible_prefix}_LOG_SV_INT" "/var/log/supervisor"
dynvar_export "${varible_prefix}_LOG_SV_EXT" "./var/log/supervisor${log_ext_suffix}"
dynvar_export "${varible_prefix}_LOG_POST_INT" "/var/log/supervisor"
dynvar_export "${varible_prefix}_LOG_POST_EXT" "./var/log/supervisor${log_ext_suffix}"
dynvar_export "${varible_prefix}_LOG_MAIN_INT" "/var/log/${module_name}"
dynvar_export "${varible_prefix}_LOG_MAIN_EXT" "./var/log/${module_name}"
dynvar_export "${varible_prefix}_IMG_URL" "${target_url_prefix}/${target_name}:${target_version}"
# Ports
dynvar_export "${varible_prefix}_PORT_MAIN_INT" "${port_main_int}"
dynvar_export "${varible_prefix}_PORT_MAIN_EXT" "\$(( ${port_main_ext} + ${PORT_ENV_OFFSET}))"
dynvar_export "${varible_prefix}_PORT_SV_INT" "9001"
dynvar_export "${varible_prefix}_PORT_SV_EXT" "\$(( \${${varible_prefix}_PORT_MAIN_EXT} + ${PORT_SV_OFFSET}))"
if [[ "${port_admin_int}" != "-" ]]
then
dynvar_export "${varible_prefix}_PORT_ADMIN_INT" "${port_admin_int}"
dynvar_export "${varible_prefix}_PORT_ADMIN_EXT" "\$(( ${port_admin_ext} + ${PORT_ENV_OFFSET}))"
fi
# User & Group
if [[ "${user_name_id}" == "-" ]]
then
user_name="-"
user_id="-"
else
if [[ "${user_name_id}" =~ ^[0-9]+$ ]]
then
user_name="-"
user_id="${user_name_id}"
else
user_name="${user_name_id}"
user_id="$( id -u "${user_name}")"
fi
fi
dynvar_export "${varible_prefix}_USER_NAME" "${user_name}"
dynvar_export "${varible_prefix}_USER_ID" "${user_id}"
if [[ "${group_name_id}" == "-" ]]
then
group_name="-"
group_id="-"
else
if [[ "${group_name_id}" =~ ^[0-9]+$ ]]
then
group_name="-"
group_id="${group_name_id}"
else
group_name="${group_name_id}"
group_id="$( getent group "${group_name}" | cut -d: -f3)"
fi
fi
dynvar_export "${varible_prefix}_GROUP_NAME" "${group_name}"
dynvar_export "${varible_prefix}_GROUP_ID" "${group_id}"
dynvar_export "${varible_prefix}_CONTEXT_PATH" "/${APPL_NAME}/${target_name}/"
}
#-------------------------------------------------------------------------------
function zdocker_service_add
{
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 do
dynvar_export "${varible_prefix}_${var}" "$1" dynvar_export "${varible_prefix}_${var}" "$1"
shift shift
done 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}) != "-" ]] if [[ $( eval echo \${${varible_prefix}_IMG_NAME}) != "-" ]]
then then
# No Build # No Build
dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_IMG_NAME}:\${${varible_prefix}_VERSION_INT}" dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_IMG_NAME}:\${${varible_prefix}_VERSION_EXT}"
else else
# Build # Build
dynvar_export "${varible_prefix}_IMG_URL" "\${${varible_prefix}_URL_PREFIX}/\${${varible_prefix}_NAME}:\${${varible_prefix}_VERSION_INT}" 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_NAME" "\${${varible_prefix}_NAME}"
dynvar_export "${varible_prefix}_MODULE_PATH" "src/\${${varible_prefix}_NAME}" dynvar_export "${varible_prefix}_MODULE_PATH" "src/\${${varible_prefix}_NAME}"
fi fi
dynvar_export "${varible_prefix}_CONTAINER_NAME" "${CONTAINER_NAME_PREFIX}-\${${varible_prefix}_NAME}" 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}_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_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_EXT" "\$(( \${${varible_prefix}_PORT_MAIN_EXT} + ${PORT_SV_OFFSET}))"
dynvar_export "${varible_prefix}_PORT_SV_INT" "9001" dynvar_export "${varible_prefix}_PORT_SV_INT" "9001"
if [[ $( eval echo \${${varible_prefix}_PORT_ADMIN_EXT}) != "-" ]] if [[ $( eval echo \${${varible_prefix}_PORT_ADMIN_EXT}) != "-" ]]
then then
dynvar_export "${varible_prefix}_PORT_ADMIN_EXT" "\$(( \${${varible_prefix}_PORT_ADMIN_EXT} + ${PORT_ENV_OFFSET}))" dynvar_export "${varible_prefix}_PORT_ADMIN_EXT" "\$(( \${${varible_prefix}_PORT_ADMIN_EXT} + ${PORT_ENV_OFFSET}))"
fi fi
if [[ $( eval echo \${${varible_prefix}_USER_NAME}) == "-" ]] if [[ $( eval echo \${${varible_prefix}_USER_NAME}) == "-" ]]
then then
dynvar_export "${varible_prefix}_USER_ID" "-" dynvar_export "${varible_prefix}_USER_ID" "-"
else else
if [[ $( eval echo \${${varible_prefix}_USER_NAME}) =~ ^[0-9]+$ ]] if [[ $( eval echo \${${varible_prefix}_USER_NAME}) =~ ^[0-9]+$ ]]
then then
dynvar_export "${varible_prefix}_USER_ID" "\${${varible_prefix}_USER_NAME}" dynvar_export "${varible_prefix}_USER_ID" "\${${varible_prefix}_USER_NAME}"
else else
dynvar_export "${varible_prefix}_USER_ID" "\$( id -u \${${varible_prefix}_USER_NAME})" dynvar_export "${varible_prefix}_USER_ID" "\$( id -u \${${varible_prefix}_USER_NAME})"
fi fi
fi fi