From d857a30bb1d8061118700ea82486c97d23e05884 Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Fri, 9 May 2025 11:38:16 +0000 Subject: [PATCH 1/3] 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 fdc75a274..13925f122 100755 --- a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh @@ -87,12 +87,14 @@ file_process_from_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 @@ -102,11 +104,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 140f149b2..6cd473960 100755 --- a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh @@ -87,12 +87,14 @@ file_process_from_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 @@ -102,11 +104,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 140f149b2..6cd473960 100755 --- a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh @@ -87,12 +87,14 @@ file_process_from_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 @@ -102,11 +104,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 c8ca94545..24736ed62 100755 --- a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh @@ -87,12 +87,14 @@ file_process_from_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 @@ -102,11 +104,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 4a8e1628d..d9617e0bb 100755 --- a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh @@ -93,12 +93,14 @@ file_process_from_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 @@ -108,11 +110,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 c570461eb..2cc76dae0 100755 --- a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh @@ -93,12 +93,14 @@ file_process_from_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 @@ -108,11 +110,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 c570461eb..2cc76dae0 100755 --- a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh @@ -93,12 +93,14 @@ file_process_from_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 @@ -108,11 +110,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 c570461eb..2cc76dae0 100755 --- a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh @@ -93,12 +93,14 @@ file_process_from_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 @@ -108,11 +110,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 5e36d87d1..ac67e5b03 100755 --- a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh @@ -93,12 +93,14 @@ file_process_from_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 @@ -108,11 +110,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 744c5eed8989c3e6eefe06233b64bf090a1ec573 Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Thu, 15 May 2025 09:41:26 +0000 Subject: [PATCH 2/3] feat: set php mysqli socket to user provided value --- .../alpine/conf/etc/php84/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/php84/php-fpm.d/zabbix.conf b/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-apache-mysql/alpine/conf/etc/php84/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 13925f122..3d76eac9b 100755 --- a/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/alpine/docker-entrypoint.sh @@ -87,12 +87,12 @@ file_process_from_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 @@ -237,8 +237,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 6cd473960..99354d6dc 100755 --- a/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/centos/docker-entrypoint.sh @@ -87,12 +87,12 @@ file_process_from_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 @@ -237,8 +237,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 6cd473960..99354d6dc 100755 --- a/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ol/docker-entrypoint.sh @@ -87,12 +87,12 @@ file_process_from_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 @@ -237,8 +237,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 24736ed62..d1686736d 100755 --- a/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-apache-mysql/ubuntu/docker-entrypoint.sh @@ -87,12 +87,12 @@ file_process_from_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 @@ -237,8 +237,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 d57938e075d5a88120053f1a7cd7853984cab351 Mon Sep 17 00:00:00 2001 From: Marks Sunins Date: Thu, 15 May 2025 12:37:40 +0000 Subject: [PATCH 3/3] feat: set php mysqli socket to user provided value --- .../alpine/conf/etc/php84/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/php84/php-fpm.d/zabbix.conf b/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf index 66c3c1252..4ee70ccd0 100644 --- a/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/php-fpm.d/zabbix.conf +++ b/Dockerfiles/web-nginx-mysql/alpine/conf/etc/php84/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 d9617e0bb..b1adc188e 100755 --- a/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/alpine/docker-entrypoint.sh @@ -93,12 +93,12 @@ file_process_from_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 @@ -288,8 +288,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 2cc76dae0..0b7b83612 100755 --- a/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/centos/docker-entrypoint.sh @@ -93,12 +93,12 @@ file_process_from_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 @@ -288,8 +288,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 2cc76dae0..0b7b83612 100755 --- a/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ol/docker-entrypoint.sh @@ -93,12 +93,12 @@ file_process_from_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 @@ -288,8 +288,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 2cc76dae0..0b7b83612 100755 --- a/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/rhel/docker-entrypoint.sh @@ -93,12 +93,12 @@ file_process_from_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 @@ -288,8 +288,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 ac67e5b03..2878d9e3c 100755 --- a/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh +++ b/Dockerfiles/web-nginx-mysql/ubuntu/docker-entrypoint.sh @@ -93,12 +93,12 @@ file_process_from_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 @@ -288,8 +288,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}