diff --git a/Dockerfiles/base/data/php-fpm.d/pool.conf b/Dockerfiles/base/data/php-fpm.d/pool.conf
index 1ed4f1a..0d2f199 100644
--- a/Dockerfiles/base/data/php-fpm.d/pool.conf
+++ b/Dockerfiles/base/data/php-fpm.d/pool.conf
@@ -1,18 +1,5 @@
[www]
-; User and Group
-user = devilbox
-group = devilbox
-
-; Ensure to listen here
-listen = 9000
-
-; Keep env variables set by docker
-clear_env = no
-
-; Ensure worker stdout and stderr are sent to the main error log.
-catch_workers_output = yes
-
; Pool config
pm = dynamic
pm.max_children = 5
diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4
index b5ab496..34f259d 100644
--- a/Dockerfiles/mods/Dockerfile-5.4
+++ b/Dockerfiles/mods/Dockerfile-5.4
@@ -234,7 +234,7 @@ RUN set -x \
${RUN_DEPS} \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
- && find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
+ && sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
###
diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5
index 613f1af..ca88761 100644
--- a/Dockerfiles/mods/Dockerfile-5.5
+++ b/Dockerfiles/mods/Dockerfile-5.5
@@ -236,7 +236,7 @@ RUN set -x \
${RUN_DEPS} \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
- && find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
+ && sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
###
diff --git a/Dockerfiles/mods/Dockerfile-5.6 b/Dockerfiles/mods/Dockerfile-5.6
index 20a06db..9a95f92 100644
--- a/Dockerfiles/mods/Dockerfile-5.6
+++ b/Dockerfiles/mods/Dockerfile-5.6
@@ -238,7 +238,7 @@ RUN set -x \
${RUN_DEPS} \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
- && find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
+ && sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
###
diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0
index fa63b3a..196b350 100644
--- a/Dockerfiles/mods/Dockerfile-7.0
+++ b/Dockerfiles/mods/Dockerfile-7.0
@@ -40,6 +40,7 @@ ENV BUILD_DEPS \
libib-util \
firebird-dev \
libicu-dev \
+ bison \
libldap2-dev \
libsasl2-dev \
libmcrypt-dev \
@@ -55,7 +56,6 @@ ENV BUILD_DEPS \
libpq-dev \
libsqlite3-dev \
libpq-dev \
- libssl-dev \
libpspell-dev \
libedit-dev \
libreadline-dev \
@@ -174,7 +174,6 @@ RUN set -x \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
- && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
@@ -189,7 +188,6 @@ RUN set -x \
&& cd build && ./install \
&& docker-php-ext-enable phalcon \
&& cd / && rm -rf /tmp/phalcon \
- && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
@@ -244,7 +242,7 @@ RUN set -x \
${RUN_DEPS} \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
- && find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
+ && sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
###
@@ -325,8 +323,6 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
&& php -m | grep -oiE '^pcntl$' \
&& php-fpm -m | grep -oiE '^pcntl$' \
- && php -m | grep -oiE '^pdo$' \
- && php-fpm -m | grep -oiE '^pdo$' \
&& php -m | grep -oiE '^pdo_dblib$' \
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
&& php -m | grep -oiE '^pdo_firebird$' \
@@ -341,8 +337,6 @@ RUN set -x \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
- && php -m | grep -oiE '^phar$' \
- && php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \
&& php-fpm -m | grep -oiE '^posix$' \
&& php -m | grep -oiE '^pspell$' \
diff --git a/Dockerfiles/mods/Dockerfile-7.1 b/Dockerfiles/mods/Dockerfile-7.1
index 083f5d5..3a8f60c 100644
--- a/Dockerfiles/mods/Dockerfile-7.1
+++ b/Dockerfiles/mods/Dockerfile-7.1
@@ -244,7 +244,7 @@ RUN set -x \
${RUN_DEPS} \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
- && find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
+ && sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
###
diff --git a/Dockerfiles/mods/Dockerfile-7.2 b/Dockerfiles/mods/Dockerfile-7.2
index 4be8132..b901b04 100644
--- a/Dockerfiles/mods/Dockerfile-7.2
+++ b/Dockerfiles/mods/Dockerfile-7.2
@@ -246,7 +246,7 @@ RUN set -x \
${RUN_DEPS} \
&& rm -rf /var/lib/apt/lists/* \
&& update-ca-certificates \
- && find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
+ && sh -c "find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true"
###
diff --git a/Dockerfiles/prod/Dockerfile-5.4 b/Dockerfiles/prod/Dockerfile-5.4
index 53bad65..8ae6806 100644
--- a/Dockerfiles/prod/Dockerfile-5.4
+++ b/Dockerfiles/prod/Dockerfile-5.4
@@ -58,6 +58,7 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### Volumes
###
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php
VOLUME /var/mail
diff --git a/Dockerfiles/prod/Dockerfile-5.5 b/Dockerfiles/prod/Dockerfile-5.5
index 530b615..df204b8 100644
--- a/Dockerfiles/prod/Dockerfile-5.5
+++ b/Dockerfiles/prod/Dockerfile-5.5
@@ -58,6 +58,7 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### Volumes
###
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php
VOLUME /var/mail
diff --git a/Dockerfiles/prod/Dockerfile-5.6 b/Dockerfiles/prod/Dockerfile-5.6
index e84ac60..c920672 100644
--- a/Dockerfiles/prod/Dockerfile-5.6
+++ b/Dockerfiles/prod/Dockerfile-5.6
@@ -58,6 +58,7 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### Volumes
###
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php
VOLUME /var/mail
diff --git a/Dockerfiles/prod/Dockerfile-7.0 b/Dockerfiles/prod/Dockerfile-7.0
index 6992be6..6d61515 100644
--- a/Dockerfiles/prod/Dockerfile-7.0
+++ b/Dockerfiles/prod/Dockerfile-7.0
@@ -58,6 +58,7 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### Volumes
###
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php
VOLUME /var/mail
diff --git a/Dockerfiles/prod/Dockerfile-7.1 b/Dockerfiles/prod/Dockerfile-7.1
index e44ca40..ee4d98b 100644
--- a/Dockerfiles/prod/Dockerfile-7.1
+++ b/Dockerfiles/prod/Dockerfile-7.1
@@ -58,6 +58,7 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### Volumes
###
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php
VOLUME /var/mail
diff --git a/Dockerfiles/prod/Dockerfile-7.2 b/Dockerfiles/prod/Dockerfile-7.2
index 40f6f2c..bae41cd 100644
--- a/Dockerfiles/prod/Dockerfile-7.2
+++ b/Dockerfiles/prod/Dockerfile-7.2
@@ -58,6 +58,7 @@ COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
### Volumes
###
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /var/log/php
VOLUME /var/mail
diff --git a/Dockerfiles/prod/data/docker-entrypoint.d/36-custom-php-fpm-files.sh b/Dockerfiles/prod/data/docker-entrypoint.d/36-custom-php-fpm-files.sh
new file mode 100755
index 0000000..6536bed
--- /dev/null
+++ b/Dockerfiles/prod/data/docker-entrypoint.d/36-custom-php-fpm-files.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+set -e
+set -u
+set -o pipefail
+
+
+############################################################
+# Functions
+############################################################
+
+###
+### Copy PHP-FPM *.conf files from source to destination with prefix
+###
+copy_fpm_files() {
+ local fpm_src="${1}"
+ local fpm_dst="${2}"
+ local debug="${3}"
+
+ if [ ! -d "${fpm_src}" ]; then
+ run "mkdir -p ${fpm_src}" "${debug}"
+ fi
+ fpm_files="$( find "${fpm_src}" -type f -iname '*.conf' )"
+
+ # loop over them line by line
+ IFS='
+ '
+ for fpm_f in ${fpm_files}; do
+ fpm_name="$( basename "${fpm_f}" )"
+ log "info" "PHP-FOM.conf: ${fpm_name} -> ${fpm_dst}/zzz-devilbox-${fpm_name}" "${debug}"
+ run "cp ${fpm_f} ${fpm_dst}/zzz-devilbox-${fpm_name}" "${debug}"
+ done
+ run "find ${fpm_dst} -type f -iname '*.conf' -exec chmod 0644 \"{}\" \;" "${debug}"
+}
+
+
+############################################################
+# Sanity Checks
+############################################################
+
+if ! command -v find >/dev/null 2>&1; then
+ echo "find not found, but required."
+ exit 1
+fi
+if ! command -v basename >/dev/null 2>&1; then
+ echo "basename not found, but required."
+ exit 1
+fi
diff --git a/Dockerfiles/prod/data/docker-entrypoint.sh b/Dockerfiles/prod/data/docker-entrypoint.sh
index 0929549..130cdad 100755
--- a/Dockerfiles/prod/data/docker-entrypoint.sh
+++ b/Dockerfiles/prod/data/docker-entrypoint.sh
@@ -21,6 +21,9 @@ CONFIG_DIR="/docker-entrypoint.d"
# php.ini.d directory
PHP_INI_DIR="/usr/local/etc/php/conf.d"
+# php-fpm conf.d directory
+PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
+
# This is the log file for any mail related functions
PHP_MAIL_LOG="/var/log/mail.log"
@@ -33,6 +36,9 @@ FPM_LOG_DIR="/var/log/php"
# Custom ini dir (to be copied to actual ini dir)
PHP_CUST_INI_DIR="/etc/php-custom.d"
+# Custom PHP-FPM dir (to be copied to actual FPM conf dir)
+PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
+
# Supervisord config directory
SUPERVISOR_CONFD="/etc/supervisor/conf.d"
@@ -140,6 +146,12 @@ supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
+###
+### Copy custom PHP-FPM *.conf files
+###
+copy_fpm_files "${PHP_CUST_FPM_DIR}" "${PHP_FPM_DIR}" "${DEBUG_LEVEL}"
+
+
###
### Startup
###
diff --git a/Dockerfiles/work/Dockerfile-5.4 b/Dockerfiles/work/Dockerfile-5.4
index c5706fc..c0e1ad8 100644
--- a/Dockerfiles/work/Dockerfile-5.4
+++ b/Dockerfiles/work/Dockerfile-5.4
@@ -303,6 +303,7 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
###
VOLUME /etc/bash-custom.d
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups
VOLUME /var/log/php
diff --git a/Dockerfiles/work/Dockerfile-5.5 b/Dockerfiles/work/Dockerfile-5.5
index c64d3ed..9ec2860 100644
--- a/Dockerfiles/work/Dockerfile-5.5
+++ b/Dockerfiles/work/Dockerfile-5.5
@@ -307,6 +307,7 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
###
VOLUME /etc/bash-custom.d
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups
VOLUME /var/log/php
diff --git a/Dockerfiles/work/Dockerfile-5.6 b/Dockerfiles/work/Dockerfile-5.6
index c23ecce..9942a87 100644
--- a/Dockerfiles/work/Dockerfile-5.6
+++ b/Dockerfiles/work/Dockerfile-5.6
@@ -307,6 +307,7 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
###
VOLUME /etc/bash-custom.d
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups
VOLUME /var/log/php
diff --git a/Dockerfiles/work/Dockerfile-7.0 b/Dockerfiles/work/Dockerfile-7.0
index 2ff108e..49cf24c 100644
--- a/Dockerfiles/work/Dockerfile-7.0
+++ b/Dockerfiles/work/Dockerfile-7.0
@@ -307,6 +307,7 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
###
VOLUME /etc/bash-custom.d
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups
VOLUME /var/log/php
diff --git a/Dockerfiles/work/Dockerfile-7.1 b/Dockerfiles/work/Dockerfile-7.1
index 1853520..20ea6fc 100644
--- a/Dockerfiles/work/Dockerfile-7.1
+++ b/Dockerfiles/work/Dockerfile-7.1
@@ -307,6 +307,7 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
###
VOLUME /etc/bash-custom.d
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups
VOLUME /var/log/php
diff --git a/Dockerfiles/work/Dockerfile-7.2 b/Dockerfiles/work/Dockerfile-7.2
index e67d69c..ff4e05b 100644
--- a/Dockerfiles/work/Dockerfile-7.2
+++ b/Dockerfiles/work/Dockerfile-7.2
@@ -307,6 +307,7 @@ COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
###
VOLUME /etc/bash-custom.d
VOLUME /etc/php-custom.d
+VOLUME /etc/php-fpm-custom.d
VOLUME /etc/php-modules.d
VOLUME /shared/backups
VOLUME /var/log/php
diff --git a/Dockerfiles/work/data/docker-entrypoint.sh b/Dockerfiles/work/data/docker-entrypoint.sh
index 19a3d5b..cc13262 100755
--- a/Dockerfiles/work/data/docker-entrypoint.sh
+++ b/Dockerfiles/work/data/docker-entrypoint.sh
@@ -21,6 +21,9 @@ CONFIG_DIR="/docker-entrypoint.d"
# php.ini.d directory
PHP_INI_DIR="/usr/local/etc/php/conf.d"
+# php-fpm conf.d directory
+PHP_FPM_DIR="/usr/local/etc/php-fpm.d"
+
# This is the log file for any mail related functions
PHP_MAIL_LOG="/var/log/mail.log"
@@ -33,6 +36,9 @@ FPM_LOG_DIR="/var/log/php"
# Custom ini dir (to be copied to actual ini dir)
PHP_CUST_INI_DIR="/etc/php-custom.d"
+# Custom PHP-FPM dir (to be copied to actual FPM conf dir)
+PHP_CUST_FPM_DIR="/etc/php-fpm-custom.d"
+
# Supervisord config directory
SUPERVISOR_CONFD="/etc/supervisor/conf.d"
@@ -140,6 +146,12 @@ supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_INI_DIR}" "${DEBUG_LEVEL}"
+###
+### Copy custom PHP-FPM *.conf files
+###
+copy_fpm_files "${PHP_CUST_FPM_DIR}" "${PHP_FPM_DIR}" "${DEBUG_LEVEL}"
+
+
###
### mysqldump-secure
###
diff --git a/README.md b/README.md
index 6e12d84..afb0348 100644
--- a/README.md
+++ b/README.md
@@ -97,16 +97,20 @@ Have a look at the following table to see all offered volumes for each Docker im
Image
- Volumes
+ Volumes
Description
/etc/php-custom.d\*.ini files in order to alter php behaviour./etc/php-fpm-custom.d\*.conf files in order to alter PHP-FPM behaviour./etc/php-modules.d\*.so files in order to add your php modules.\*.ini file in order to actually load your custom provided module.