From 724112787057e555875b8f8cd0541cb8c2f91070 Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Fri, 9 May 2025 09:48:56 +0000 Subject: [PATCH 1/5] fix: test ENV existence before exporting to config - test `DB_SERVER_SOCKET` before set `ZBX_DB_SOCKET` - test `DB_SERVER_HOST` before set `ZBX_DB_HOST` - test `DB_SERVER_PORT` before set `ZBX_DB_PORT` - remove trailing spaces in `docker-entrypoint.sh` files --- Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh | 9 ++++----- Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh | 9 ++++----- Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh | 9 ++++----- Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh | 9 ++++----- Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh | 9 ++++----- Dockerfiles/server-mysql/alpine/docker-entrypoint.sh | 9 ++++----- Dockerfiles/server-mysql/centos/docker-entrypoint.sh | 9 ++++----- Dockerfiles/server-mysql/ol/docker-entrypoint.sh | 9 ++++----- Dockerfiles/server-mysql/rhel/docker-entrypoint.sh | 9 ++++----- Dockerfiles/server-mysql/ubuntu/Dockerfile | 2 +- Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh | 9 ++++----- Dockerfiles/web-apache-pgsql/alpine/docker-entrypoint.sh | 2 +- Dockerfiles/web-apache-pgsql/centos/docker-entrypoint.sh | 2 +- 13 files changed, 43 insertions(+), 53 deletions(-) diff --git a/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh index 495d3f440..b483e3370 100755 --- a/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh @@ -349,11 +349,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh index 5f8cf2878..04c88948a 100755 --- a/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh @@ -346,11 +346,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh index 5f8cf2878..04c88948a 100755 --- a/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh @@ -346,11 +346,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh index 5f8cf2878..04c88948a 100755 --- a/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh @@ -346,11 +346,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh index 5f8cf2878..04c88948a 100755 --- a/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh @@ -346,11 +346,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh index 05ac7b655..0dc980a46 100755 --- a/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh @@ -362,11 +362,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/server-mysql/centos/docker-entrypoint.sh b/Dockerfiles/server-mysql/centos/docker-entrypoint.sh index 92a88736a..26098a557 100755 --- a/Dockerfiles/server-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/centos/docker-entrypoint.sh @@ -359,11 +359,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/server-mysql/ol/docker-entrypoint.sh b/Dockerfiles/server-mysql/ol/docker-entrypoint.sh index 92a88736a..26098a557 100755 --- a/Dockerfiles/server-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/ol/docker-entrypoint.sh @@ -359,11 +359,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh index 92a88736a..26098a557 100755 --- a/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh @@ -359,11 +359,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/server-mysql/ubuntu/Dockerfile b/Dockerfiles/server-mysql/ubuntu/Dockerfile index 1768c6b57..15fc3b721 100644 --- a/Dockerfiles/server-mysql/ubuntu/Dockerfile +++ b/Dockerfiles/server-mysql/ubuntu/Dockerfile @@ -122,7 +122,7 @@ RUN --mount=type=cache,target=/var/cache/apt/,sharing=locked \ EXPOSE 10051/TCP WORKDIR ${ZABBIX_USER_HOME_DIR} - + VOLUME ["${ZABBIX_USER_HOME_DIR}/snmptraps", "${ZABBIX_USER_HOME_DIR}/export"] COPY ["docker-entrypoint.sh", "/usr/bin/"] diff --git a/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh index 92a88736a..26098a557 100755 --- a/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh @@ -359,11 +359,10 @@ create_db_schema_mysql() { } update_zbx_config() { - export ZBX_DB_HOST="${DB_SERVER_HOST}" - export ZBX_DB_PORT="${DB_SERVER_PORT}" - if [ -n "${DB_SERVER_SOCKET}" ]; then - export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" - fi + test -z "${DB_SERVER_SOCKET}" || export ZBX_DB_SOCKET="${DB_SERVER_SOCKET}" + test -z "${DB_SERVER_HOST}" || export ZBX_DB_HOST="${DB_SERVER_HOST}" + test -z "${DB_SERVER_PORT}" || export ZBX_DB_PORT="${DB_SERVER_PORT}" + export ZBX_DB_NAME="${DB_SERVER_DBNAME}" if [ -n "${ZBX_VAULT}" ] && [ -n "${ZBX_VAULTURL}" ] && [ ! -n "${ZBX_VAULTDBPATH}" ]; then diff --git a/Dockerfiles/web-apache-pgsql/alpine/docker-entrypoint.sh b/Dockerfiles/web-apache-pgsql/alpine/docker-entrypoint.sh index 69cfb8488..025d2b264 100755 --- a/Dockerfiles/web-apache-pgsql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-pgsql/alpine/docker-entrypoint.sh @@ -24,7 +24,7 @@ fi # DefaultRuntimeDir configuration option value export APACHE_RUN_DIR="/tmp/apache2" - + # Default directories # Apache main configuration file HTTPD_CONF_FILE="/etc/apache2/httpd.conf" diff --git a/Dockerfiles/web-apache-pgsql/centos/docker-entrypoint.sh b/Dockerfiles/web-apache-pgsql/centos/docker-entrypoint.sh index 4e97a986b..83452cdd2 100755 --- a/Dockerfiles/web-apache-pgsql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-pgsql/centos/docker-entrypoint.sh @@ -24,7 +24,7 @@ fi # DefaultRuntimeDir configuration option value export APACHE_RUN_DIR="/tmp/httpd" - + # Default directories # Apache main configuration file HTTPD_CONF_FILE="/etc/httpd/conf/httpd.conf" From 9cfea015c8cd768a26b4f0786a92be16590736ca Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Fri, 9 May 2025 10:01:48 +0000 Subject: [PATCH 2/5] refactor: unify mysql_connect_args condition logic - Refactored mysql_connect_args to be set under a single condition --- Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh | 10 ++++------ Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh | 10 ++++------ Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh | 10 ++++------ Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh | 10 ++++------ Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh | 10 ++++------ Dockerfiles/server-mysql/alpine/docker-entrypoint.sh | 10 ++++------ Dockerfiles/server-mysql/centos/docker-entrypoint.sh | 10 ++++------ Dockerfiles/server-mysql/ol/docker-entrypoint.sh | 10 ++++------ Dockerfiles/server-mysql/rhel/docker-entrypoint.sh | 10 ++++------ Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh | 10 ++++------ 10 files changed, 40 insertions(+), 60 deletions(-) diff --git a/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh index b483e3370..c05344e73 100755 --- a/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/alpine/docker-entrypoint.sh @@ -160,9 +160,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix_proxy"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh index 04c88948a..d75736afc 100755 --- a/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/centos/docker-entrypoint.sh @@ -160,9 +160,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix_proxy"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh index 04c88948a..d75736afc 100755 --- a/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/ol/docker-entrypoint.sh @@ -160,9 +160,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix_proxy"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh index 04c88948a..d75736afc 100755 --- a/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/rhel/docker-entrypoint.sh @@ -160,9 +160,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix_proxy"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh index 04c88948a..d75736afc 100755 --- a/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/proxy-mysql/ubuntu/docker-entrypoint.sh @@ -160,9 +160,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix_proxy"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh index 0dc980a46..286d9daaa 100755 --- a/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/alpine/docker-entrypoint.sh @@ -159,9 +159,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/server-mysql/centos/docker-entrypoint.sh b/Dockerfiles/server-mysql/centos/docker-entrypoint.sh index 26098a557..eb921121d 100755 --- a/Dockerfiles/server-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/centos/docker-entrypoint.sh @@ -159,9 +159,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/server-mysql/ol/docker-entrypoint.sh b/Dockerfiles/server-mysql/ol/docker-entrypoint.sh index 26098a557..eb921121d 100755 --- a/Dockerfiles/server-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/ol/docker-entrypoint.sh @@ -159,9 +159,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh index 26098a557..eb921121d 100755 --- a/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/rhel/docker-entrypoint.sh @@ -159,9 +159,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh index 26098a557..eb921121d 100755 --- a/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/server-mysql/ubuntu/docker-entrypoint.sh @@ -159,9 +159,12 @@ file_process_from_env() { # Check prerequisites for MySQL database check_variables_mysql() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + else : ${DB_SERVER_HOST:="mysql-server"} : ${DB_SERVER_PORT:="3306"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi USE_DB_ROOT_USER=false @@ -199,11 +202,6 @@ check_variables_mysql() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { From 537b5373e11c1b79088dc184b9b8db38ed8b5f7d Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Fri, 9 May 2025 11:38:16 +0000 Subject: [PATCH 3/5] refactor: unify mysql_connect_args in web-frontend - Refactored mysql_connect_args to be set under a single condition --- .../alpine/docker-entrypoint.sh | 17 +++++++---------- .../centos/docker-entrypoint.sh | 17 +++++++---------- .../web-apache-mysql/ol/docker-entrypoint.sh | 17 +++++++---------- .../ubuntu/docker-entrypoint.sh | 17 +++++++---------- .../web-nginx-mysql/alpine/docker-entrypoint.sh | 17 +++++++---------- .../web-nginx-mysql/centos/docker-entrypoint.sh | 17 +++++++---------- .../web-nginx-mysql/ol/docker-entrypoint.sh | 17 +++++++---------- .../web-nginx-mysql/rhel/docker-entrypoint.sh | 17 +++++++---------- .../web-nginx-mysql/ubuntu/docker-entrypoint.sh | 17 +++++++---------- 9 files changed, 63 insertions(+), 90 deletions(-) diff --git a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh index 35fdec243..ee1586b9d 100755 --- a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh index 977f545c9..e4aa16f68 100755 --- a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh index 977f545c9..e4aa16f68 100755 --- a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh index e6d089cc3..50f9f7d4c 100755 --- a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh @@ -68,12 +68,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -83,11 +85,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh index b8dd86532..3ed41479e 100755 --- a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh @@ -65,12 +65,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -80,11 +82,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh index 0d945631c..467df78d4 100755 --- a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh @@ -65,12 +65,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -80,11 +82,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh index 0d945631c..467df78d4 100755 --- a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh @@ -65,12 +65,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -80,11 +82,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh index 0d945631c..467df78d4 100755 --- a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh @@ -65,12 +65,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -80,11 +82,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { diff --git a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh index e163a07ee..a6c3825cb 100755 --- a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh @@ -65,12 +65,14 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - : ${DB_SERVER_HOST:="mysql-server"} - else - DB_SERVER_HOST="localhost" - fi : ${DB_SERVER_PORT:="3306"} + if [ -n "${DB_SERVER_SOCKET}" ]; then + mysql_connect_args="-S ${DB_SERVER_SOCKET}" + DB_SERVER_HOST="localhost" + else + : ${DB_SERVER_HOST:="mysql-server"} + mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" + fi file_env MYSQL_USER file_env MYSQL_PASSWORD @@ -80,11 +82,6 @@ check_variables() { DB_SERVER_DBNAME=${MYSQL_DATABASE:-"zabbix"} - if [ ! -n "${DB_SERVER_SOCKET}" ]; then - mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" - else - mysql_connect_args="-S ${DB_SERVER_SOCKET}" - fi } db_tls_params() { From de0d18784a46223b248d3030cad7c5e19f3c31fa Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Thu, 15 May 2025 09:41:26 +0000 Subject: [PATCH 4/5] feat: set php mysqli socket to user provided value --- .../alpine/conf/etc/php83/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh | 7 ++++--- .../web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh | 7 ++++--- .../web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh | 7 ++++--- .../ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf | 3 +++ Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh | 7 ++++--- 8 files changed, 28 insertions(+), 12 deletions(-) diff --git a/Dockerfiles/web-apache-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh index ee1586b9d..30b961445 100755 --- a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh @@ -68,12 +68,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -213,8 +213,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/centos/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh index e4aa16f68..f0cdfef3c 100755 --- a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh @@ -68,12 +68,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -213,8 +213,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/ol/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh index e4aa16f68..f0cdfef3c 100755 --- a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh @@ -68,12 +68,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -213,8 +213,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf b/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh index 50f9f7d4c..28d160d29 100755 --- a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh @@ -68,12 +68,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -213,8 +213,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} From d06ed961b30b6bc257c575229e9b70ae4217e436 Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Thu, 15 May 2025 12:37:40 +0000 Subject: [PATCH 5/5] feat: set php mysqli socket to user provided value --- .../alpine/conf/etc/php83/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh | 7 ++++--- .../web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh | 7 ++++--- .../web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh | 7 ++++--- .../web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf | 3 +++ Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh | 7 ++++--- .../ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf | 3 +++ Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh | 7 ++++--- 10 files changed, 35 insertions(+), 15 deletions(-) diff --git a/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php83/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh index 3ed41479e..530f5a314 100755 --- a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh @@ -65,12 +65,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -239,8 +239,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/centos/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh index 467df78d4..cc539655b 100755 --- a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh @@ -65,12 +65,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -239,8 +239,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/ol/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh index 467df78d4..cc539655b 100755 --- a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh @@ -65,12 +65,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -239,8 +239,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/rhel/conf/etc/php-fpm.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh index 467df78d4..cc539655b 100755 --- a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh @@ -65,12 +65,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -239,8 +239,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER} diff --git a/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/ubuntu/conf/etc/php/8.3/fpm/pool.d/zabbix.conf @@ -34,3 +34,6 @@ php_value[date.timezone] = ${PHP_TZ} ; PHP-FPM monitoring pm.status_path = /status ping.path = /ping + +; Set the socket equal to DB_SERVER_SOCKET set by user +php_value[mysqli.default_socket] = ${DB_SERVER_SOCKET} diff --git a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh index a6c3825cb..a12da94af 100755 --- a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh @@ -65,12 +65,12 @@ file_env() { # Check prerequisites for MySQL database check_variables() { - : ${DB_SERVER_PORT:="3306"} if [ -n "${DB_SERVER_SOCKET}" ]; then mysql_connect_args="-S ${DB_SERVER_SOCKET}" DB_SERVER_HOST="localhost" else : ${DB_SERVER_HOST:="mysql-server"} + : ${DB_SERVER_PORT:="3306"} mysql_connect_args="-h ${DB_SERVER_HOST} -P ${DB_SERVER_PORT}" fi @@ -239,8 +239,9 @@ prepare_zbx_php_config() { export PHP_TZ=${PHP_TZ} export DB_SERVER_TYPE="MYSQL" - export DB_SERVER_HOST=${DB_SERVER_HOST} - export DB_SERVER_PORT=${DB_SERVER_PORT} + test -z "${DB_SERVER_HOST}" || export DB_SERVER_HOST + test -z "${DB_SERVER_PORT}" || export DB_SERVER_PORT + test -z "${DB_SERVER_SOCKET}" || export DB_SERVER_SOCKET export DB_SERVER_DBNAME=${DB_SERVER_DBNAME} export DB_SERVER_SCHEMA=${DB_SERVER_SCHEMA} export DB_SERVER_USER=${DB_SERVER_ZBX_USER}