mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-10 11:01:14 +00:00
Add PHP 8.2
This commit is contained in:
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@@ -39,6 +39,7 @@ jobs:
|
|||||||
- '7.4'
|
- '7.4'
|
||||||
- '8.0'
|
- '8.0'
|
||||||
- '8.1'
|
- '8.1'
|
||||||
|
- '8.2'
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
|
|||||||
3
.github/workflows/nightly.yml
vendored
3
.github/workflows/nightly.yml
vendored
@@ -38,9 +38,10 @@ jobs:
|
|||||||
- '7.4'
|
- '7.4'
|
||||||
- '8.0'
|
- '8.0'
|
||||||
- '8.1'
|
- '8.1'
|
||||||
|
- '8.2'
|
||||||
refs:
|
refs:
|
||||||
- 'master'
|
- 'master'
|
||||||
- '0.132'
|
- '0.133'
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
|
|||||||
@@ -4,6 +4,12 @@
|
|||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
|
||||||
|
## Release 0.133
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
- Added PHP 8.2: https://github.com/devilbox/docker-php-fpm-8.2
|
||||||
|
|
||||||
|
|
||||||
## Release 0.132
|
## Release 0.132
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|||||||
104
Dockerfiles/base/Dockerfile-8.2
Normal file
104
Dockerfiles/base/Dockerfile-8.2
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||||
|
FROM devilbox/php-fpm-8.2
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-base"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-base"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-base"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000" \
|
||||||
|
PHP_VERSION="8.2"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade (install ps)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests procps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -rf /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /usr/local/etc/php-fpm.d \
|
||||||
|
&& mkdir -p /var/lib/php/session \
|
||||||
|
&& mkdir -p /var/lib/php/wsdlcache \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/session \
|
||||||
|
&& chown -R devilbox:devilbox /var/lib/php/wsdlcache
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
134
Dockerfiles/base/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings can be overwritten by later includes
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Timeouts
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; The timeout for serving a single request after which the worker process will be killed.
|
||||||
|
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||||
|
; execution for some reason.
|
||||||
|
request_terminate_timeout = 120s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Logging
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
log_level = notice
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; if we send this to /proc/self/fd/1, it never appears
|
||||||
|
access.log = /proc/self/fd/2
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Backlog configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; A maximum of backlog incoming connections will be queued for processing.
|
||||||
|
; If a connection request arrives with the queue full the client may receive an error with an
|
||||||
|
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||||
|
; the request may be ignored so that retries may succeed.
|
||||||
|
|
||||||
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
|
; are silently truncated
|
||||||
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Worker configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; static - the number of child processes is fixed (pm.max_children).
|
||||||
|
;
|
||||||
|
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||||
|
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||||
|
;
|
||||||
|
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||||
|
; pm.start_servers are started when the service is started.
|
||||||
|
pm = ondemand
|
||||||
|
|
||||||
|
; The maximum number of child processes to be created
|
||||||
|
pm.max_children = 50
|
||||||
|
|
||||||
|
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||||
|
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||||
|
pm.start_servers = 4
|
||||||
|
|
||||||
|
; The desired minimum number of idle server processes.
|
||||||
|
pm.min_spare_servers = 2
|
||||||
|
|
||||||
|
; The desired maximum number of idle server processes.
|
||||||
|
pm.max_spare_servers = 6
|
||||||
|
|
||||||
|
; The number of requests each child process should execute before respawning.
|
||||||
|
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||||
|
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||||
|
; Default value: 0.
|
||||||
|
pm.max_requests = 500
|
||||||
|
|
||||||
|
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||||
|
pm.process_idle_timeout = 10s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Include
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
|
||||||
|
[global]
|
||||||
|
include = /usr/local/etc/php-fpm.d/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings overwrite any includes again
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Required for Dockerization
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
daemonize = no
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Keep env variables set by docker
|
||||||
|
clear_env = no
|
||||||
|
|
||||||
|
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||||
|
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||||
|
; Note: on highloaded environement, this can cause some delay in the page
|
||||||
|
; process time (several ms).
|
||||||
|
; Default Value: no
|
||||||
|
catch_workers_output = yes
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; User and Group
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
user = devilbox
|
||||||
|
group = devilbox
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Networking
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Ensure to listen here
|
||||||
|
listen = 9000
|
||||||
48
Dockerfiles/base/data/php-ini.d/php-8.2.ini
Normal file
48
Dockerfiles/base/data/php-ini.d/php-8.2.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.2-base
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 120
|
||||||
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 72M
|
||||||
|
upload_max_filesize = 64M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_vars = 8000
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = Off
|
||||||
|
display_startup_errors = Off
|
||||||
|
log_errors = On
|
||||||
|
html_errors = Off
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
xdebug.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
972
Dockerfiles/mods/Dockerfile-8.2
Normal file
972
Dockerfiles/mods/Dockerfile-8.2
Normal file
@@ -0,0 +1,972 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-base as builder
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
alien \
|
||||||
|
firebird-dev \
|
||||||
|
freetds-dev \
|
||||||
|
ghostscript \
|
||||||
|
libaio-dev \
|
||||||
|
libavif-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libenchant-2-dev \
|
||||||
|
libevent-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libib-util \
|
||||||
|
libicu-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
libpcre3-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libpq-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
librdkafka-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
libwebp6 \
|
||||||
|
libxml2-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
libzip-dev \
|
||||||
|
snmp \
|
||||||
|
unixodbc-dev \
|
||||||
|
uuid-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
ca-certificates \
|
||||||
|
git
|
||||||
|
|
||||||
|
|
||||||
|
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install and enable PHP modules
|
||||||
|
###
|
||||||
|
# Enable ffi if it exists
|
||||||
|
RUN set -eux \
|
||||||
|
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini ]; then \
|
||||||
|
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: amqp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Custom: Pecl command
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: apcu --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install apcu \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: bcmath --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: bz2 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: calendar --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: dba --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: enchant --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: exif --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: gd --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: gettext --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: gmp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: igbinary --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install igbinary \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imagick --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install imagick \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
# Generic post-command
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: imap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: intl --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: ldap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: msgpack --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install msgpack \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcache --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install memcache \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: memcached --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
|
||||||
|
&& cd /tmp/memcached \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout master \
|
||||||
|
# Custom: Install command
|
||||||
|
&& true \
|
||||||
|
# FIXME: This is a work-around to mitigate compile error with PHP 8.2
|
||||||
|
&& sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-memcached \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mongodb --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install mongodb \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: mysqli --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: oauth --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install oauth \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable oauth \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: oci8 --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
\
|
||||||
|
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
|
||||||
|
# Generic post-command
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: opcache --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Version specific pre-command
|
||||||
|
&& curl -sS https://raw.githubusercontent.com/php/php-src/php-8.0.6/ext/opcache/Optimizer/zend_dfg.h > /usr/local/include/php/Zend/Optimizer/zend_dfg.h \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pcntl --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_dblib --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_firebird --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_mysql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_oci --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Generic pre-command
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
\
|
||||||
|
&& rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||||
|
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
|
\
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
|
||||||
|
# Installation
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_pgsql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pdo_sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install pdo_sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable pdo_sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pgsql --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: psr --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install psr \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable psr \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: pspell --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: redis --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Version specific
|
||||||
|
# Type: GIT extension
|
||||||
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
||||||
|
&& cd /tmp/redis \
|
||||||
|
# Custom: Branch
|
||||||
|
&& git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
|
||||||
|
# Custom: Install command
|
||||||
|
&& REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
|
||||||
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
\
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: rdkafka --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install rdkafka \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable rdkafka \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: shmop --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: snmp --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: soap --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sockets --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Version specific pre-command
|
||||||
|
&& docker-php-ext-configure sockets \
|
||||||
|
&& sed -i'' 's/.*ucred.*//g' /usr/src/php/ext/sockets/sendrecvmsg.c \
|
||||||
|
\
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sodium --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install sqlsrv \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable sqlsrv \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sysvmsg --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sysvsem --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: sysvshm --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: tidy --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uploadprogress --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uploadprogress \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: uuid --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install uuid \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable uuid \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xsl --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install xlswriter \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable xlswriter \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: yaml --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: PECL extension
|
||||||
|
# Default: Pecl command
|
||||||
|
&& pecl install yaml \
|
||||||
|
# Enabling
|
||||||
|
&& docker-php-ext-enable yaml \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------- Installing PHP Extension: zip --------------------
|
||||||
|
RUN set -eux \
|
||||||
|
# Installation: Generic
|
||||||
|
# Type: Built-in extension
|
||||||
|
# Custom: configure command
|
||||||
|
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Fix php.ini settings for enabled extensions
|
||||||
|
RUN set -eux \
|
||||||
|
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
||||||
|
|
||||||
|
# Fix oracle dir for images that don't have oci installed
|
||||||
|
RUN set -eux \
|
||||||
|
&& mkdir -p /usr/lib/oracle/
|
||||||
|
|
||||||
|
# Shrink everything down
|
||||||
|
RUN set -eux \
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-base as final
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-mods"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-mods"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-mods"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy artifacts from builder
|
||||||
|
###
|
||||||
|
ARG EXT_DIR
|
||||||
|
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||||
|
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||||
|
COPY --from=builder /usr/local/bin/ /usr/local/bin/
|
||||||
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
||||||
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ghostscript \
|
||||||
|
libaio1 \
|
||||||
|
libaspell15 \
|
||||||
|
libavif9 \
|
||||||
|
libc-client2007e \
|
||||||
|
libenchant-2-2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libffi7 \
|
||||||
|
libfreetype6 \
|
||||||
|
libicu67 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libmagickwand-6.q16-6 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
libpng16-16 \
|
||||||
|
libpq5 \
|
||||||
|
librabbitmq4 \
|
||||||
|
librdkafka1 \
|
||||||
|
libsybdb5 \
|
||||||
|
libtidy5deb1 \
|
||||||
|
libvpx6 \
|
||||||
|
libwebp-dev \
|
||||||
|
libwebp6 \
|
||||||
|
libxpm4 \
|
||||||
|
libxslt1.1 \
|
||||||
|
libyaml-0-2 \
|
||||||
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
unixodbc \
|
||||||
|
uuid \
|
||||||
|
ca-certificates \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& update-ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Post Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# ---------- imagick ----------
|
||||||
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
||||||
|
\
|
||||||
|
# ---------- oci8 ----------
|
||||||
|
&& ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||||
|
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||||
|
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||||
|
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||||
|
\
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini \
|
||||||
|
\
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^ffi$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ffi$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^filter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^filter$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^libxml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -m | grep -oiE '^mysqlnd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqlnd$' \
|
||||||
|
&& php -m | grep -oiE '^oauth$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^oauth$' \
|
||||||
|
&& php -m | grep -oiE '^oci8$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^oci8$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^openssl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^openssl$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^pcre$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
||||||
|
&& 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$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_oci$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_oci$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^psr$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^psr$' \
|
||||||
|
&& 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$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^reflection$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^reflection$' \
|
||||||
|
&& php -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^sodium$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sodium$' \
|
||||||
|
&& php -m | grep -oiE '^spl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^spl$' \
|
||||||
|
&& php -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^uuid$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
||||||
|
&& php -m | grep -oiE '^yaml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/local/sbin/php-fpm"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
99
Dockerfiles/prod/Dockerfile-8.2
Normal file
99
Dockerfiles/prod/Dockerfile-8.2
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-prod"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-prod"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-prod"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
cron \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /var/log/supervisor \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /etc/supervisor/custom.d \
|
||||||
|
&& chown devilbox:devilbox /etc/supervisor/custom.d \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
587
Dockerfiles/work/Dockerfile-8.2
Normal file
587
Dockerfiles/work/Dockerfile-8.2
Normal file
@@ -0,0 +1,587 @@
|
|||||||
|
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||||
|
FROM devilbox/php-fpm:8.2-prod
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||||
|
#LABEL "org.opencontainers.image.created"=""
|
||||||
|
#LABEL "org.opencontainers.image.version"=""
|
||||||
|
#LABEL "org.opencontainers.image.revision"=""
|
||||||
|
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||||
|
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||||
|
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||||
|
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||||
|
LABEL "org.opencontainers.image.ref.name"="8.2-work"
|
||||||
|
LABEL "org.opencontainers.image.title"="PHP-FPM 8.2-work"
|
||||||
|
LABEL "org.opencontainers.image.description"="PHP-FPM 8.2-work"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Re-activate modules which have been deactivated in mods.
|
||||||
|
### NOTE: They will be removed at the very bottom
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name phalcon.so | grep phalcon; then \
|
||||||
|
echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini; \
|
||||||
|
fi \
|
||||||
|
&& if find /usr/local/lib/php/extensions/ -name psr.so | grep psr; then \
|
||||||
|
echo "extension=psr.so" > /usr/local/etc/php/conf.d/docker-php-ext-psr.ini; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BASH_PROFILE=".bashrc"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Tools
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests apt-utils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
dirmngr \
|
||||||
|
gnupg \
|
||||||
|
\
|
||||||
|
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138 \
|
||||||
|
&& echo "deb http://ftp.debian.org/debian stretch-backports main" > /etc/apt/sources.list.d/backports.list \
|
||||||
|
&& curl -sS -L --fail "https://packages.blackfire.io/gpg.key" | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://packages.blackfire.io/debian any main" > /etc/apt/sources.list.d/blackfire.list \
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv A1715D88E1DF1F24 \
|
||||||
|
&& echo "deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main" > /etc/apt/sources.list.d/git.list \
|
||||||
|
&& APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 \
|
||||||
|
&& echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" > /etc/apt/sources.list.d/mongo.list \
|
||||||
|
&& curl -sS -k -L --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" > /etc/apt/sources.list.d/pgsql.list \
|
||||||
|
&& curl -sS -k -L --fail https://dl.yarnpkg.com/debian/pubkey.gpg | APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 apt-key add - \
|
||||||
|
&& echo "deb http://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
|
||||||
|
ack-grep \
|
||||||
|
aspell \
|
||||||
|
autoconf \
|
||||||
|
automake \
|
||||||
|
bash-completion \
|
||||||
|
binutils \
|
||||||
|
blackfire-agent \
|
||||||
|
build-essential \
|
||||||
|
bzip2 \
|
||||||
|
certbot \
|
||||||
|
coreutils \
|
||||||
|
dnsutils \
|
||||||
|
dos2unix \
|
||||||
|
file \
|
||||||
|
gawk \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
git-flow \
|
||||||
|
git-svn \
|
||||||
|
ghostscript \
|
||||||
|
graphviz \
|
||||||
|
gsfonts \
|
||||||
|
hostname \
|
||||||
|
htop \
|
||||||
|
imagemagick \
|
||||||
|
iputils-ping \
|
||||||
|
jq \
|
||||||
|
less \
|
||||||
|
libc-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libyaml-dev \
|
||||||
|
locales \
|
||||||
|
make \
|
||||||
|
mongodb-org-shell \
|
||||||
|
mongodb-org-tools \
|
||||||
|
moreutils \
|
||||||
|
mariadb-client \
|
||||||
|
mupdf \
|
||||||
|
mupdf-tools \
|
||||||
|
nano \
|
||||||
|
net-tools \
|
||||||
|
netcat \
|
||||||
|
openssh-client \
|
||||||
|
patch \
|
||||||
|
patchelf \
|
||||||
|
postgresql-client \
|
||||||
|
redis-tools \
|
||||||
|
rsync \
|
||||||
|
rubygems \
|
||||||
|
ruby-dev \
|
||||||
|
shellcheck \
|
||||||
|
silversearcher-ag \
|
||||||
|
sqlite3 \
|
||||||
|
subversion \
|
||||||
|
sudo \
|
||||||
|
tig \
|
||||||
|
tree \
|
||||||
|
unzip \
|
||||||
|
vim \
|
||||||
|
w3m \
|
||||||
|
wget \
|
||||||
|
whois \
|
||||||
|
xz-utils \
|
||||||
|
yarn \
|
||||||
|
zip \
|
||||||
|
zlib1g-dev \
|
||||||
|
zsh \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -q -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install custom software
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- composer --------------------
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-1.phar > /usr/local/bin/composer-1 \
|
||||||
|
&& curl -sS -L --fail https://getcomposer.org/composer-2.phar > /usr/local/bin/composer-2 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-1 \
|
||||||
|
&& chmod +x /usr/local/bin/composer-2 \
|
||||||
|
&& ln -sf /usr/local/bin/composer-2 /usr/local/bin/composer \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- pip --------------------
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libpython3-dev \
|
||||||
|
python3-distutils \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& curl -sS -L --fail https://bootstrap.pypa.io/get-pip.py | python3 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- nvm --------------------
|
||||||
|
&& git clone https://github.com/creationix/nvm /opt/nvm \
|
||||||
|
&& cd /opt/nvm \
|
||||||
|
&& git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1))" \
|
||||||
|
\
|
||||||
|
&& { \
|
||||||
|
echo 'export NVM_DIR="/opt/nvm"'; \
|
||||||
|
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'; \
|
||||||
|
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion'; \
|
||||||
|
} >> /home/devilbox/.bashrc \
|
||||||
|
\
|
||||||
|
&& chown -R devilbox:devilbox /opt/nvm \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install node' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm install --lts' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm use node' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- awesomeci --------------------
|
||||||
|
&& git clone https://github.com/cytopia/awesome-ci.git /usr/local/src/awesome-ci \
|
||||||
|
&& cd /usr/local/src/awesome-ci \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& ./configure --prefix=/usr/local \
|
||||||
|
&& make install \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/awesome-ci \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- deployer --------------------
|
||||||
|
&& curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
|
||||||
|
&& chmod +x /usr/local/bin/dep \
|
||||||
|
\
|
||||||
|
# -------------------- gitflow --------------------
|
||||||
|
&& git clone git://github.com/petervanderdoes/gitflow.git /tmp/gitflow \
|
||||||
|
&& cd /tmp/gitflow \
|
||||||
|
&& make install \
|
||||||
|
&& cd / && rm -rf /tmp/gitflow \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- homebrew --------------------
|
||||||
|
&& git clone https://github.com/Homebrew/brew.git /usr/local/src/brew \
|
||||||
|
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/brew \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "PATH=/usr/local/src/brew/bin:/usr/local/src/brew/sbin:/usr/bin:/usr/sbin:/bin:/sbin" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export MANPATH=/usr/local/src/brew/manpages:${MANPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& v="${BASH_PROFILE}" su ${MY_USER} -c -p \
|
||||||
|
'echo "export INFOPATH=/usr/local/src/brew/manpages:${INFOPATH}" >> /home/devilbox/${v}' \
|
||||||
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- linkcheck --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
|
||||||
|
&& chmod +x /usr/local/bin/linkcheck \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mhsendmail --------------------
|
||||||
|
&& curl -sS -L --fail https://github.com/devilbox/mhsendmail/releases/download/v0.3.0/mhsendmail_linux_amd64 > mhsendmail_linux_amd64 \
|
||||||
|
&& chmod +x mhsendmail_linux_amd64 \
|
||||||
|
&& mv mhsendmail_linux_amd64 /usr/local/bin/mhsendmail \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- mysqldumpsecure --------------------
|
||||||
|
&& git clone https://github.com/cytopia/mysqldump-secure.git /usr/local/src/mysqldump-secure \
|
||||||
|
&& cd /usr/local/src/mysqldump-secure \
|
||||||
|
&& git checkout $(git describe --abbrev=0 --tags) \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/bin/mysqldump-secure /usr/local/bin \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.conf /etc \
|
||||||
|
&& cp /usr/local/src/mysqldump-secure/etc/mysqldump-secure.cnf /etc \
|
||||||
|
&& touch /var/log/mysqldump-secure.log \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /etc/mysqldump-secure.* \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /var/log/mysqldump-secure.log \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.conf \
|
||||||
|
&& chmod 0400 /etc/mysqldump-secure.cnf \
|
||||||
|
&& chmod 0644 /var/log/mysqldump-secure.log \
|
||||||
|
&& sed -i'' 's/^COMPRESS_ARG=.*/COMPRESS_ARG="-9 -c"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR=.*/DUMP_DIR="\/shared\/backups\/mysql"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_DIR_CHMOD=.*/DUMP_DIR_CHMOD="0755"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^DUMP_FILE_CHMOD=.*/DUMP_FILE_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^LOG_CHMOD=.*/LOG_CHMOD="0644"/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& sed -i'' 's/^NAGIOS_LOG=.*/NAGIOS_LOG=0/g' /etc/mysqldump-secure.conf \
|
||||||
|
&& cd / \
|
||||||
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcs --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar > /usr/local/bin/phpcs \
|
||||||
|
&& chmod +x /usr/local/bin/phpcs \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpcbf --------------------
|
||||||
|
&& curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- phpmd --------------------
|
||||||
|
&& curl -sS -k -L --fail https://phpmd.org/static/latest/phpmd.phar > phpmd.phar \
|
||||||
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- symfony --------------------
|
||||||
|
&& SYMFONY_VERSION="$( curl -sS -L --fail https://get.symfony.com/cli/LATEST )" \
|
||||||
|
&& curl -sS -L --fail "https://github.com/symfony/cli/releases/download/v${SYMFONY_VERSION}/symfony_linux_amd64" > /usr/local/bin/symfony \
|
||||||
|
&& chmod +x /usr/local/bin/symfony \
|
||||||
|
\
|
||||||
|
# -------------------- wkhtmltopdf --------------------
|
||||||
|
&& VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
|
\
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
# -------------------- wpcli --------------------
|
||||||
|
&& curl -sS -L --fail https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -L -o /usr/local/bin/wp \
|
||||||
|
&& chmod +x /usr/local/bin/wp \
|
||||||
|
\
|
||||||
|
# -------------------- cleanup --------------------
|
||||||
|
&& rm -rf /home/${MY_USER}/.*json \
|
||||||
|
&& rm -rf /home/${MY_USER}/.cache \
|
||||||
|
&& rm -rf /home/${MY_USER}/.composer \
|
||||||
|
&& rm -rf /home/${MY_USER}/.config \
|
||||||
|
&& rm -rf /home/${MY_USER}/.drush \
|
||||||
|
&& rm -rf /home/${MY_USER}/.subversion \
|
||||||
|
&& rm -rf /home/${MY_USER}/.v8* \
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.*json \
|
||||||
|
&& rm -rf /root/.cache \
|
||||||
|
&& rm -rf /root/.composer \
|
||||||
|
&& rm -rf /root/.config \
|
||||||
|
&& rm -rf /root/.drush \
|
||||||
|
&& rm -rf /root/.subversion \
|
||||||
|
&& rm -rf /root/.v8* \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& (rm -rf /root/.gem || true ) \
|
||||||
|
&& (rm -rf /root/.cache || true) \
|
||||||
|
&& (rm -rf /root/.composer || true) \
|
||||||
|
&& (rm -rf /root/.config || true) \
|
||||||
|
&& (rm -rf /root/.npm || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /home/devilbox/.cache || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.composer || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.config || true) \
|
||||||
|
&& (rm -rf /home/devilbox/.npm || true) \
|
||||||
|
\
|
||||||
|
&& (rm -rf /usr/local/src/composer/cache/* || true) \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install Composer (PHP)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
\
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install npm (Node)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- angular_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- eslint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- grunt_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- gulp --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- jsonlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- pm2 --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- mdlint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- sass --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force sass' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- stylelint --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force stylelint' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- vue_cli_service_global --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
|
||||||
|
\
|
||||||
|
# -------------------- webpack_cli --------------------
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
|
||||||
|
\
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; npm cache clear --force' devilbox \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm cache clear --force' devilbox \
|
||||||
|
&& rm -rf /home/devilbox/.npm \
|
||||||
|
&& rm -rf /home/devilbox/.cache \
|
||||||
|
&& rm -rf /home/devilbox/.config \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /opt/nvm -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install gem (Ruby)
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- mixlib_config --------------------
|
||||||
|
&& gem install mixlib-config -v 2.2.4 \
|
||||||
|
\
|
||||||
|
# -------------------- rb_inotify --------------------
|
||||||
|
&& gem install rb-inotify -v 0.9.10 \
|
||||||
|
\
|
||||||
|
# -------------------- mdl --------------------
|
||||||
|
&& gem install mdl -v 0.5.0 \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.gem \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install pip (Python) packages
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- ansible --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall ansible==3.4.0 || true \
|
||||||
|
\
|
||||||
|
# -------------------- yamllint --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yamllint || true \
|
||||||
|
\
|
||||||
|
# -------------------- yq --------------------
|
||||||
|
&& pip install --no-cache-dir --force-reinstall yq || true \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& rm -rf /root/.cache/pip \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true) \
|
||||||
|
\
|
||||||
|
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||||
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure Bash
|
||||||
|
###
|
||||||
|
RUN \
|
||||||
|
{ \
|
||||||
|
echo 'PATH="${PATH}:/usr/local/bin:/usr/local/sbin"'; \
|
||||||
|
echo 'PATH="${HOME}/.yarn/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="${HOME}/.composer/vendor/bin:${PATH}"'; \
|
||||||
|
echo 'PATH="/opt/nvm/versions/node/$(nvm version default)/bin:${PATH}"'; \
|
||||||
|
echo "export PATH"; \
|
||||||
|
echo ". /etc/bash-devilbox"; \
|
||||||
|
echo "if [ -d /etc/bashrc-devilbox.d/ ]; then"; \
|
||||||
|
echo " for f in /etc/bashrc-devilbox.d/*.sh ; do"; \
|
||||||
|
echo " if [ -r \"\${f}\" ]; then"; \
|
||||||
|
echo " . \"\${f}\""; \
|
||||||
|
echo " fi"; \
|
||||||
|
echo " done"; \
|
||||||
|
echo " unset f"; \
|
||||||
|
echo "fi"; \
|
||||||
|
} | tee -a /home/${MY_USER}/${BASH_PROFILE} /root/${BASH_PROFILE} \
|
||||||
|
&& chown ${MY_USER}:${MY_GROUP} /home/${MY_USER}/${BASH_PROFILE}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -eux \
|
||||||
|
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
\
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||||
|
\
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||||
|
&& rm -f /usr/local/etc/php/php.ini
|
||||||
|
|
||||||
|
RUN set -eux \
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
&& composer --version 2>/dev/null | grep -E 'version\s*[0-9][.0-9]+' \
|
||||||
|
&& su -c '. /opt/nvm/nvm.sh; nvm --version' devilbox | grep -E '^[0-9][.0-9]+' \
|
||||||
|
&& regex-grep --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& dep --version 2>/dev/null | grep -Ei 'deployer\s*(version\s*)?[0-9][.0-9]+' \
|
||||||
|
&& git-flow version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& linkcheck --version | grep -E '^linkcheck\sv[0-9][.0-9]+' \
|
||||||
|
&& mysqldump-secure --version | grep -E 'Version:\s*[0-9][.0-9]+' \
|
||||||
|
&& phpcs --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpcbf --version | grep -E 'version [0-9][.0-9]+' \
|
||||||
|
&& phpmd --version | grep -E '^PHPMD [0-9][.0-9]+' \
|
||||||
|
&& symfony -V | grep -Ei 'version\s*.*v[0-9][.0-9]+' \
|
||||||
|
&& wkhtmltopdf --version | grep -E "^wkhtmltopdf [0-9][.0-9]+\s+\(.+patched.+\)" \
|
||||||
|
&& wp --allow-root --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Composer --------------------
|
||||||
|
\
|
||||||
|
# -------------------- PIP --------------------
|
||||||
|
&& ansible --version | grep -E '^ansible [0-9][.0-9]+$' \
|
||||||
|
&& yamllint --version 2>&1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& yq --version 2>&1 | grep -E '^yq\s+[0-9][.0-9]+$' \
|
||||||
|
\
|
||||||
|
# -------------------- NPM --------------------
|
||||||
|
&& ng version 2>&1 | grep -iE 'Angular CLI:\s*[0-9][.0-9]+' \
|
||||||
|
&& eslint -v | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& grunt --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& gulp --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& jsonlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& pm2 --no-daemon --version | tail -1 | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& mdlint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& sass --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& stylelint --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& vue --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
&& webpack --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- GEM --------------------
|
||||||
|
&& mdl --version | grep -E '[0-9][.0-9]+' \
|
||||||
|
\
|
||||||
|
# -------------------- Cleanup --------------------
|
||||||
|
&& rm -rf /home/devilbox/.cache/ \
|
||||||
|
&& rm -rf /home/devilbox/.config/ \
|
||||||
|
&& rm -rf /root/.ansible \
|
||||||
|
&& rm -rf /root/.console \
|
||||||
|
&& rm -rf /root/.composer \
|
||||||
|
&& rm -rf /root/.drush \
|
||||||
|
&& rm -rf /root/.pm2 \
|
||||||
|
&& rm -rf /tmp/* \
|
||||||
|
&& (rm -rf /tmp/.* || true)
|
||||||
|
|
||||||
|
|
||||||
|
# Deactive PSR and Phalcon:
|
||||||
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
||||||
|
RUN set -eux \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
||||||
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/php-ini.d/php-8.2.ini /usr/local/etc/php/conf.d/xxx-devilbox-default-php.ini
|
||||||
|
COPY ./data/php-fpm.conf/php-fpm-8.2.conf /usr/local/etc/php-fpm.conf
|
||||||
|
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||||
|
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /shared/backups
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Where to start inside the container
|
||||||
|
###
|
||||||
|
WORKDIR /shared/httpd
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
134
Dockerfiles/work/data/php-fpm.conf/php-fpm-8.2.conf
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings can be overwritten by later includes
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Timeouts
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; The timeout for serving a single request after which the worker process will be killed.
|
||||||
|
; This option should be used when the 'max_execution_time' ini option does not stop script
|
||||||
|
; execution for some reason.
|
||||||
|
request_terminate_timeout = 120s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Logging
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
log_level = notice
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; if we send this to /proc/self/fd/1, it never appears
|
||||||
|
access.log = /proc/self/fd/2
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Backlog configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; A maximum of backlog incoming connections will be queued for processing.
|
||||||
|
; If a connection request arrives with the queue full the client may receive an error with an
|
||||||
|
; indication of ECONNREFUSED, or, if the underlying protocol supports retransmission,
|
||||||
|
; the request may be ignored so that retries may succeed.
|
||||||
|
|
||||||
|
; This should not be greater than `cat /proc/sys/net/core/somaxconn`, otherwise connections
|
||||||
|
; are silently truncated
|
||||||
|
listen.backlog = 1024
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Worker configuration
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; static - the number of child processes is fixed (pm.max_children).
|
||||||
|
;
|
||||||
|
; dynamic - the number of child processes is set dynamically based on the following directives:
|
||||||
|
; pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
|
||||||
|
;
|
||||||
|
; ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where
|
||||||
|
; pm.start_servers are started when the service is started.
|
||||||
|
pm = ondemand
|
||||||
|
|
||||||
|
; The maximum number of child processes to be created
|
||||||
|
pm.max_children = 50
|
||||||
|
|
||||||
|
; The number of child processes created on startup. Used only when pm is set to dynamic.
|
||||||
|
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
|
||||||
|
pm.start_servers = 4
|
||||||
|
|
||||||
|
; The desired minimum number of idle server processes.
|
||||||
|
pm.min_spare_servers = 2
|
||||||
|
|
||||||
|
; The desired maximum number of idle server processes.
|
||||||
|
pm.max_spare_servers = 6
|
||||||
|
|
||||||
|
; The number of requests each child process should execute before respawning.
|
||||||
|
; This can be useful to work around memory leaks in 3rd party libraries.
|
||||||
|
; For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
||||||
|
; Default value: 0.
|
||||||
|
pm.max_requests = 500
|
||||||
|
|
||||||
|
; The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand
|
||||||
|
pm.process_idle_timeout = 10s
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Include
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
|
||||||
|
[global]
|
||||||
|
include = /usr/local/etc/php-fpm.d/*.conf
|
||||||
|
|
||||||
|
|
||||||
|
; ################################################################################
|
||||||
|
; ####
|
||||||
|
; #### The following settings overwrite any includes again
|
||||||
|
; ####
|
||||||
|
; ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Required for Dockerization
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[global]
|
||||||
|
daemonize = no
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Keep env variables set by docker
|
||||||
|
clear_env = no
|
||||||
|
|
||||||
|
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
||||||
|
; stderr will be redirected to /dev/null according to FastCGI specs.
|
||||||
|
; Note: on highloaded environement, this can cause some delay in the page
|
||||||
|
; process time (several ms).
|
||||||
|
; Default Value: no
|
||||||
|
catch_workers_output = yes
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; User and Group
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
user = devilbox
|
||||||
|
group = devilbox
|
||||||
|
|
||||||
|
|
||||||
|
; ############################################################
|
||||||
|
; Networking
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
[www]
|
||||||
|
; Ensure to listen here
|
||||||
|
listen = 9000
|
||||||
48
Dockerfiles/work/data/php-ini.d/php-8.2.ini
Normal file
48
Dockerfiles/work/data/php-ini.d/php-8.2.ini
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
; ############################################################
|
||||||
|
; # Devilbox PHP defaults for 8.2-work
|
||||||
|
; ############################################################
|
||||||
|
|
||||||
|
; Each PHP flavour (base, mods, prod, work) might have its own php.ini.
|
||||||
|
; If none is present, the one from the previous flavour is inherited.
|
||||||
|
|
||||||
|
|
||||||
|
[PHP]
|
||||||
|
|
||||||
|
; Memory
|
||||||
|
; Note: "memory_limit" should be larger than "post_max_size"
|
||||||
|
memory_limit = 512M
|
||||||
|
|
||||||
|
|
||||||
|
; Timeouts
|
||||||
|
max_execution_time = 120
|
||||||
|
max_input_time = 120
|
||||||
|
|
||||||
|
|
||||||
|
; Uploads
|
||||||
|
; Note: "post_max_size" should be greater than "upload_max_filesize"
|
||||||
|
post_max_size = 72M
|
||||||
|
upload_max_filesize = 64M
|
||||||
|
max_file_uploads = 20
|
||||||
|
|
||||||
|
|
||||||
|
; Vars
|
||||||
|
variables_order = EGPCS
|
||||||
|
max_input_vars = 8000
|
||||||
|
max_input_nesting_level = 64
|
||||||
|
|
||||||
|
|
||||||
|
; Error reporting
|
||||||
|
; Note: error_log is dynamic and handled during start to set appropriate setting
|
||||||
|
error_reporting = E_ALL | E_NOTICE | E_STRICT | E_DEPRECATED
|
||||||
|
xmlrpc_errors = Off
|
||||||
|
report_memleaks = On
|
||||||
|
display_errors = On
|
||||||
|
display_startup_errors = On
|
||||||
|
log_errors = On
|
||||||
|
html_errors = On
|
||||||
|
|
||||||
|
|
||||||
|
; Xdebug settings
|
||||||
|
xdebug.mode = Off
|
||||||
|
xdebug.start_with_request = default
|
||||||
|
xdebug.client_port = 9000
|
||||||
7
Makefile
7
Makefile
@@ -63,7 +63,7 @@ help:
|
|||||||
@echo "--------------------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------------------"
|
||||||
@echo
|
@echo
|
||||||
@echo "VERSION One of '5.2', '5.3', '5.4', '5.5', '5.6', '7.0',"
|
@echo "VERSION One of '5.2', '5.3', '5.4', '5.5', '5.6', '7.0',"
|
||||||
@echo " '7.1', '7.2', '7.3', '7.4', '8.0', '8.1'."
|
@echo " '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2'."
|
||||||
@echo " For gen-readme target it is optional and if not"
|
@echo " For gen-readme target it is optional and if not"
|
||||||
@echo " specified, it will generate for all versions."
|
@echo " specified, it will generate for all versions."
|
||||||
@echo
|
@echo
|
||||||
@@ -382,7 +382,9 @@ ifeq ($(VERSION),8.0)
|
|||||||
else
|
else
|
||||||
ifeq ($(VERSION),8.1)
|
ifeq ($(VERSION),8.1)
|
||||||
else
|
else
|
||||||
@$(info VERSION can only be: '5.2', '5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0' or '8.1')
|
ifeq ($(VERSION),8.2)
|
||||||
|
else
|
||||||
|
@$(info VERSION can only be: '5.2', '5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1' or '8.2')
|
||||||
@$(info )
|
@$(info )
|
||||||
@$(error Exiting)
|
@$(error Exiting)
|
||||||
endif
|
endif
|
||||||
@@ -396,6 +398,7 @@ endif
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
@echo "Version $(VERSION) is valid"
|
@echo "Version $(VERSION) is valid"
|
||||||
|
|
||||||
|
|||||||
46
README.md
46
README.md
@@ -25,6 +25,7 @@ Have a look at the following Devilbox base images for which no official versions
|
|||||||
* [PHP-FPM 7.4](https://github.com/devilbox/docker-php-fpm-7.4)
|
* [PHP-FPM 7.4](https://github.com/devilbox/docker-php-fpm-7.4)
|
||||||
* [PHP-FPM 8.0](https://github.com/devilbox/docker-php-fpm-8.0)
|
* [PHP-FPM 8.0](https://github.com/devilbox/docker-php-fpm-8.0)
|
||||||
* [PHP-FPM 8.1](https://github.com/devilbox/docker-php-fpm-8.1)
|
* [PHP-FPM 8.1](https://github.com/devilbox/docker-php-fpm-8.1)
|
||||||
|
* [PHP-FPM 8.2](https://github.com/devilbox/docker-php-fpm-8.2)
|
||||||
|
|
||||||
#### Documentation
|
#### Documentation
|
||||||
|
|
||||||
@@ -221,7 +222,7 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="12"><strong>base</strong></td>
|
<td rowspan="13"><strong>base</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-base</code></td>
|
<td><code>devilbox/php-fpm:5.2-base</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-base.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-base.svg" /></a>
|
||||||
@@ -304,9 +305,16 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-base.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-base.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-base</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-base.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-base.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="12"><strong>mods</strong></td>
|
<td rowspan="13"><strong>mods</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-mods</code></td>
|
<td><code>devilbox/php-fpm:5.2-mods</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-mods.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-mods.svg" /></a>
|
||||||
@@ -390,9 +398,16 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-mods.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-mods.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-mods</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-mods.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-mods.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="12"><strong>prod</strong></td>
|
<td rowspan="13"><strong>prod</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-prod</code></td>
|
<td><code>devilbox/php-fpm:5.2-prod</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-prod.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-prod.svg" /></a>
|
||||||
@@ -476,9 +491,16 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-prod.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-prod.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-prod</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-prod.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-prod.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="12"><strong>work</strong></td>
|
<td rowspan="13"><strong>work</strong></td>
|
||||||
<td><code>devilbox/php-fpm:5.2-work</code></td>
|
<td><code>devilbox/php-fpm:5.2-work</code></td>
|
||||||
<td>
|
<td>
|
||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-work.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:5.2-work.svg" /></a>
|
||||||
@@ -562,6 +584,13 @@ The following table shows a more complete overview about the offered Docker imag
|
|||||||
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-work.svg" /></a>
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.1-work.svg" /></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>devilbox/php-fpm:8.2-work</code></td>
|
||||||
|
<td>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/image/devilbox/php-fpm:8.2-work.svg" /></a>
|
||||||
|
<a href="https://microbadger.com/images/devilbox/php-fpm"><img src="https://images.microbadger.com/badges/version/devilbox/php-fpm:8.2-work.svg" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@@ -687,6 +716,11 @@ Check out this table to see which Docker image provides what PHP modules.
|
|||||||
<td id="81-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
<td id="81-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
||||||
<td id="81-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
<td id="81-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>8.2</th>
|
||||||
|
<td id="82-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
|
||||||
|
<td id="82-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, uuid, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@@ -708,6 +742,7 @@ docker pull devilbox/php-fpm:7.3-base
|
|||||||
docker pull devilbox/php-fpm:7.4-base
|
docker pull devilbox/php-fpm:7.4-base
|
||||||
docker pull devilbox/php-fpm:8.0-base
|
docker pull devilbox/php-fpm:8.0-base
|
||||||
docker pull devilbox/php-fpm:8.1-base
|
docker pull devilbox/php-fpm:8.1-base
|
||||||
|
docker pull devilbox/php-fpm:8.2-base
|
||||||
```
|
```
|
||||||
|
|
||||||
Generic PHP-FPM base image. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub>
|
Generic PHP-FPM base image. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub>
|
||||||
@@ -726,6 +761,7 @@ docker pull devilbox/php-fpm:7.3-mods
|
|||||||
docker pull devilbox/php-fpm:7.4-mods
|
docker pull devilbox/php-fpm:7.4-mods
|
||||||
docker pull devilbox/php-fpm:8.0-mods
|
docker pull devilbox/php-fpm:8.0-mods
|
||||||
docker pull devilbox/php-fpm:8.1-mods
|
docker pull devilbox/php-fpm:8.1-mods
|
||||||
|
docker pull devilbox/php-fpm:8.2-mods
|
||||||
```
|
```
|
||||||
|
|
||||||
Generic PHP-FPM image with fully loaded extensions. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub></td>
|
Generic PHP-FPM image with fully loaded extensions. Use it to derive your own php-fpm docker image from it and add more extensions, tools and injectables.<br/><br/><sub>(Does not offer any environment variables except for `NEW_UID` and `NEW_GID`)</sub></td>
|
||||||
@@ -744,6 +780,7 @@ docker pull devilbox/php-fpm:7.3-prod
|
|||||||
docker pull devilbox/php-fpm:7.4-prod
|
docker pull devilbox/php-fpm:7.4-prod
|
||||||
docker pull devilbox/php-fpm:8.0-prod
|
docker pull devilbox/php-fpm:8.0-prod
|
||||||
docker pull devilbox/php-fpm:8.1-prod
|
docker pull devilbox/php-fpm:8.1-prod
|
||||||
|
docker pull devilbox/php-fpm:8.2-prod
|
||||||
```
|
```
|
||||||
|
|
||||||
Devilbox production image. This Docker image comes with many injectables, port-forwardings, mail-catch-all and user/group rewriting.
|
Devilbox production image. This Docker image comes with many injectables, port-forwardings, mail-catch-all and user/group rewriting.
|
||||||
@@ -762,6 +799,7 @@ docker pull devilbox/php-fpm:7.3-work
|
|||||||
docker pull devilbox/php-fpm:7.4-work
|
docker pull devilbox/php-fpm:7.4-work
|
||||||
docker pull devilbox/php-fpm:8.0-work
|
docker pull devilbox/php-fpm:8.0-work
|
||||||
docker pull devilbox/php-fpm:8.1-work
|
docker pull devilbox/php-fpm:8.1-work
|
||||||
|
docker pull devilbox/php-fpm:8.2-work
|
||||||
```
|
```
|
||||||
|
|
||||||
Devilbox development image. Same as prod, but comes with lots of locally installed tools to make development inside the container as convenient as possible. See [Integrated Development Environment](#integrated-development-environment) for more information about this.
|
Devilbox development image. Same as prod, but comes with lots of locally installed tools to make development inside the container as convenient as possible. See [Integrated Development Environment](#integrated-development-environment) for more information about this.
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ FROM devilbox/php-fpm-5.3
|
|||||||
FROM devilbox/php-fpm-8.0
|
FROM devilbox/php-fpm-8.0
|
||||||
{% elif php_version == 8.1 %}
|
{% elif php_version == 8.1 %}
|
||||||
FROM devilbox/php-fpm-8.1
|
FROM devilbox/php-fpm-8.1
|
||||||
|
{% elif php_version == 8.2 %}
|
||||||
|
FROM devilbox/php-fpm-8.2
|
||||||
{% else %}
|
{% else %}
|
||||||
FROM php:{{ php_version }}-fpm
|
FROM php:{{ php_version }}-fpm
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ RUN set -eux \
|
|||||||
mongodb-org-shell \
|
mongodb-org-shell \
|
||||||
mongodb-org-tools \
|
mongodb-org-tools \
|
||||||
moreutils \
|
moreutils \
|
||||||
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0, 8.1] %}
|
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] %}
|
||||||
mariadb-client \
|
mariadb-client \
|
||||||
{% else %}
|
{% else %}
|
||||||
mysql-client \
|
mysql-client \
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ php_all_versions:
|
|||||||
- 7.4
|
- 7.4
|
||||||
- 8.0
|
- 8.0
|
||||||
- 8.1
|
- 8.1
|
||||||
|
- 8.2
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
blackfire:
|
blackfire:
|
||||||
disabled: [5.2, 5.3, 5.4, 5.5, 8.1]
|
disabled: [5.2, 5.3, 5.4, 5.5, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: custom
|
type: custom
|
||||||
command: |
|
command: |
|
||||||
@@ -253,14 +253,14 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
ffi:
|
ffi:
|
||||||
already_avail: [8.0, 8.1]
|
already_avail: [8.0, 8.1, 8.2]
|
||||||
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
|
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libffi-dev]
|
build_dep: [libffi-dev]
|
||||||
run_dep: [libffi7]
|
run_dep: [libffi7]
|
||||||
fileinfo:
|
fileinfo:
|
||||||
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
5.2:
|
5.2:
|
||||||
type: pecl
|
type: pecl
|
||||||
build_dep: [libmagic-dev]
|
build_dep: [libmagic-dev]
|
||||||
@@ -269,7 +269,7 @@ extensions_available:
|
|||||||
filter:
|
filter:
|
||||||
already_avail: "{{ php_all_versions }}" # Available by default
|
already_avail: "{{ php_all_versions }}" # Available by default
|
||||||
ftp:
|
ftp:
|
||||||
already_avail: [5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
already_avail: [5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
configure: --with-openssl-dir
|
configure: --with-openssl-dir
|
||||||
@@ -335,6 +335,11 @@ extensions_available:
|
|||||||
configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif
|
configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif
|
||||||
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev, libavif-dev]
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev, libavif-dev]
|
||||||
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6, libavif9]
|
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6, libavif9]
|
||||||
|
8.2:
|
||||||
|
type: builtin
|
||||||
|
configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif
|
||||||
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev, libavif-dev]
|
||||||
|
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6, libavif9]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
|
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
|
||||||
@@ -410,7 +415,7 @@ extensions_available:
|
|||||||
build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev]
|
build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev]
|
||||||
run_dep: [libc-client2007e]
|
run_dep: [libc-client2007e]
|
||||||
interbase:
|
interbase:
|
||||||
disabled: [7.4, 8.0, 8.1]
|
disabled: [7.4, 8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libfbclient2, libib-util, firebird-dev]
|
build_dep: [libfbclient2, libib-util, firebird-dev]
|
||||||
@@ -445,7 +450,7 @@ extensions_available:
|
|||||||
build_dep: [libicu-dev]
|
build_dep: [libicu-dev]
|
||||||
run_dep: [libicu67]
|
run_dep: [libicu67]
|
||||||
ioncube:
|
ioncube:
|
||||||
disabled: [8.0, 8.1]
|
disabled: [8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: custom
|
type: custom
|
||||||
command: |
|
command: |
|
||||||
@@ -469,13 +474,13 @@ extensions_available:
|
|||||||
libxml:
|
libxml:
|
||||||
already_avail: "{{ php_all_versions }}" # Available by default
|
already_avail: "{{ php_all_versions }}" # Available by default
|
||||||
mbstring:
|
mbstring:
|
||||||
already_avail: [5.2, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
already_avail: [5.2, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
mcrypt:
|
mcrypt:
|
||||||
# mcrypt 1.0.4 requires PHP 8.1.0 or older
|
# mcrypt 1.0.4 requires PHP 8.1.0 or older
|
||||||
# version >= 7.2.0, version <= 8.1.0, excluded versions: 8.1.0
|
# version >= 7.2.0, version <= 8.1.0, excluded versions: 8.1.0
|
||||||
disabled: [8.1]
|
disabled: [8.1, 8.2]
|
||||||
5.2:
|
5.2:
|
||||||
type: builtin
|
type: builtin
|
||||||
5.3:
|
5.3:
|
||||||
@@ -580,12 +585,24 @@ extensions_available:
|
|||||||
&& ./configure --enable-memcached \
|
&& ./configure --enable-memcached \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
|
8.2:
|
||||||
|
type: git
|
||||||
|
git_url: https://github.com/php-memcached-dev/php-memcached
|
||||||
|
git_ref: master
|
||||||
|
command: |
|
||||||
|
true \
|
||||||
|
# FIXME: This is a work-around to mitigate compile error with PHP 8.2
|
||||||
|
&& sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \
|
||||||
|
&& phpize \
|
||||||
|
&& ./configure --enable-memcached \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
build_dep: [zlib1g-dev, libmemcached-dev, libevent-dev]
|
build_dep: [zlib1g-dev, libmemcached-dev, libevent-dev]
|
||||||
run_dep: [libmemcachedutil2]
|
run_dep: [libmemcachedutil2]
|
||||||
mongo:
|
mongo:
|
||||||
disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1] # Deprecated
|
disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] # Deprecated
|
||||||
5.2:
|
5.2:
|
||||||
type: pecl
|
type: pecl
|
||||||
command: yes yes | pecl install mongo-1.5.8
|
command: yes yes | pecl install mongo-1.5.8
|
||||||
@@ -637,7 +654,7 @@ extensions_available:
|
|||||||
type: pecl
|
type: pecl
|
||||||
mysql:
|
mysql:
|
||||||
already_avail: [5.2, 5.3]
|
already_avail: [5.2, 5.3]
|
||||||
disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1] # Deprecated in newer versions
|
disabled: [7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2] # Deprecated in newer versions
|
||||||
5.6:
|
5.6:
|
||||||
type: builtin
|
type: builtin
|
||||||
run_dep: [libmariadbclient18]
|
run_dep: [libmariadbclient18]
|
||||||
@@ -650,7 +667,7 @@ extensions_available:
|
|||||||
type: builtin
|
type: builtin
|
||||||
mysqlnd:
|
mysqlnd:
|
||||||
disabled: [5.2]
|
disabled: [5.2]
|
||||||
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
oauth:
|
oauth:
|
||||||
disabled: []
|
disabled: []
|
||||||
5.2:
|
5.2:
|
||||||
@@ -713,6 +730,9 @@ extensions_available:
|
|||||||
8.1:
|
8.1:
|
||||||
type: builtin
|
type: builtin
|
||||||
pre: curl -sS https://raw.githubusercontent.com/php/php-src/php-8.0.6/ext/opcache/Optimizer/zend_dfg.h > /usr/local/include/php/Zend/Optimizer/zend_dfg.h
|
pre: curl -sS https://raw.githubusercontent.com/php/php-src/php-8.0.6/ext/opcache/Optimizer/zend_dfg.h > /usr/local/include/php/Zend/Optimizer/zend_dfg.h
|
||||||
|
8.2:
|
||||||
|
type: builtin
|
||||||
|
pre: curl -sS https://raw.githubusercontent.com/php/php-src/php-8.0.6/ext/opcache/Optimizer/zend_dfg.h > /usr/local/include/php/Zend/Optimizer/zend_dfg.h
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
openssl:
|
openssl:
|
||||||
@@ -759,6 +779,9 @@ extensions_available:
|
|||||||
8.1:
|
8.1:
|
||||||
type: builtin
|
type: builtin
|
||||||
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
|
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
|
||||||
|
8.2:
|
||||||
|
type: builtin
|
||||||
|
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
configure: --with-pdo-oci=instantclient,/usr,${ORACLE_VERSION_MAJOR}
|
configure: --with-pdo-oci=instantclient,/usr,${ORACLE_VERSION_MAJOR}
|
||||||
@@ -833,7 +856,7 @@ extensions_available:
|
|||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
phalcon:
|
phalcon:
|
||||||
disabled: [5.2, 8.0, 8.1] # TODO: currently disabled for 7.4 as it breaks
|
disabled: [5.2, 8.0, 8.1, 8.2] # TODO: currently disabled for 7.4 as it breaks
|
||||||
5.3:
|
5.3:
|
||||||
type: git
|
type: git
|
||||||
git_url: https://github.com/phalcon/cphalcon
|
git_url: https://github.com/phalcon/cphalcon
|
||||||
@@ -870,7 +893,7 @@ extensions_available:
|
|||||||
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1)
|
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1)
|
||||||
command: cd build && ./install
|
command: cd build && ./install
|
||||||
phar:
|
phar:
|
||||||
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
already_avail: [5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
5.2:
|
5.2:
|
||||||
type: pecl
|
type: pecl
|
||||||
build_dep: [libssl-dev]
|
build_dep: [libssl-dev]
|
||||||
@@ -884,7 +907,7 @@ extensions_available:
|
|||||||
readline:
|
readline:
|
||||||
already_avail: "{{ php_all_versions }}"
|
already_avail: "{{ php_all_versions }}"
|
||||||
recode:
|
recode:
|
||||||
disabled: [7.4, 8.0, 8.1]
|
disabled: [7.4, 8.0, 8.1, 8.2]
|
||||||
already_avail: [5.3, 5.4]
|
already_avail: [5.3, 5.4]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
@@ -924,6 +947,24 @@ extensions_available:
|
|||||||
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
|
8.2:
|
||||||
|
type: git
|
||||||
|
git_url: https://github.com/phpredis/phpredis
|
||||||
|
git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1)
|
||||||
|
command: |
|
||||||
|
REDIS_ARGS=""; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
||||||
|
fi; \
|
||||||
|
if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
|
||||||
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
||||||
|
fi; \
|
||||||
|
phpize \
|
||||||
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
||||||
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
|
||||||
|
&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
all:
|
all:
|
||||||
type: git
|
type: git
|
||||||
git_url: https://github.com/phpredis/phpredis
|
git_url: https://github.com/phpredis/phpredis
|
||||||
@@ -941,7 +982,7 @@ extensions_available:
|
|||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
reflection:
|
reflection:
|
||||||
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
already_avail: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
rdkafka:
|
rdkafka:
|
||||||
disabled: [5.2]
|
disabled: [5.2]
|
||||||
5.3:
|
5.3:
|
||||||
@@ -999,6 +1040,11 @@ extensions_available:
|
|||||||
pre: |
|
pre: |
|
||||||
docker-php-ext-configure sockets \
|
docker-php-ext-configure sockets \
|
||||||
&& sed -i'' 's/.*ucred.*//g' /usr/src/php/ext/sockets/sendrecvmsg.c \
|
&& sed -i'' 's/.*ucred.*//g' /usr/src/php/ext/sockets/sendrecvmsg.c \
|
||||||
|
8.2:
|
||||||
|
# Remove ucred (currently breaks build)
|
||||||
|
pre: |
|
||||||
|
docker-php-ext-configure sockets \
|
||||||
|
&& sed -i'' 's/.*ucred.*//g' /usr/src/php/ext/sockets/sendrecvmsg.c \
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
sodium:
|
sodium:
|
||||||
@@ -1008,7 +1054,8 @@ extensions_available:
|
|||||||
type: builtin
|
type: builtin
|
||||||
build_dep: [libsodium-dev]
|
build_dep: [libsodium-dev]
|
||||||
solr:
|
solr:
|
||||||
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0]
|
# PHP 8.2: SolrParams::__toString() implemented without string return type in Unknown on line 0
|
||||||
|
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 8.2]
|
||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
build_dep: [libxml2-dev, libcurl4-openssl-dev]
|
build_dep: [libxml2-dev, libcurl4-openssl-dev]
|
||||||
@@ -1033,14 +1080,14 @@ extensions_available:
|
|||||||
build_dep: [unixodbc-dev]
|
build_dep: [unixodbc-dev]
|
||||||
run_dep: [unixodbc]
|
run_dep: [unixodbc]
|
||||||
ssh2:
|
ssh2:
|
||||||
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0, 8.1]
|
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 1.2
|
version: 1.2
|
||||||
build_dep: [libssh2-1-dev]
|
build_dep: [libssh2-1-dev]
|
||||||
run_dep: [libssh2-1]
|
run_dep: [libssh2-1]
|
||||||
swoole:
|
swoole:
|
||||||
disabled: [5.2, 8.1]
|
disabled: [5.2, 8.1, 8.2]
|
||||||
5.3:
|
5.3:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 1.9.23
|
version: 1.9.23
|
||||||
@@ -1145,7 +1192,7 @@ extensions_available:
|
|||||||
run_dep: [uuid]
|
run_dep: [uuid]
|
||||||
build_dep: [uuid-dev]
|
build_dep: [uuid-dev]
|
||||||
vips:
|
vips:
|
||||||
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0, 8.1]
|
disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0, 8.1, 8.2]
|
||||||
7.0:
|
7.0:
|
||||||
build_dep:
|
build_dep:
|
||||||
- fftw-dev
|
- fftw-dev
|
||||||
@@ -1237,13 +1284,13 @@ extensions_available:
|
|||||||
- libwebpmux3
|
- libwebpmux3
|
||||||
wddx:
|
wddx:
|
||||||
# https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx
|
# https://wiki.php.net/rfc/deprecate-and-remove-ext-wddx
|
||||||
disabled: [7.4, 8.0, 8.1]
|
disabled: [7.4, 8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
type: builtin
|
type: builtin
|
||||||
configure: --with-libxml-dir=/usr
|
configure: --with-libxml-dir=/usr
|
||||||
build_dep: [libxml2-dev]
|
build_dep: [libxml2-dev]
|
||||||
xdebug:
|
xdebug:
|
||||||
disabled: []
|
disabled: [8.2]
|
||||||
5.2:
|
5.2:
|
||||||
type: pecl
|
type: pecl
|
||||||
version: 2.2.7
|
version: 2.2.7
|
||||||
@@ -1283,7 +1330,7 @@ extensions_available:
|
|||||||
xmlreader:
|
xmlreader:
|
||||||
already_avail: "{{ php_all_versions }}"
|
already_avail: "{{ php_all_versions }}"
|
||||||
xmlrpc:
|
xmlrpc:
|
||||||
disabled: [8.0, 8.1]
|
disabled: [8.0, 8.1, 8.2]
|
||||||
7.4:
|
7.4:
|
||||||
type: builtin
|
type: builtin
|
||||||
configure: --with-iconv-dir=/usr
|
configure: --with-iconv-dir=/usr
|
||||||
|
|||||||
@@ -158,6 +158,8 @@ apt_repositories_available:
|
|||||||
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
|
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
|
||||||
8.1:
|
8.1:
|
||||||
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
|
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
|
||||||
|
8.2:
|
||||||
|
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu artful main
|
||||||
all:
|
all:
|
||||||
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main
|
deb: deb http://ppa.launchpad.net/git-core/ppa/ubuntu wily main
|
||||||
key: A1715D88E1DF1F24
|
key: A1715D88E1DF1F24
|
||||||
@@ -226,31 +228,31 @@ apt_repositories_available:
|
|||||||
#
|
#
|
||||||
composer_available:
|
composer_available:
|
||||||
asgardcms:
|
asgardcms:
|
||||||
disabled: [5.2, 5.3, 5.4, 8.0, 8.1]
|
disabled: [5.2, 5.3, 5.4, 8.0, 8.1, 8.2]
|
||||||
check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+'
|
check: asgardcms --version 2>/dev/null | grep -Ei 'AsgardCMS\sInstaller\s[0-9][.0-9]+'
|
||||||
name: asgardcms/asgardcms-installer
|
name: asgardcms/asgardcms-installer
|
||||||
link: asgardcms
|
link: asgardcms
|
||||||
version: 2
|
version: 2
|
||||||
codeception:
|
codeception:
|
||||||
disabled: [5.2, 8.0, 8.1]
|
disabled: [5.2, 8.0, 8.1, 8.2]
|
||||||
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$'
|
check: codecept --version 2>/dev/null | grep -E '^Codeception(\sversion)?\s[0-9][.0-9]+$'
|
||||||
name: codeception/codeception
|
name: codeception/codeception
|
||||||
link: codecept
|
link: codecept
|
||||||
version: 2
|
version: 2
|
||||||
lumen:
|
lumen:
|
||||||
disabled: [5.2, 5.3, 5.4, 8.0, 8.1]
|
disabled: [5.2, 5.3, 5.4, 8.0, 8.1, 8.2]
|
||||||
check: lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$'
|
check: lumen --version 2>/dev/null | grep -E '^Lumen Installer\s[0-9][.0-9]+$'
|
||||||
name: laravel/lumen-installer
|
name: laravel/lumen-installer
|
||||||
link: lumen
|
link: lumen
|
||||||
version: 2
|
version: 2
|
||||||
photon:
|
photon:
|
||||||
disabled: [5.2, 5.3, 5.4, 8.0, 8.1]
|
disabled: [5.2, 5.3, 5.4, 8.0, 8.1, 8.2]
|
||||||
check: photon --version | grep -E 'Installer [0-9][.0-9]+'
|
check: photon --version | grep -E 'Installer [0-9][.0-9]+'
|
||||||
name: photoncms/installer
|
name: photoncms/installer
|
||||||
link: photon
|
link: photon
|
||||||
version: 2
|
version: 2
|
||||||
prestissimo:
|
prestissimo:
|
||||||
disabled: [5.2, 8.0, 8.1]
|
disabled: [5.2, 8.0, 8.1, 8.2]
|
||||||
name: hirak/prestissimo
|
name: hirak/prestissimo
|
||||||
version: 1
|
version: 1
|
||||||
|
|
||||||
@@ -277,7 +279,7 @@ gem_available:
|
|||||||
# version which is not supported by the ruby version (>= 2.3)
|
# version which is not supported by the ruby version (>= 2.3)
|
||||||
ffi:
|
ffi:
|
||||||
name: ffi
|
name: ffi
|
||||||
disabled: [5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1]
|
disabled: [5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2]
|
||||||
all:
|
all:
|
||||||
version: 1.12.2
|
version: 1.12.2
|
||||||
rb_inotify:
|
rb_inotify:
|
||||||
@@ -287,6 +289,8 @@ gem_available:
|
|||||||
mdl:
|
mdl:
|
||||||
name: mdl
|
name: mdl
|
||||||
check: mdl --version | grep -E '[0-9][.0-9]+'
|
check: mdl --version | grep -E '[0-9][.0-9]+'
|
||||||
|
8.2:
|
||||||
|
version: 0.5.0
|
||||||
8.1:
|
8.1:
|
||||||
version: 0.5.0
|
version: 0.5.0
|
||||||
8.0:
|
8.0:
|
||||||
@@ -559,7 +563,7 @@ software_available:
|
|||||||
command: curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep
|
command: curl -sS -k -L --fail https://deployer.org/deployer.phar -L -o /usr/local/bin/dep
|
||||||
post: chmod +x /usr/local/bin/dep
|
post: chmod +x /usr/local/bin/dep
|
||||||
drush7:
|
drush7:
|
||||||
disabled: [5.2, 8.0, 8.1]
|
disabled: [5.2, 8.0, 8.1, 8.2]
|
||||||
check: drush7 --version | grep -E '7[.0-9]+\s*$'
|
check: drush7 --version | grep -E '7[.0-9]+\s*$'
|
||||||
all:
|
all:
|
||||||
pre: |
|
pre: |
|
||||||
@@ -575,7 +579,7 @@ software_available:
|
|||||||
&& rm -rf /usr/local/src/drush7/examples \
|
&& rm -rf /usr/local/src/drush7/examples \
|
||||||
&& rm -rf /usr/local/src/drush7/misc \
|
&& rm -rf /usr/local/src/drush7/misc \
|
||||||
drush8:
|
drush8:
|
||||||
disabled: [5.2, 5.3, 8.0, 8.1]
|
disabled: [5.2, 5.3, 8.0, 8.1, 8.2]
|
||||||
check: drush8 --version | grep -E '8[.0-9]+\s*$'
|
check: drush8 --version | grep -E '8[.0-9]+\s*$'
|
||||||
all:
|
all:
|
||||||
pre: |
|
pre: |
|
||||||
@@ -591,7 +595,7 @@ software_available:
|
|||||||
&& rm -rf /usr/local/src/drush8/examples \
|
&& rm -rf /usr/local/src/drush8/examples \
|
||||||
&& rm -rf /usr/local/src/drush8/misc \
|
&& rm -rf /usr/local/src/drush8/misc \
|
||||||
drush9:
|
drush9:
|
||||||
disabled: [5.2, 5.3, 5.4, 5.5, 7.0, 7.1, 8.0, 8.1]
|
disabled: [5.2, 5.3, 5.4, 5.5, 7.0, 7.1, 8.0, 8.1, 8.2]
|
||||||
check: drush9 --version | grep -E '9[.0-9]+\s*$'
|
check: drush9 --version | grep -E '9[.0-9]+\s*$'
|
||||||
all:
|
all:
|
||||||
pre: |
|
pre: |
|
||||||
@@ -607,7 +611,7 @@ software_available:
|
|||||||
&& rm -rf /usr/local/src/drush9/examples \
|
&& rm -rf /usr/local/src/drush9/examples \
|
||||||
&& rm -rf /usr/local/src/drush9/misc \
|
&& rm -rf /usr/local/src/drush9/misc \
|
||||||
drupalconsole:
|
drupalconsole:
|
||||||
disabled: [5.2, 5.3, 5.4, 7.0, 7.1, 8.0, 8.1] # TODO: re-enable for 8.0 (currently errors)
|
disabled: [5.2, 5.3, 5.4, 7.0, 7.1, 8.0, 8.1, 8.2] # TODO: re-enable for 8.0 (currently errors)
|
||||||
check: drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]'
|
check: drupal --version | grep -E 'Drupal Console Launcher\s*[0-9][.0-9]'
|
||||||
5.5:
|
5.5:
|
||||||
pre: DURL="https://github.com/hechoendrupal/drupal-console-launcher/releases/download/1.9.4/drupal.phar"
|
pre: DURL="https://github.com/hechoendrupal/drupal-console-launcher/releases/download/1.9.4/drupal.phar"
|
||||||
@@ -643,7 +647,7 @@ software_available:
|
|||||||
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
&& su - ${MY_USER} -c '/usr/local/src/brew/bin/brew config' \
|
||||||
laravel:
|
laravel:
|
||||||
check: laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+'
|
check: laravel --version | grep -E '(Installer|version)\s*[0-9][.0-9]+'
|
||||||
disabled: [5.2, 5.3]
|
disabled: [5.2, 5.3, 8.2]
|
||||||
5.4:
|
5.4:
|
||||||
pre: |
|
pre: |
|
||||||
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
|
||||||
@@ -747,7 +751,7 @@ software_available:
|
|||||||
&& cd / \
|
&& cd / \
|
||||||
&& rm -rf /usr/local/src/mysqldump-secure \
|
&& rm -rf /usr/local/src/mysqldump-secure \
|
||||||
phalcon:
|
phalcon:
|
||||||
disabled: [5.2, 8.0, 8.1]
|
disabled: [5.2, 8.0, 8.1, 8.2]
|
||||||
check: phalcon commands | grep -E '[0-9][.0-9]+'
|
check: phalcon commands | grep -E '[0-9][.0-9]+'
|
||||||
5.3:
|
5.3:
|
||||||
pre: |
|
pre: |
|
||||||
@@ -861,7 +865,7 @@ software_available:
|
|||||||
curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
curl -sS -L --fail https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar > /usr/local/bin/phpcbf \
|
||||||
&& chmod +x /usr/local/bin/phpcbf \
|
&& chmod +x /usr/local/bin/phpcbf \
|
||||||
php-cs-fixer:
|
php-cs-fixer:
|
||||||
disabled: [5.2]
|
disabled: [5.2, 8.2]
|
||||||
check: php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+'
|
check: php-cs-fixer --version 2>&1 | grep -E 'Fixer\s+(version\s*)?[-_.0-9]+\s+'
|
||||||
5.3:
|
5.3:
|
||||||
command: |
|
command: |
|
||||||
@@ -908,7 +912,7 @@ software_available:
|
|||||||
&& mv phpmd.phar /usr/local/bin/phpmd \
|
&& mv phpmd.phar /usr/local/bin/phpmd \
|
||||||
&& chmod +x /usr/local/bin/phpmd \
|
&& chmod +x /usr/local/bin/phpmd \
|
||||||
phpunit:
|
phpunit:
|
||||||
disabled: [5.2, 8.0, 8.1]
|
disabled: [5.2, 8.0, 8.1, 8.2]
|
||||||
check: phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+'
|
check: phpunit --version | grep -iE '^PHPUnit\s[0-9][.0-9]+'
|
||||||
5.3:
|
5.3:
|
||||||
command: |
|
command: |
|
||||||
@@ -999,6 +1003,14 @@ software_available:
|
|||||||
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
&& rm -f /tmp/wkhtmltopdf.deb \
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
|
8.2:
|
||||||
|
command: |
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||||
|
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
|
||||||
|
&& curl -sS -L --fail -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
|
||||||
|
&& dpkg -i /tmp/wkhtmltopdf.deb \
|
||||||
|
&& rm -f /tmp/wkhtmltopdf.deb \
|
||||||
all:
|
all:
|
||||||
pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )"
|
pre: VERSION="$( curl -sSL -L --fail https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )"
|
||||||
command: |
|
command: |
|
||||||
|
|||||||
@@ -11,3 +11,4 @@ php-7.3 php_version=7.3 ansible_connection=local
|
|||||||
php-7.4 php_version=7.4 ansible_connection=local
|
php-7.4 php_version=7.4 ansible_connection=local
|
||||||
php-8.0 php_version=8.0 ansible_connection=local
|
php-8.0 php_version=8.0 ansible_connection=local
|
||||||
php-8.1 php_version=8.1 ansible_connection=local
|
php-8.1 php_version=8.1 ansible_connection=local
|
||||||
|
php-8.2 php_version=8.2 ansible_connection=local
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ print_usage() {
|
|||||||
echo " gen-readme.sh 7.4"
|
echo " gen-readme.sh 7.4"
|
||||||
echo " gen-readme.sh 8.0"
|
echo " gen-readme.sh 8.0"
|
||||||
echo " gen-readme.sh 8.1"
|
echo " gen-readme.sh 8.1"
|
||||||
|
echo " gen-readme.sh 8.2"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -104,6 +105,7 @@ if [ "${#}" -eq "0" ]; then
|
|||||||
update_readme "7.4"
|
update_readme "7.4"
|
||||||
update_readme "8.0"
|
update_readme "8.0"
|
||||||
update_readme "8.1"
|
update_readme "8.1"
|
||||||
|
update_readme "8.2"
|
||||||
elif [ "${#}" -gt "1" ]; then
|
elif [ "${#}" -gt "1" ]; then
|
||||||
# Specifying more than 1 argument is wrong
|
# Specifying more than 1 argument is wrong
|
||||||
echo "Error, invalid number of arguments."
|
echo "Error, invalid number of arguments."
|
||||||
@@ -121,7 +123,8 @@ else
|
|||||||
&& [ "${1}" != "7.3" ] \
|
&& [ "${1}" != "7.3" ] \
|
||||||
&& [ "${1}" != "7.4" ] \
|
&& [ "${1}" != "7.4" ] \
|
||||||
&& [ "${1}" != "8.0" ] \
|
&& [ "${1}" != "8.0" ] \
|
||||||
&& [ "${1}" != "8.1" ]; then
|
&& [ "${1}" != "8.1" ] \
|
||||||
|
&& [ "${1}" != "8.2" ]; then
|
||||||
# Argument does not match any of the PHP versions
|
# Argument does not match any of the PHP versions
|
||||||
echo "Error, invalid argument."
|
echo "Error, invalid argument."
|
||||||
print_usage
|
print_usage
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ if (PHP_MAJOR_VERSION == 7) {
|
|||||||
|
|
||||||
// FIXME: Currently not available for PHP 8.0 and PHP 8.1
|
// FIXME: Currently not available for PHP 8.0 and PHP 8.1
|
||||||
if (PHP_MAJOR_VERSION == 8) {
|
if (PHP_MAJOR_VERSION == 8) {
|
||||||
if (PHP_MINOR_VERSION == 0 || PHP_MINOR_VERSION == 1) {
|
if (PHP_MINOR_VERSION == 0 || PHP_MINOR_VERSION == 1 || PHP_MINOR_VERSION == 2) {
|
||||||
echo 'SKIP';
|
echo 'SKIP';
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user