Skip to content

Commit 8eb96a1

Browse files
committed
Add PHP 8.3 FPM
1 parent 0d55fed commit 8eb96a1

File tree

3 files changed

+119
-0
lines changed

3 files changed

+119
-0
lines changed

8.3-fpm/Dockerfile

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
FROM dockette/debian:bullseye
2+
3+
LABEL maintainer="[email protected]"
4+
5+
# PHP
6+
ENV PHP_MODS_DIR=/etc/php/8.3/mods-available
7+
ENV PHP_CLI_DIR=/etc/php/8.3/cli
8+
ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d
9+
ENV PHP_CGI_DIR=/etc/php/8.3/cgi
10+
ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d
11+
ENV PHP_FPM_DIR=/etc/php/8.3/fpm
12+
ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d
13+
ENV PHP_FPM_POOL_DIR=${PHP_FPM_DIR}/pool.d
14+
ENV TZ=Europe/Prague
15+
16+
# INSTALLATION
17+
RUN apt update && apt dist-upgrade -y && \
18+
# DEPENDENCIES #############################################################
19+
apt install -y wget curl apt-transport-https ca-certificates lsb-release git unzip && \
20+
# PHP DEB.SURY.CZ ##########################################################
21+
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
22+
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list && \
23+
apt update && \
24+
apt dist-upgrade -y && \
25+
apt install -y --no-install-recommends \
26+
# php8.3-apc \
27+
# php8.3-apcu \
28+
php8.3-bz2 \
29+
php8.3-bcmath \
30+
php8.3-calendar \
31+
php8.3-cgi \
32+
php8.3-cli \
33+
php8.3-ctype \
34+
php8.3-curl \
35+
php8.3-fpm \
36+
php8.3-gettext \
37+
php8.3-gd \
38+
php8.3-intl \
39+
php8.3-imap \
40+
php8.3-ldap \
41+
php8.3-mbstring \
42+
# php8.3-memcached \
43+
# php8.3-mongo \
44+
php8.3-mysql \
45+
php8.3-pdo \
46+
php8.3-pgsql \
47+
# php8.3-redis \
48+
php8.3-soap \
49+
php8.3-sqlite3 \
50+
php8.3-zip \
51+
# php8.3-xmlrpc \
52+
php8.3-xsl && \
53+
# COMPOSER #################################################################
54+
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer --2 && \
55+
# PHP MOD(s) ###############################################################
56+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CLI_CONF_DIR}/999-custom.ini && \
57+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_CGI_CONF_DIR}/999-custom.ini && \
58+
ln -s ${PHP_MODS_DIR}/custom.ini ${PHP_FPM_CONF_DIR}/999-custom.ini && \
59+
# CLEAN UP #################################################################
60+
rm ${PHP_FPM_POOL_DIR}/www.conf && \
61+
apt-get clean -y && \
62+
apt-get autoclean -y && \
63+
apt-get remove -y wget curl lsb-release && \
64+
apt-get autoremove -y && \
65+
rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/*
66+
67+
# FILES (it overrides originals)
68+
ADD conf.d/custom.ini ${PHP_MODS_DIR}/custom.ini
69+
ADD fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf
70+
71+
# WORKDIR
72+
WORKDIR /srv
73+
74+
# COMMAND
75+
CMD ["php-fpm8.3"]

8.3-fpm/conf.d/custom.ini

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
; Update memory
2+
memory_limit = 521M
3+
upload_max_filesize = 256M
4+
post_max_size = 256M
5+
6+
; Dates
7+
date.timezone=Europe/Prague
8+
9+
; Mailer
10+
;sendmail_path = /usr/local/bin/phpmailer
11+
12+
; No disabled functions
13+
;disable_functions =

8.3-fpm/fpm/php-fpm.conf

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[global]
2+
3+
error_log = /proc/self/fd/2
4+
daemonize = no
5+
6+
[www]
7+
8+
access.log = /proc/self/fd/2
9+
10+
user = www-data
11+
group = www-data
12+
13+
listen = [::]:9000
14+
listen.owner = www-data
15+
listen.group = www-data
16+
listen.mode = 0660
17+
18+
pm = dynamic
19+
pm.max_children = 9
20+
pm.start_servers = 3
21+
pm.min_spare_servers = 2
22+
pm.max_spare_servers = 3
23+
pm.max_requests = 200
24+
catch_workers_output = yes
25+
clear_env = yes
26+
27+
php_admin_value[sendmail_path] = /usr/local/bin/phpmailer
28+
php_admin_value[open_basedir]= "/data:/srv:/var/tmp:/tmp"
29+
php_admin_value[upload_tmp_dir] = "/var/tmp"
30+
31+
include=/etc/php/8.3/fpm/pool.d/*.conf

0 commit comments

Comments
 (0)