Compare commits
3 Commits
docker_too
...
master
Author | SHA1 | Date | |
---|---|---|---|
58f1259e90 | |||
9462b195c5 | |||
67101865a7 |
@ -1,12 +1,13 @@
|
|||||||
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,
|
||||||
- docker_start, docker_stop & docker_logs command.
|
- docker_start, docker_stop & docker_logs command,
|
||||||
|
- docker_service_add env file function.
|
||||||
|
|
||||||
|
|
||||||
Enjoy it!
|
Enjoy it!
|
||||||
@ -15,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
|
||||||
|
@ -1,3 +1,32 @@
|
|||||||
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
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
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- New dynamic service environment variable generator support:
|
||||||
|
- Implement docker_service_add function.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
Docker Tools V 1.0.0 - A. GIBERT - 2024/10/05
|
Docker Tools V 1.0.0 - A. GIBERT - 2024/10/05
|
||||||
------------------------------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
15
sbin/docker_build_push
Executable file
15
sbin/docker_build_push
Executable 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
|
@ -4,11 +4,246 @@
|
|||||||
set -o errexit
|
set -o errexit
|
||||||
|
|
||||||
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
APPL_HOME_DIR="$(dirname "$(dirname "$0")")"
|
||||||
|
DYNVAR_LIST=""
|
||||||
|
|
||||||
version="$1"
|
version="$1"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
function dynvar_export
|
||||||
|
{
|
||||||
|
var=$1
|
||||||
|
value=$2
|
||||||
|
|
||||||
|
|
||||||
|
eval export ${var}=\"${value}\"
|
||||||
|
|
||||||
|
DYNVAR_LIST+=" ${var}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
function docker_service_add
|
||||||
|
{
|
||||||
|
varible_prefix="$1"
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
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}_${}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
. ${APPL_HOME_DIR}/env
|
. ${APPL_HOME_DIR}/env
|
||||||
|
|
||||||
@ -25,7 +260,7 @@ fi
|
|||||||
|
|
||||||
>${APPL_HOME_DIR}/.env
|
>${APPL_HOME_DIR}/.env
|
||||||
|
|
||||||
for var in $(grep "^ *[a-zA-Z0-9_-]*=" ${APPL_HOME_DIR}/env | sed -e "s/=.*//" -e "s/ *//" | sort -u)
|
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
|
do
|
||||||
echo "${var}='${!var}'" >>${APPL_HOME_DIR}/.env
|
echo "${var}='${!var}'" >>${APPL_HOME_DIR}/.env
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user