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/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.