Fix mod images

This commit is contained in:
cytopia
2019-11-02 23:53:16 +01:00
parent 7585081644
commit 31864f8335
51 changed files with 8135 additions and 4716 deletions

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.2-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.2-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.3 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.3-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.3-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.4-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.4-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.5 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.5-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.5-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.6 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.6-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.6-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.0 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.0-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.0-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.1 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.1-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.1-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.2-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.2-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.3 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.3-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.3-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.4-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.4-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-base"
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 8.0 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="8.0-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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.0-base"
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-base"
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-base"
### ###

View File

@@ -1,60 +1,575 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead. # Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
FROM devilbox/php-fpm:5.2-base FROM devilbox/php-fpm:5.2-base as builder
MAINTAINER "cytopia" <cytopia@everythingcli.org>
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
firebird-dev \
freetds-dev \
libbz2-dev \
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libevent-dev \
libfbclient2 \
libfreetype6-dev \
libib-util \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagic-dev \
libmcrypt-dev \
libmemcached-dev \
libpcre3-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
snmp \
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: ioncube --------------------
RUN set -eux \
# Installation: Generic
# Type: Custom extension
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
&& tar xvfz ioncube.tar.gz \
&& cd ioncube \
&& cp "ioncube_loader_lin_5.2.so" "${EXTENSION_DIR}/ioncube.so" \
&& cd ../ \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
&& true
# -------------------- Installing PHP Extension: amqp --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install amqp-1.4.0 \
# Enabling
&& docker-php-ext-enable amqp \
&& 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: Version specific
# Type: PECL extension
# Custom: Pecl command
&& echo "/usr" | pecl install enchant \
# Enabling
&& docker-php-ext-enable 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: fileinfo --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install fileinfo \
# Enabling
&& docker-php-ext-enable fileinfo \
&& true
# -------------------- Installing PHP Extension: ftp --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure ftp --with-openssl-dir \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
&& true
# -------------------- Installing PHP Extension: gd --------------------
RUN set -eux \
# Version specific pre-command
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
mkdir /usr/include/freetype2/freetype && \
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
\
# Installation: Version specific
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
# 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: igbinary --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install igbinary-2.0.7 \
# Enabling
&& docker-php-ext-enable igbinary \
&& 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: interbase --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
&& true
# -------------------- Installing PHP Extension: intl --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install intl \
# Enabling
&& docker-php-ext-enable 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: mcrypt --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
&& true
# -------------------- Installing PHP Extension: msgpack --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install msgpack-0.5.7 \
# 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: PECL extension
# Default: Pecl command
&& pecl install memcached-2.1.0 \
# Enabling
&& docker-php-ext-enable memcached \
&& true
# -------------------- Installing PHP Extension: mongo --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Custom: Pecl command
&& yes | pecl install mongo-1.5.8 \
# Enabling
&& docker-php-ext-enable mongo \
&& true
# -------------------- Installing PHP Extension: oauth --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install oauth-1.2.3 \
# Enabling
&& docker-php-ext-enable oauth \
&& true
# -------------------- Installing PHP Extension: opcache --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Custom: Pecl command
&& pecl install zendopcache \
# Enabling
&& docker-php-ext-enable 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_pgsql --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& 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: phar --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install phar \
# Enabling
&& docker-php-ext-enable phar \
&& 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: recode --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
&& true
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install redis-2.2.7 \
# Enabling
&& docker-php-ext-enable redis \
&& 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: sockets --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& 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: Version specific
# Type: Built-in extension
# Installation
&& 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: wddx --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
&& true
# -------------------- Installing PHP Extension: xdebug --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install xdebug-2.2.7 \
# Enabling
&& docker-php-ext-enable xdebug \
&& true
# -------------------- Installing PHP Extension: xmlrpc --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& 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: zip --------------------
RUN set -eux \
# Installation: Version specific
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
# Installation
&& 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:5.2-base as final
MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.2-mods" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.2-mods"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-mods"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods"
### ###
### Envs ### Copy artifacts from builder
### ###
ENV BUILD_DEPS \ ARG EXT_DIR
firebird-dev \ COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
freetds-dev \ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
libbz2-dev \ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
libc-client-dev \
libcurl4-openssl-dev \
libenchant-dev \
libevent-dev \
libfbclient2 \
libfreetype6-dev \
libib-util \
libicu-dev \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagic-dev \
libmcrypt-dev \
libmemcached-dev \
libpcre3-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libaspell15 \ libaspell15 \
libc-client2007e \ libc-client2007e \
libenchant1c2a \ libenchant1c2a \
@@ -75,313 +590,19 @@ ENV RUN_DEPS \
libxpm4 \ libxpm4 \
libxslt1.1 \ libxslt1.1 \
snmp \ snmp \
ca-certificates ca-certificates \
###
### Install
###
RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
# ---- Installing PHP Extension: ioncube ----
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
&& tar xvfz ioncube.tar.gz \
&& cd ioncube \
&& cp "ioncube_loader_lin_5.2.so" "${EXTENSION_DIR}/ioncube.so" \
&& cd ../ \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
&& (rm -rf /usr/local/lib/php/test/ioncube || true) \
&& (rm -rf /usr/local/lib/php/doc/ioncube || true) \
\
# ---- Installing PHP Extension: amqp ----
&& pecl install amqp-1.4.0 \
&& docker-php-ext-enable amqp \
&& (rm -rf /usr/local/lib/php/test/amqp || true) \
&& (rm -rf /usr/local/lib/php/doc/amqp || true) \
\
# ---- Installing PHP Extension: bcmath ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\
# ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \
&& (rm -rf /usr/local/lib/php/doc/bz2 || true) \
\
# ---- Installing PHP Extension: calendar ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
\
# ---- Installing PHP Extension: dba ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& (rm -rf /usr/local/lib/php/test/dba || true) \
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
\
# ---- Installing PHP Extension: enchant ----
&& echo "/usr" | pecl install enchant \
&& docker-php-ext-enable enchant \
&& (rm -rf /usr/local/lib/php/test/enchant || true) \
&& (rm -rf /usr/local/lib/php/doc/enchant || true) \
\
# ---- Installing PHP Extension: exif ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& (rm -rf /usr/local/lib/php/test/exif || true) \
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
\
# ---- Installing PHP Extension: fileinfo ----
&& pecl install fileinfo \
&& docker-php-ext-enable fileinfo \
&& (rm -rf /usr/local/lib/php/test/fileinfo || true) \
&& (rm -rf /usr/local/lib/php/doc/fileinfo || true) \
\
# ---- Installing PHP Extension: ftp ----
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
&& (rm -rf /usr/local/lib/php/test/ftp || true) \
&& (rm -rf /usr/local/lib/php/doc/ftp || true) \
\
# ---- Installing PHP Extension: gd ----
&& ln -s /usr/lib/x86_64-linux-gnu/libjpeg.* /usr/lib/ && \
ln -s /usr/lib/x86_64-linux-gnu/libpng.* /usr/lib/ && \
ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ && \
mkdir /usr/include/freetype2/freetype && \
ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \
\
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
&& (rm -rf /usr/local/lib/php/test/gd || true) \
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
\
# ---- Installing PHP Extension: gettext ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
\
# ---- Installing PHP Extension: igbinary ----
&& pecl install igbinary-2.0.7 \
&& docker-php-ext-enable igbinary \
&& (rm -rf /usr/local/lib/php/test/igbinary || true) \
&& (rm -rf /usr/local/lib/php/doc/igbinary || true) \
\
# ---- Installing PHP Extension: imap ----
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
&& (rm -rf /usr/local/lib/php/test/imap || true) \
&& (rm -rf /usr/local/lib/php/doc/imap || true) \
\
# ---- Installing PHP Extension: interbase ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
&& (rm -rf /usr/local/lib/php/test/interbase || true) \
&& (rm -rf /usr/local/lib/php/doc/interbase || true) \
\
# ---- Installing PHP Extension: intl ----
&& pecl install intl \
&& docker-php-ext-enable intl \
&& (rm -rf /usr/local/lib/php/test/intl || true) \
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
\
# ---- Installing PHP Extension: ldap ----
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
\
# ---- Installing PHP Extension: mcrypt ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
&& (rm -rf /usr/local/lib/php/test/mcrypt || true) \
&& (rm -rf /usr/local/lib/php/doc/mcrypt || true) \
\
# ---- Installing PHP Extension: msgpack ----
&& pecl install msgpack-0.5.7 \
&& docker-php-ext-enable msgpack \
&& (rm -rf /usr/local/lib/php/test/msgpack || true) \
&& (rm -rf /usr/local/lib/php/doc/msgpack || true) \
\
# ---- Installing PHP Extension: memcache ----
&& pecl install memcache \
&& docker-php-ext-enable memcache \
&& (rm -rf /usr/local/lib/php/test/memcache || true) \
&& (rm -rf /usr/local/lib/php/doc/memcache || true) \
\
# ---- Installing PHP Extension: memcached ----
&& pecl install memcached-2.1.0 \
&& docker-php-ext-enable memcached \
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
\
# ---- Installing PHP Extension: mongo ----
&& yes | pecl install mongo-1.5.8 \
&& docker-php-ext-enable mongo \
&& (rm -rf /usr/local/lib/php/test/mongo || true) \
&& (rm -rf /usr/local/lib/php/doc/mongo || true) \
\
# ---- Installing PHP Extension: oauth ----
&& pecl install oauth-1.2.3 \
&& docker-php-ext-enable oauth \
&& (rm -rf /usr/local/lib/php/test/oauth || true) \
&& (rm -rf /usr/local/lib/php/doc/oauth || true) \
\
# ---- Installing PHP Extension: opcache ----
&& pecl install zendopcache \
&& docker-php-ext-enable opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \
&& (rm -rf /usr/local/lib/php/doc/opcache || true) \
\
# ---- Installing PHP Extension: pcntl ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
\
# ---- Installing PHP Extension: pdo_dblib ----
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
\
# ---- Installing PHP Extension: pdo_firebird ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\
# ---- Installing PHP Extension: pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pgsql || true) \
\
# ---- Installing PHP Extension: phar ----
&& pecl install phar \
&& docker-php-ext-enable phar \
&& (rm -rf /usr/local/lib/php/test/phar || true) \
&& (rm -rf /usr/local/lib/php/doc/phar || true) \
\
# ---- Installing PHP Extension: pspell ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
\
# ---- Installing PHP Extension: recode ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
&& (rm -rf /usr/local/lib/php/test/recode || true) \
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
\
# ---- Installing PHP Extension: redis ----
&& pecl install redis-2.2.7 \
&& docker-php-ext-enable redis \
&& (rm -rf /usr/local/lib/php/test/redis || true) \
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
\
# ---- Installing PHP Extension: shmop ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
\
# ---- Installing PHP Extension: snmp ----
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
\
# ---- Installing PHP Extension: sockets ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
\
# ---- Installing PHP Extension: sysvmsg ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
&& (rm -rf /usr/local/lib/php/test/sysvmsg || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvmsg || true) \
\
# ---- Installing PHP Extension: sysvsem ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
\
# ---- Installing PHP Extension: sysvshm ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
\
# ---- Installing PHP Extension: tidy ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
\
# ---- Installing PHP Extension: uploadprogress ----
&& pecl install uploadprogress \
&& docker-php-ext-enable uploadprogress \
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
\
# ---- Installing PHP Extension: wddx ----
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
&& (rm -rf /usr/local/lib/php/test/wddx || true) \
&& (rm -rf /usr/local/lib/php/doc/wddx || true) \
\
# ---- Installing PHP Extension: xdebug ----
&& pecl install xdebug-2.2.7 \
&& docker-php-ext-enable xdebug \
&& (rm -rf /usr/local/lib/php/test/xdebug || true) \
&& (rm -rf /usr/local/lib/php/doc/xdebug || true) \
\
# ---- Installing PHP Extension: xmlrpc ----
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
\
# ---- Installing PHP Extension: xsl ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
\
# ---- Installing PHP Extension: zip ----
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
&& (rm -rf /usr/local/lib/php/test/zip || true) \
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
\
&& 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 \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& update-ca-certificates \ && update-ca-certificates
\
&& (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) \
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
###
### Post Install
###
### ###
### Verify ### Verify
### ###
RUN set -x \ RUN set -eux \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \ && php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.2' \
&& /usr/local/sbin/php-fpm --test \ && /usr/local/sbin/php-fpm --test \

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,62 +1,570 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead. # Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
FROM devilbox/php-fpm:7.4-base FROM devilbox/php-fpm:7.4-base as builder
MAINTAINER "cytopia" <cytopia@everythingcli.org>
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
alien \
cmake \
firebird-dev \
freetds-dev \
libaio-dev \
libbz2-dev \
libevent-dev \
libfbclient2 \
libffi-dev \
libfreetype6-dev \
libgmp-dev \
libhiredis-dev \
libib-util \
libicu-dev \
libjpeg-dev \
libldap2-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librdkafka-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
libzip-dev \
snmp \
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: 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: exif --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& true
# -------------------- Installing PHP Extension: ffi --------------------
RUN set -eux \
# Installation: Generic
# Type: GIT extension
&& git clone https://github.com/dstogov/php-ffi /tmp/ffi \
&& cd /tmp/ffi \
# Custom: Install command
&& phpize \
&& ./configure --with-ffi \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
# Enabling
&& docker-php-ext-enable ffi \
&& 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 --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
# 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: intl --------------------
RUN set -eux \
# Installation: Version specific
# Type: Built-in extension
# Installation
&& 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: 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
&& 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: 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 \
# Installation: Generic
# Type: Built-in extension
&& 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: pgsql --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& 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: Install command
&& phpize \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
&& ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
# Enabling
&& docker-php-ext-enable redis \
&& true
# -------------------- Installing PHP Extension: rdkafka --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install rdkafka-3.1.2 \
# 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 \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& true
# -------------------- Installing PHP Extension: swoole --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
&& cd /tmp/swoole \
# Custom: Branch
&& git checkout master \
# Custom: Install command
&& phpize \
&& ./configure \
--enable-openssl \
--enable-sockets \
--enable-http2 \
--enable-mysqlnd \
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
# Enabling
&& docker-php-ext-enable swoole \
&& 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: Version specific
# Type: Built-in extension
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& true
# -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
# Default: Install command
&& phpize \
&& ./configure --enable-uploadprogress \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Enabling
&& docker-php-ext-enable uploadprogress \
&& true
# -------------------- Installing PHP Extension: xmlrpc --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& 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: 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:7.4-base as final
MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.4-mods" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.4-mods"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-mods"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-mods"
### ###
### Envs ### Copy artifacts from builder
### ###
ENV BUILD_DEPS \ ARG EXT_DIR
alien \ COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
cmake \ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
firebird-dev \ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
freetds-dev \
libaio-dev \
libbz2-dev \
libevent-dev \
libfbclient2 \
libffi-dev \
libfreetype6-dev \
libgmp-dev \
libhiredis-dev \
libib-util \
libicu-dev \
libjpeg-dev \
libldap2-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librdkafka-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libaio1 \ libaio1 \
libaspell15 \ libaspell15 \
libfbclient2 \ libfbclient2 \
@@ -70,7 +578,6 @@ ENV RUN_DEPS \
libpng16-16 \ libpng16-16 \
libpq5 \ libpq5 \
librdkafka1 \ librdkafka1 \
librecode0 \
libsybdb5 \ libsybdb5 \
libtidy5 \ libtidy5 \
libvpx4 \ libvpx4 \
@@ -79,333 +586,29 @@ ENV RUN_DEPS \
libxslt1.1 \ libxslt1.1 \
libzip4 \ libzip4 \
snmp \ snmp \
ca-certificates ca-certificates \
###
### Install
###
RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
# ---- Installing PHP Extension: bcmath ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \
\
# ---- Installing PHP Extension: bz2 ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \
&& (rm -rf /usr/local/lib/php/doc/bz2 || true) \
\
# ---- Installing PHP Extension: calendar ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
&& (rm -rf /usr/local/lib/php/test/calendar || true) \
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \
\
# ---- Installing PHP Extension: dba ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
&& (rm -rf /usr/local/lib/php/test/dba || true) \
&& (rm -rf /usr/local/lib/php/doc/dba || true) \
\
# ---- Installing PHP Extension: exif ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
&& (rm -rf /usr/local/lib/php/test/exif || true) \
&& (rm -rf /usr/local/lib/php/doc/exif || true) \
\
# ---- Installing PHP Extension: ffi ----
&& git clone https://github.com/dstogov/php-ffi /tmp/ffi \
&& cd /tmp/ffi \
&& phpize \
&& ./configure --with-ffi \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
&& docker-php-ext-enable ffi \
&& (rm -rf /usr/local/lib/php/test/ffi || true) \
&& (rm -rf /usr/local/lib/php/doc/ffi || true) \
\
# ---- Installing PHP Extension: gd ----
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
&& (rm -rf /usr/local/lib/php/test/gd || true) \
&& (rm -rf /usr/local/lib/php/doc/gd || true) \
\
# ---- Installing PHP Extension: gettext ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
\
# ---- Installing PHP Extension: gmp ----
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
&& (rm -rf /usr/local/lib/php/test/gmp || true) \
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \
\
# ---- Installing PHP Extension: igbinary ----
&& pecl install igbinary \
&& docker-php-ext-enable igbinary \
&& (rm -rf /usr/local/lib/php/test/igbinary || true) \
&& (rm -rf /usr/local/lib/php/doc/igbinary || true) \
\
# ---- Installing PHP Extension: intl ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& (rm -rf /usr/local/lib/php/test/intl || true) \
&& (rm -rf /usr/local/lib/php/doc/intl || true) \
\
# ---- Installing PHP Extension: ldap ----
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
&& (rm -rf /usr/local/lib/php/test/ldap || true) \
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \
\
# ---- Installing PHP Extension: memcached ----
&& git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
&& cd /tmp/memcached \
&& git checkout master \
&& phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \
&& docker-php-ext-enable memcached \
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
\
# ---- Installing PHP Extension: mongodb ----
&& pecl install mongodb \
&& docker-php-ext-enable mongodb \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\
# ---- Installing PHP Extension: mysqli ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \
\
# ---- Installing PHP Extension: 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' )" \
\
&& 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) \
\
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \
\
# ---- Installing PHP Extension: opcache ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \
&& (rm -rf /usr/local/lib/php/doc/opcache || true) \
\
# ---- Installing PHP Extension: pcntl ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
\
# ---- Installing PHP Extension: pdo_dblib ----
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \
\
# ---- Installing PHP Extension: pdo_firebird ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \
\
# ---- Installing PHP Extension: pdo_mysql ----
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\
# ---- Installing PHP Extension: pdo_oci ----
&& 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) \
\
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \
\
# ---- Installing PHP Extension: pdo_pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\
# ---- Installing PHP Extension: pgsql ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pgsql || true) \
\
# ---- Installing PHP Extension: pspell ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& (rm -rf /usr/local/lib/php/test/pspell || true) \
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \
\
# ---- Installing PHP Extension: recode ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
&& (rm -rf /usr/local/lib/php/test/recode || true) \
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
\
# ---- Installing PHP Extension: redis ----
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
&& phpize \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
&& ./configure --enable-redis \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
&& docker-php-ext-enable redis \
&& (rm -rf /usr/local/lib/php/test/redis || true) \
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
\
# ---- Installing PHP Extension: rdkafka ----
&& pecl install rdkafka \
&& docker-php-ext-enable rdkafka \
&& (rm -rf /usr/local/lib/php/test/rdkafka || true) \
&& (rm -rf /usr/local/lib/php/doc/rdkafka || true) \
\
# ---- Installing PHP Extension: shmop ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \
\
# ---- Installing PHP Extension: snmp ----
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
&& (rm -rf /usr/local/lib/php/test/snmp || true) \
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \
\
# ---- Installing PHP Extension: soap ----
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
&& (rm -rf /usr/local/lib/php/test/soap || true) \
&& (rm -rf /usr/local/lib/php/doc/soap || true) \
\
# ---- Installing PHP Extension: sockets ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& (rm -rf /usr/local/lib/php/test/sockets || true) \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \
\
# ---- Installing PHP Extension: swoole ----
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
&& cd /tmp/swoole \
&& git checkout master \
&& phpize \
&& ./configure \
--enable-openssl \
--enable-sockets \
--enable-http2 \
--enable-mysqlnd \
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
&& docker-php-ext-enable swoole \
&& (rm -rf /usr/local/lib/php/test/swoole || true) \
&& (rm -rf /usr/local/lib/php/doc/swoole || true) \
\
# ---- Installing PHP Extension: sysvmsg ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
&& (rm -rf /usr/local/lib/php/test/sysvmsg || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvmsg || true) \
\
# ---- Installing PHP Extension: sysvsem ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
\
# ---- Installing PHP Extension: sysvshm ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \
\
# ---- Installing PHP Extension: tidy ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& (rm -rf /usr/local/lib/php/test/tidy || true) \
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \
\
# ---- Installing PHP Extension: uploadprogress ----
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \
&& phpize \
&& ./configure --enable-uploadprogress \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
&& docker-php-ext-enable uploadprogress \
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
\
# ---- Installing PHP Extension: xmlrpc ----
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \
\
# ---- Installing PHP Extension: xsl ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
\
# ---- Installing PHP Extension: zip ----
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
&& (rm -rf /usr/local/lib/php/test/zip || true) \
&& (rm -rf /usr/local/lib/php/doc/zip || true) \
\
&& 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 \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& update-ca-certificates \ && update-ca-certificates
\
&& (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) \ ### Post Install
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ###
RUN set -eux \
# ---------- 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 ### Verify
### ###
RUN set -x \ RUN set -eux \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \ && php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.4' \
&& /usr/local/sbin/php-fpm --test \ && /usr/local/sbin/php-fpm --test \
@@ -508,8 +711,6 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \ && php -m | grep -oiE '^reflection$' \

View File

@@ -1,149 +1,163 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead. # Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
FROM devilbox/php-fpm:8.0-base FROM devilbox/php-fpm:8.0-base as builder
MAINTAINER "cytopia" <cytopia@everythingcli.org>
###
### Labels
###
LABEL \
name="cytopia's PHP-FPM 8.0 Image" \
image="devilbox/php-fpm" \
tag="8.0-mods" \
vendor="devilbox" \
license="MIT"
###
### Envs
###
ENV BUILD_DEPS \
alien \
firebird-dev \
freetds-dev \
libaio-dev \
libbz2-dev \
libevent-dev \
libfbclient2 \
libfreetype6-dev \
libgmp-dev \
libib-util \
libicu-dev \
libjpeg-dev \
libldap2-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librecode-dev \
libsasl2-dev \
libsnmp-dev \
libsodium-dev \
libssl-dev \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libxml2-dev \
libxpm-dev \
libxslt-dev \
libzip-dev \
snmp \
zlib1g-dev \
ca-certificates \
git
ENV RUN_DEPS \
libaio1 \
libaspell15 \
libfbclient2 \
libffi6 \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
libmemcachedutil2 \
libpng16-16 \
libpq5 \
librecode0 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates
### ###
### Install ### Install
### ###
RUN set -x \ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \ alien \
\ firebird-dev \
\ freetds-dev \
# ---- Installing PHP Extension: bcmath ---- libaio-dev \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ libbz2-dev \
&& (rm -rf /usr/local/lib/php/test/bcmath || true) \ libevent-dev \
&& (rm -rf /usr/local/lib/php/doc/bcmath || true) \ libfbclient2 \
\ libfreetype6-dev \
# ---- Installing PHP Extension: bz2 ---- libgmp-dev \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ libib-util \
&& (rm -rf /usr/local/lib/php/test/bz2 || true) \ libicu-dev \
&& (rm -rf /usr/local/lib/php/doc/bz2 || true) \ libjpeg-dev \
\ libldap2-dev \
# ---- Installing PHP Extension: calendar ---- libmemcached-dev \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \ libpng-dev \
&& (rm -rf /usr/local/lib/php/test/calendar || true) \ libpq-dev \
&& (rm -rf /usr/local/lib/php/doc/calendar || true) \ libpspell-dev \
\ libsasl2-dev \
# ---- Installing PHP Extension: dba ---- libsnmp-dev \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \ libsodium-dev \
&& (rm -rf /usr/local/lib/php/test/dba || true) \ libssl-dev \
&& (rm -rf /usr/local/lib/php/doc/dba || true) \ libtidy-dev \
\ libvpx-dev \
# ---- Installing PHP Extension: exif ---- libwebp-dev \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ libxml2-dev \
&& (rm -rf /usr/local/lib/php/test/exif || true) \ libxpm-dev \
&& (rm -rf /usr/local/lib/php/doc/exif || true) \ libxslt-dev \
\ libzip-dev \
# ---- Installing PHP Extension: gd ---- snmp \
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: 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: 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/ \ && ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \ # Installation: Version specific
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/test/gd || true) \ # Custom: configure command
&& (rm -rf /usr/local/lib/php/doc/gd || true) \ && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
\ # Installation
# ---- Installing PHP Extension: gettext ---- && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \ && true
&& (rm -rf /usr/local/lib/php/test/gettext || true) \
&& (rm -rf /usr/local/lib/php/doc/gettext || true) \
\ # -------------------- Installing PHP Extension: gettext --------------------
# ---- Installing PHP Extension: gmp ---- 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/ \ && ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/test/gmp || true) \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/doc/gmp || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
\ && true
# ---- Installing PHP Extension: intl ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& (rm -rf /usr/local/lib/php/test/intl || true) \ # -------------------- Installing PHP Extension: intl --------------------
&& (rm -rf /usr/local/lib/php/doc/intl || true) \ RUN set -eux \
\ # Installation: Version specific
# ---- Installing PHP Extension: ldap ---- # Type: Built-in extension
# Installation
&& 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/ \ && ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \ # Installation: Generic
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/test/ldap || true) \ # Custom: configure command
&& (rm -rf /usr/local/lib/php/doc/ldap || true) \ && docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
\ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
# ---- Installing PHP Extension: memcached ---- && 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 \ && git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \
&& cd /tmp/memcached \ && cd /tmp/memcached \
# Custom: Branch
&& git checkout master \ && git checkout master \
# Custom: Install command
&& true \ && true \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0 # FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \ && sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \
@@ -152,14 +166,20 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
\ \
# Enabling
&& docker-php-ext-enable memcached \ && docker-php-ext-enable memcached \
&& (rm -rf /usr/local/lib/php/test/memcached || true) \ && true
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
\
# ---- Installing PHP Extension: mongodb ---- # -------------------- Installing PHP Extension: mongodb --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \ && git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \
&& cd /tmp/mongodb \ && cd /tmp/mongodb \
&& git submodule update --init \ # Custom: Install command
&& git checkout v1.6 \
&& git submodule update --init \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0 # FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \ && rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \ && rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
@@ -171,21 +191,39 @@ RUN set -x \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \ && sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \ && sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \ && sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \
\
&& sed -i'' 's/php_phongo_handler_binary.compare_objects.*//g' src/BSON/Binary.c \
&& sed -i'' 's/php_phongo_handler_dbpointer.compare_objects.*//g' src/BSON/DBPointer.c \
&& sed -i'' 's/php_phongo_handler_int64.compare_objects.*//g' src/BSON/Int64.c \
&& sed -i'' 's/php_phongo_handler_javascript.compare_objects.*//g' src/BSON/Javascript.c \
&& sed -i'' 's/php_phongo_handler_objectid.compare_objects.*//g' src/BSON/ObjectId.c \
&& sed -i'' 's/php_phongo_handler_symbol.compare_objects.*//g' src/BSON/Symbol.c \
&& sed -i'' 's/php_phongo_handler_timestamp.compare_objects.*//g' src/BSON/Timestamp.c \
&& sed -i'' 's/php_phongo_handler_regex.compare_objects.*//g' src/BSON/Regex.c \
&& sed -i'' 's/php_phongo_handler_server.compare_objects.*//g' src/MongoDB/Server.c \
&& sed -i'' 's/php_phongo_handler_utcdatetime.compare_objects.*//g' src/BSON/UTCDateTime.c \
\
&& phpize \ && phpize \
&& ./configure --enable-mongodb \ && ./configure --enable-mongodb \
&& make all \ && make all \
&& make install \ && make install \
\ \
# Enabling
&& docker-php-ext-enable mongodb \ && docker-php-ext-enable mongodb \
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \ && true
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
\
# ---- Installing PHP Extension: mysqli ---- # -------------------- Installing PHP Extension: mysqli --------------------
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ RUN set -eux \
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \ # Type: Built-in extension
\ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
# ---- Installing PHP Extension: oci8 ---- && 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_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_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' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
@@ -199,41 +237,68 @@ RUN set -x \
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${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}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${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) \
\ \
&& /usr/local/bin/docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ # Installation: Generic
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/test/oci8 || true) \ # Custom: configure command
&& (rm -rf /usr/local/lib/php/doc/oci8 || true) \ && 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 \
# ---- Installing PHP Extension: opcache ---- # Generic post-command
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && 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 )" \
&& (rm -rf /usr/local/lib/php/test/opcache || true) \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
&& (rm -rf /usr/local/lib/php/doc/opcache || true) \ && 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) \
# ---- Installing PHP Extension: pcntl ---- \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \ && true
&& (rm -rf /usr/local/lib/php/test/pcntl || true) \
&& (rm -rf /usr/local/lib/php/doc/pcntl || true) \
\ # -------------------- Installing PHP Extension: opcache --------------------
# ---- Installing PHP Extension: pdo_dblib ---- RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& 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/ \ && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/test/pdo_dblib || true) \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/doc/pdo_dblib || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
\ && true
# ---- Installing PHP Extension: pdo_firebird ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
&& (rm -rf /usr/local/lib/php/test/pdo_firebird || true) \ # -------------------- Installing PHP Extension: pdo_firebird --------------------
&& (rm -rf /usr/local/lib/php/doc/pdo_firebird || true) \ RUN set -eux \
\ # Installation: Generic
# ---- Installing PHP Extension: pdo_mysql ---- # Type: Built-in extension
&& /usr/local/bin/docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \ && true
&& (rm -rf /usr/local/lib/php/test/pdo_mysql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_mysql || true) \
\ # -------------------- Installing PHP Extension: pdo_mysql --------------------
# ---- Installing PHP Extension: pdo_oci ---- 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_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_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' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
@@ -249,34 +314,46 @@ RUN set -x \
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${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) \ && (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
\ \
&& /usr/local/bin/docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ # Installation: Version specific
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/test/pdo_oci || true) \ # Custom: configure command
&& (rm -rf /usr/local/lib/php/doc/pdo_oci || true) \ && docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \
\ # Installation
# ---- Installing PHP Extension: pdo_pgsql ---- && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && true
&& (rm -rf /usr/local/lib/php/test/pdo_pgsql || true) \
&& (rm -rf /usr/local/lib/php/doc/pdo_pgsql || true) \
\ # -------------------- Installing PHP Extension: pdo_pgsql --------------------
# ---- Installing PHP Extension: pgsql ---- RUN set -eux \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/test/pgsql || true) \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/doc/pgsql || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
\ && true
# ---- Installing PHP Extension: pspell ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
&& (rm -rf /usr/local/lib/php/test/pspell || true) \ # -------------------- Installing PHP Extension: pgsql --------------------
&& (rm -rf /usr/local/lib/php/doc/pspell || true) \ RUN set -eux \
\ # Installation: Generic
# ---- Installing PHP Extension: recode ---- # Type: Built-in extension
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
&& (rm -rf /usr/local/lib/php/test/recode || true) \ && true
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
\
# ---- Installing PHP Extension: redis ---- # -------------------- 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 \ && git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \ && cd /tmp/redis \
# Custom: Install command
&& phpize \ && phpize \
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \ && sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \ && sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
@@ -292,60 +369,95 @@ RUN set -x \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
\ \
# Enabling
&& docker-php-ext-enable redis \ && docker-php-ext-enable redis \
&& (rm -rf /usr/local/lib/php/test/redis || true) \ && true
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
\
# ---- Installing PHP Extension: shmop ---- # -------------------- Installing PHP Extension: shmop --------------------
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \ RUN set -eux \
&& (rm -rf /usr/local/lib/php/test/shmop || true) \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/doc/shmop || true) \ # Type: Built-in extension
\ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
# ---- Installing PHP Extension: snmp ---- && true
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
&& (rm -rf /usr/local/lib/php/test/snmp || true) \ # -------------------- Installing PHP Extension: snmp --------------------
&& (rm -rf /usr/local/lib/php/doc/snmp || true) \ RUN set -eux \
\ # Installation: Generic
# ---- Installing PHP Extension: soap ---- # Type: Built-in extension
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \ # Custom: configure command
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \ && docker-php-ext-configure snmp --with-openssl-dir \
&& (rm -rf /usr/local/lib/php/test/soap || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
&& (rm -rf /usr/local/lib/php/doc/soap || true) \ && true
\
# ---- Installing PHP Extension: sockets ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \ # -------------------- Installing PHP Extension: soap --------------------
&& (rm -rf /usr/local/lib/php/test/sockets || true) \ RUN set -eux \
&& (rm -rf /usr/local/lib/php/doc/sockets || true) \ # Installation: Generic
\ # Type: Built-in extension
# ---- Installing PHP Extension: sodium ---- # Custom: configure command
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \ && docker-php-ext-configure soap --with-libxml-dir=/usr \
&& (rm -rf /usr/local/lib/php/test/sodium || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
&& (rm -rf /usr/local/lib/php/doc/sodium || true) \ && true
\
# ---- Installing PHP Extension: sysvmsg ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \ # -------------------- Installing PHP Extension: sockets --------------------
&& (rm -rf /usr/local/lib/php/test/sysvmsg || true) \ RUN set -eux \
&& (rm -rf /usr/local/lib/php/doc/sysvmsg || true) \ # Installation: Generic
\ # Type: Built-in extension
# ---- Installing PHP Extension: sysvsem ---- && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \ && true
&& (rm -rf /usr/local/lib/php/test/sysvsem || true) \
&& (rm -rf /usr/local/lib/php/doc/sysvsem || true) \
\ # -------------------- Installing PHP Extension: sodium --------------------
# ---- Installing PHP Extension: sysvshm ---- RUN set -eux \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/test/sysvshm || true) \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/doc/sysvshm || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
\ && true
# ---- Installing PHP Extension: tidy ----
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& (rm -rf /usr/local/lib/php/test/tidy || true) \ # -------------------- Installing PHP Extension: sysvmsg --------------------
&& (rm -rf /usr/local/lib/php/doc/tidy || true) \ RUN set -eux \
\ # Installation: Generic
# ---- Installing PHP Extension: uploadprogress ---- # 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: Version specific
# Type: Built-in extension
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& true
# -------------------- Installing PHP Extension: uploadprogress --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
&& cd /tmp/uploadprogress \ && cd /tmp/uploadprogress \
# Custom: Install command
&& true \ && true \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0 # FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' || true \ && rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' || true \
@@ -357,50 +469,136 @@ RUN set -x \
&& make \ && make \
&& make install \ && make install \
\ \
# Enabling
&& docker-php-ext-enable uploadprogress \ && docker-php-ext-enable uploadprogress \
&& (rm -rf /usr/local/lib/php/test/uploadprogress || true) \ && true
&& (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \
\
# ---- Installing PHP Extension: xmlrpc ---- # -------------------- Installing PHP Extension: xmlrpc --------------------
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \ RUN set -eux \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \ # Installation: Generic
&& (rm -rf /usr/local/lib/php/test/xmlrpc || true) \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/doc/xmlrpc || true) \ # Custom: configure command
\ && docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
# ---- Installing PHP Extension: xsl ---- && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \ && true
&& (rm -rf /usr/local/lib/php/test/xsl || true) \
&& (rm -rf /usr/local/lib/php/doc/xsl || true) \
\ # -------------------- Installing PHP Extension: xsl --------------------
# ---- Installing PHP Extension: zip ---- RUN set -eux \
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \ # Installation: Generic
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \ # Type: Built-in extension
&& (rm -rf /usr/local/lib/php/test/zip || true) \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
&& (rm -rf /usr/local/lib/php/doc/zip || true) \ && true
\
&& 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; \ # -------------------- Installing PHP Extension: zip --------------------
fi \ RUN set -eux \
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \ # Installation: Generic
&& rm -rf /tmp/* \ # Type: Built-in extension
\ # Custom: configure command
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \ && docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \ && true
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates \
\
# 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/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/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) \ && (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
&& (find "$(php -r 'echo ini_get("extension_dir");')" -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.0-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.0-mods"
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-mods"
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-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/lib/oracle/ /usr/lib/oracle/
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libaio1 \
libaspell15 \
libfbclient2 \
libffi6 \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
libmemcachedutil2 \
libpng16-16 \
libpq5 \
libsybdb5 \
libtidy5 \
libvpx4 \
libwebp6 \
libxpm4 \
libxslt1.1 \
libzip4 \
snmp \
ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
\
&& update-ca-certificates
###
### Post Install
###
RUN set -eux \
# ---------- 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 ### Verify
### ###
RUN set -x \ RUN set -eux \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.0' \ && php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^8.0' \
&& /usr/local/sbin/php-fpm --test \ && /usr/local/sbin/php-fpm --test \
@@ -501,8 +699,6 @@ RUN set -x \
&& php -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^pspell$' \
&& php-fpm -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \
&& php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^readline$' \
&& php -m | grep -oiE '^recode$' \
&& php-fpm -m | grep -oiE '^recode$' \
&& php -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^reflection$' \ && php -m | grep -oiE '^reflection$' \

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.2-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.2-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.3 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.3-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.3-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.4-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.4-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.5 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.5-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.5-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.6 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.6-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.6-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.0 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.0-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.0-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.1 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.1-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.1-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.2-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.2-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.3 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.3-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.3-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.4-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.4-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 8.0 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="8.0-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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.0-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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 ### Verify
### ###
@@ -77,7 +84,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.2-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.2-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.2-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-work"
### ###
@@ -451,7 +459,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.3 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.3-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.3-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.3-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-work"
### ###
@@ -500,7 +508,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.4-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.4-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.4-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-work"
### ###
@@ -533,7 +541,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.5 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.5-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.5-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.5-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.5-work"
### ###
@@ -549,7 +557,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 5.6 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="5.6-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="5.6-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 5.6-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 5.6-work"
### ###
@@ -562,7 +570,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.0 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.0-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.0-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.0-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.0-work"
### ###
@@ -562,7 +570,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.1 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.1-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.1-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.1-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.1-work"
### ###
@@ -562,7 +570,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.2 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.2-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.2-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-work"
### ###
@@ -562,7 +570,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.3 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.3-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.3-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-work"
### ###
@@ -550,7 +558,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 7.4 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="7.4-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="7.4-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 7.4-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 7.4-work"
### ###
@@ -545,7 +553,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM 8.0 Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="8.0-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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.0-work"
LABEL "org.opencontainers.image.title"="PHP-FPM 8.0-work"
LABEL "org.opencontainers.image.description"="PHP-FPM 8.0-work"
### ###
@@ -465,7 +473,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

128
Makefile
View File

@@ -7,38 +7,65 @@ endif
# Docker configuration # Docker configuration
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
DIR = Dockerfiles/ DIR = Dockerfiles
IMAGE = devilbox/php-fpm IMAGE = devilbox/php-fpm
NO_CACHE = NO_CACHE =
PHP_EXT_DIR =
# Run checks after each module has been installed (slow, but yields errors faster)
FAIL_FAST = False
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# DEFAULT TARGET # DEFAULT TARGET
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
help: help:
@echo "################################################################################"
@echo "# devilbox/php:XX-XX Makefile"
@echo "################################################################################"
@echo @echo
@echo "gen-readme [VERSION=] Update README.md with PHP modules from built images." @echo " _ _ _ _ __ _ ___ "
@echo "gen-dockerfiles Generate Dockerfiles from templates." @echo " _| |___ _ _<_| | |_ _____ / ___| |_ ___ ___| | ___._ _ _ "
@echo " / . / ._| | | | | . / . \ \// | . | . | . |___| || . | ' ' |"
@echo " \___\___|__/|_|_|___\___/\_/_/| _|_|_| _/ |_|| _|_|_|_|"
@echo " |_| |_| |_| "
@echo @echo
@echo "build-base VERSION= Build base image by specified version".
@echo "build-mods VERSION= Build mods image by specified version".
@echo "build-prod VERSION= Build prod image by specified version".
@echo "build-work VERSION= Build work image by specified version".
@echo @echo
@echo "rebuild-base VERSION= Rebuild base image by specified version". @echo "Targets"
@echo "rebuild-mods VERSION= Rebuild mods image by specified version". @echo "--------------------------------------------------------------------------------"
@echo "rebuild-prod VERSION= Rebuild prod image by specified version".
@echo "rebuild-work VERSION= Rebuild work image by specified version".
@echo @echo
@echo "test-base VERSION= Test base image by specified version". @echo "gen-readme [VERSION=] Update README with PHP modules from built images."
@echo "test-mods VERSION= Test mods image by specified version". @echo "gen-dockerfiles [FAIL_FAST=] Generate Dockerfiles from templates."
@echo "test-prod VERSION= Test prod image by specified version". @echo
@echo "test-work VERSION= Test work image by specified version". @echo "build-base VERSION= [ARGS=] Build base image by specified version"
@echo "build-mods VERSION= [ARGS=] Build mods image by specified version"
@echo "build-prod VERSION= [ARGS=] Build prod image by specified version"
@echo "build-work VERSION= [ARGS=] Build work image by specified version"
@echo
@echo "rebuild-base VERSION= [ARGS=] Rebuild base image by specified version"
@echo "rebuild-mods VERSION= [ARGS=] Rebuild mods image by specified version"
@echo "rebuild-prod VERSION= [ARGS=] Rebuild prod image by specified version"
@echo "rebuild-work VERSION= [ARGS=] Rebuild work image by specified version"
@echo
@echo "test-base VERSION= Test base image by specified version"
@echo "test-mods VERSION= Test mods image by specified version"
@echo "test-prod VERSION= Test prod image by specified version"
@echo "test-work VERSION= Test work image by specified version"
@echo
@echo
@echo "Variables"
@echo "--------------------------------------------------------------------------------"
@echo
@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'."
@echo " For gen-readme target it is optional and if not"
@echo " specified, it will generate for all versions."
@echo
@echo "FAIL_FAST Either 'True' or 'False' (defaults to 'False')."
@echo " If set to 'True', each module install has an"
@echo " immediate check, which is very slow for CI, but"
@echo " yields errors immediately."
@echo " If set to 'False', checks are done at the end."
@echo
@echo "ARGS Can be added to all build-* and rebuild-* targets"
@echo " to supply additional docker build options."
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# GENERATE TARGETS # GENERATE TARGETS
@@ -63,7 +90,10 @@ gen-dockerfiles:
-e MY_GID=$$(id -g) \ -e MY_GID=$$(id -g) \
-v ${PWD}:/data \ -v ${PWD}:/data \
-w /data/build/ansible \ -w /data/build/ansible \
cytopia/ansible:2.8 ansible-playbook generate.yml --diff cytopia/ansible:2.8 ansible-playbook generate.yml \
-e ansible_python_interpreter=/usr/bin/python3 \
-e '{build_fail_fast: $(FAIL_FAST)}' \
--diff $(ARGS)
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
@@ -72,36 +102,80 @@ gen-dockerfiles:
build-base: _check-version build-base: _check-version
build-base: build-base:
docker build $(NO_CACHE) -t $(IMAGE):${VERSION}-base -f $(DIR)/base/Dockerfile-${VERSION} $(DIR)/base docker build $(NO_CACHE) \
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD))" \
$(ARGS) \
-t $(IMAGE):${VERSION}-base \
-f $(DIR)/base/Dockerfile-${VERSION} $(DIR)/base
build-mods: _check-version build-mods: _check-version
build-mods: _EXIST_IMAGE=base build-mods: _EXIST_IMAGE=base
build-mods: _check-image-exists build-mods: _check-image-exists
build-mods: build-mods:
docker build $(NO_CACHE) -t $(IMAGE):${VERSION}-mods -f $(DIR)/mods/Dockerfile-${VERSION} $(DIR)/mods ifeq ($(strip $(TARGET)),)
docker build $(NO_CACHE) \
--target builder \
-t $(IMAGE):$(VERSION)-mods \
-f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods;
@# $(NO_CACHE) is removed, as it would otherwise rebuild the 'builder' image again.
docker build \
--target final \
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
--build-arg EXT_DIR="$$( docker run --rm --entrypoint=php $(IMAGE):$(VERSION)-mods -i \
| grep ^extension_dir \
| awk -F '=>' '{print $$2}' \
| xargs \
)" \
$(ARGS) \
-t $(IMAGE):$(VERSION)-mods \
-f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods;
else
docker build $(NO_CACHE) \
--target $(TARGET) \
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
$(ARGS) \
-t $(IMAGE):$(VERSION)-mods \
-f $(DIR)/mods/Dockerfile-$(VERSION) $(DIR)/mods
endif
build-prod: _check-version build-prod: _check-version
build-prod: _EXIST_IMAGE=mods build-prod: _EXIST_IMAGE=mods
build-prod: _check-image-exists build-prod: _check-image-exists
build-prod: build-prod:
docker build $(NO_CACHE) -t $(IMAGE):${VERSION}-prod -f $(DIR)/prod/Dockerfile-${VERSION} $(DIR)/prod docker build $(NO_CACHE) \
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
$(ARGS) \
-t $(IMAGE):${VERSION}-prod \
-f $(DIR)/prod/Dockerfile-${VERSION} $(DIR)/prod
build-work: _check-version build-work: _check-version
build-work: _EXIST_IMAGE=prod build-work: _EXIST_IMAGE=prod
build-work: _check-image-exists build-work: _check-image-exists
build-work: build-work:
docker build $(NO_CACHE) -t $(IMAGE):${VERSION}-work -f $(DIR)/work/Dockerfile-${VERSION} $(DIR)/work docker build $(NO_CACHE) \
--label "org.opencontainers.image.created"="$$(date --rfc-3339=s)" \
--label "org.opencontainers.image.version"="$$(git rev-parse --abbrev-ref HEAD)" \
--label "org.opencontainers.image.revision"="$$(git rev-parse HEAD)" \
$(ARGS) \
-t $(IMAGE):${VERSION}-work \
-f $(DIR)/work/Dockerfile-${VERSION} $(DIR)/work
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# REBUILD TARGETS # REBUILD TARGETS
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
rebuild-base: _check-version
rebuild-base: _pull-root-image
rebuild-base: NO_CACHE=--no-cache rebuild-base: NO_CACHE=--no-cache
rebuild-base: build-base rebuild-base: build-base
@@ -201,7 +275,7 @@ endif
_check-image-exists: _check-image-exists:
@if [ "$$(docker images -q $(IMAGE):$(VERSION)-$(_EXIST_IMAGE))" = "" ]; then \ @if [ "$$(docker images -q $(IMAGE):$(VERSION)-$(_EXIST_IMAGE))" = "" ]; then \
>&2 echo "Docker image '$(IMAGE):$(VERSION)-$(_EXIST_IMAGE)' is was not found locally."; \ >&2 echo "Docker image '$(IMAGE):$(VERSION)-$(_EXIST_IMAGE)' was not found locally."; \
>&2 echo "Either build it first or explicitly pull it from Dockerhub."; \ >&2 echo "Either build it first or explicitly pull it from Dockerhub."; \
>&2 echo "This is a safeguard to not automatically pull the Docker image."; \ >&2 echo "This is a safeguard to not automatically pull the Docker image."; \
>&2 echo; \ >&2 echo; \

View File

@@ -1,4 +1,4 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead. {{ edit_comment_base }}
{% if php_version == 5.2 %} {% if php_version == 5.2 %}
FROM devilbox/php-fpm-5.2 FROM devilbox/php-fpm-5.2
{% elif php_version == 5.3 %} {% elif php_version == 5.3 %}
@@ -16,12 +16,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM {{ php_version }} Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="{{ php_version }}-base" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="{{ php_version }}-base"
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-base"
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-base"
### ###

View File

@@ -1,24 +1,12 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead. {{ edit_comment_mods }}
FROM devilbox/php-fpm:{{ php_version }}-base FROM devilbox/php-fpm:{{ php_version }}-base as builder
MAINTAINER "cytopia" <cytopia@everythingcli.org>
### {#
### Labels ###################################################################################################
### Loop over enabled build dependencies and gather build dependencies
LABEL \ ###################################################################################################
name="cytopia's PHP-FPM {{ php_version }} Image" \ #}
image="devilbox/php-fpm" \
tag="{{ php_version }}-mods" \
vendor="devilbox" \
license="MIT"
###
### Envs
###
ENV BUILD_DEPS \
{# Loop over enabled build dependencies -#}
{%- set build_deps = [] -%} {%- set build_deps = [] -%}
{%- for ext in extensions_enabled -%} {%- for ext in extensions_enabled -%}
{#- Not disabled AND not already available by default -#} {#- Not disabled AND not already available by default -#}
@@ -39,13 +27,312 @@ ENV BUILD_DEPS \
{%- endif -%} {%- endif -%}
{%- endif -%} {%- endif -%}
{%- endfor -%} {%- endfor -%}
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
{% for build_dep in build_deps | unique | sort %} {% for build_dep in build_deps | unique | sort %}
{{ build_dep }} \ {{ build_dep }} \
{% endfor %} {% endfor %}
ca-certificates \ ca-certificates \
git git
ENV RUN_DEPS \
# 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
{# Loop over enabled extensions #}
{% for ext in extensions_enabled %}
{#-
###############################################################################################
# Not disabled AND not already enabled
###############################################################################################
-#}
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
# -------------------- Installing PHP Extension: {{ ext }} --------------------
RUN set -eux \
{#-
# --------------------------------------------------------------------------------
# PRE COMMAND
# --------------------------------------------------------------------------------
-#}
{#- Version specific pre-command available? -#}
{%- if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Version specific pre-command
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['pre'] }} \
{#- Generic pre-command available? -#}
{%- elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
{{- "\n\t" }}# Generic pre-command
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['pre'] }} \
{%- endif -%}
{#-
# --------------------------------------------------------------------------------
# INSTALLATION (VERSION SPECIFIC)
# --------------------------------------------------------------------------------
#}
{%- if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Installation: Version specific
{#-
# -------------------- 1.) Builtin --------------------
-#}
{%- if extensions_available[ext][php_version]['type'] == 'builtin' -%}
{{- "\n\t" }}# Type: Built-in extension
{%- if 'configure' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Custom: configure command
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
{%- endif -%}
{{- "\n\t" }}# Installation
{{- "\n\t" }}&& docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{#-
# -------------------- 2.) PECL --------------------
-#}
{%- elif extensions_available[ext][php_version]['type'] == 'pecl' -%}
{{- "\n\t" }}# Type: PECL extension
{%- if 'command' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Custom: Pecl command
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
{%- else -%}
{{- "\n\t" }}# Default: Pecl command
{{- "\n\t" }}&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
{%- endif -%}
{{- "\n\t" }}# Enabling
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
{#-
# -------------------- 3.) GIT --------------------
-#}
{%- elif extensions_available[ext][php_version]['type'] == 'git' -%}
{{- "\n\t" }}# Type: GIT extension
{{- "\n\t" }}&& git clone {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
{{- "\n\t" }}&& cd /tmp/{{ ext }} \
{%- if 'git_ref' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Custom: Branch
{{- "\n\t" }}&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
{%- endif -%}
{%- if 'command' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Custom: Install command
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
{%- else -%}
{{- "\n\t" }}# Default: Install command
{{- "\n\t" }}&& phpize \
{{- "\n\t" }}&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
{{- "\n\t" }}&& make -j$(getconf _NPROCESSORS_ONLN) \
{{- "\n\t" }}&& make install \
{%- endif -%}
{{- "\n\t" }}# Enabling
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
{#-
# -------------------- 4.) CUSTOM --------------------
-#}
{%- elif extensions_available[ext][php_version]['type'] == 'custom' -%}
{{- "\n\t" }}# Type: Custom extension
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
{%- endif -%}
{#-
# --------------------------------------------------------------------------------
# INSTALLATION (GENERIC)
# --------------------------------------------------------------------------------
#}
{%- elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] -%}
{{- "\n\t" }}# Installation: Generic
{#-
# -------------------- 1.) Builtin --------------------
-#}
{%- if extensions_available[ext]['all']['type'] == 'builtin' -%}
{{- "\n\t" }}# Type: Built-in extension
{%- if 'configure' in extensions_available[ext]['all'] -%}
{{- "\n\t" }}# Custom: configure command
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
{%- endif -%}
{{- "\n\t" }}&& docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{#-
# -------------------- 2.) PECL --------------------
-#}
{%- elif extensions_available[ext]['all']['type'] == 'pecl' -%}
{{- "\n\t" }}# Type: PECL extension
{%- if 'command' in extensions_available[ext]['all'] -%}
{{- "\n\t" }}# Custom: Pecl command
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
{%- else -%}
{{- "\n\t" }}# Default: Pecl command
{{- "\n\t" }}&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
{%- endif -%}
{{- "\n\t" }}# Enabling
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
{#-
# -------------------- 2.) GIT --------------------
-#}
{%- elif extensions_available[ext]['all']['type'] == 'git' -%}
{{- "\n\t" }}# Type: GIT extension
{{- "\n\t" }}&& git clone {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
{{- "\n\t" }}&& cd /tmp/{{ ext }} \
{%- if 'git_ref' in extensions_available[ext]['all'] -%}
{{- "\n\t" }}# Custom: Branch
{{- "\n\t" }}&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
{%- endif -%}
{%- if 'command' in extensions_available[ext]['all'] -%}
{{- "\n\t" }}# Custom: Install command
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
{%- else -%}
{{- "\n\t" }}# Default: Install command
{{- "\n\t" }}&& phpize \
{{- "\n\t" }}&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
{{- "\n\t" }}&& make -j$(getconf _NPROCESSORS_ONLN) \
{{- "\n\t" }}&& make install \
{%- endif -%}
{{- "\n\t" }}# Enabling
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
{#-
# -------------------- 4.) CUSTOM --------------------
-#}
{%- elif extensions_available[ext]['all']['type'] == 'custom' -%}
{{- "\n\t" }}# Type: Custom extension
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
{%- endif -%}
{%- endif -%}
{#-
# --------------------------------------------------------------------------------
# POST COMMAND
# --------------------------------------------------------------------------------
-#}
{#- Version specific post-command available? -#}
{%- if php_version in extensions_available[ext] and 'post' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Version specific post-command
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['post'] }} \
{#- Generic post-command available? -#}
{%- elif 'all' in extensions_available[ext] and 'post' in extensions_available[ext]['all'] %}
{{- "\n\t" }}# Generic post-command
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['post'] }} \
{%- endif -%}
{#- End of: Not disabled AND not already enabled -#}
{%- endif -%}
{#-
###############################################################################################
# Ensure modules that are not disabled have an appropriate ini directive and are loaded
###############################################################################################
-#}
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) -%}
{%- if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] -%}
{{- "\n\t" }}# Activate: Version specific extension
{{- "\n\t" }}&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then \
{{- "\n\t" }} echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; \
{{- "\n\t" }}fi \
{%- elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] -%}
{{- "\n\t" }}# Activate: Generic extension
{{- "\n\t" }}&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then \
{{- "\n\t" }} echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; \
{{- "\n\t" }}fi \
{%- endif -%}
{%- endif %}
{#-
###############################################################################################
# Test extensions
###############################################################################################
-#}
{#- Not disabled #}
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
{%- if build_fail_fast -%}
{{- "\n\t" }}# ---- Test extension ----
{{- "\n\t" }}&& /usr/local/sbin/php-fpm --test \
{{- "\n\t" }}\
{{- "\n\t" }}&& (php -v 2>&1 1>/dev/null || true) \
{{- "\n\t" }}&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
{{- "\n\t" }}&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
{{- "\n\t" }}&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
{{- "\n\t" }}&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
{{- "\n\t" }}\
{{- "\n\t" }}&& (php-fpm -v 2>&1 1>/dev/null || true) \
{{- "\n\t" }}&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
{{- "\n\t" }}&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
{{- "\n\t" }}&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
{{- "\n\t" }}&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
{{- "\n\t" }}\
{%- if ext == 'opcache' -%}
{{- "\n\t" }}&& php -m | grep -oiE '^Zend Opcache$' \
{{- "\n\t" }}&& php-fpm -m | grep -oiE '^Zend Opcache$'
{%- elif ext == 'readline' -%}
{{- "\n\t" }}&& php -m | grep -oiE '^readline$'
{%- elif ext not in ['blackfire', 'ioncube'] -%}
{{- "\n\t" }}&& php -m | grep -oiE '^{{ ext }}$' \
{{- "\n\t" }}&& php-fpm -m | grep -oiE '^{{ ext }}$'
{%- else %}
{{- "\n\t" }}&& true
{%- endif %}
{{- "\n\n\n" }}
{%- else -%}
{{- "\n\t" }}&& true{{ "\n\n\n" }}
{%- endif %}
{%- endif %}
{%- endfor %}
# 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)
{{ edit_comment_mods }}
FROM devilbox/php-fpm:{{ php_version }}-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"="{{ php_version }}-mods"
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-mods"
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-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/lib/oracle/ /usr/lib/oracle/
###
### Install
###
RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
{# Loop over enabled run-time dependencies -#} {# Loop over enabled run-time dependencies -#}
{%- set run_deps = [] -%} {%- set run_deps = [] -%}
{%- for ext in extensions_enabled -%} {%- for ext in extensions_enabled -%}
@@ -69,145 +356,44 @@ ENV RUN_DEPS \
{% for run_dep in run_deps | unique | sort %} {% for run_dep in run_deps | unique | sort %}
{{ run_dep }} \ {{ run_dep }} \
{% endfor %} {% endfor %}
ca-certificates ca-certificates \
###
### Install
###
RUN set -x \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
${BUILD_DEPS} \
\
\
{# Loop over enabled extensions #}
{% for ext in extensions_enabled %}
{# Not disabled AND not already enabled #}
{% if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
# ---- Installing PHP Extension: {{ ext }} ----
{# ---------- Pre Command ---------- #}
{# Version specific pre-command available? #}
{% if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] %}
&& {{ extensions_available[ext][php_version]['pre'] }} \
{# Generic pre-command available? #}
{% elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
&& {{ extensions_available[ext]['all']['pre'] }} \
{% endif %}
{# ---------- Installation (specific) ---------- #}
{% if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] %}
{# ---- 1.) Builtin ---- #}
{% if extensions_available[ext][php_version]['type'] == 'builtin' %}
{% if 'configure' in extensions_available[ext][php_version] %}
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
{% endif %}
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{# ---- 2.) PECL ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'pecl' %}
{% if 'command' in extensions_available[ext][php_version] %}
&& {{ extensions_available[ext][php_version]['command'] }} \
{% else %}
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
{% endif %}
&& docker-php-ext-enable {{ ext }} \
{# ---- 3.) GIT ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'git' %}
&& git clone {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
&& cd /tmp/{{ ext }} \
{% if 'git_ref' in extensions_available[ext][php_version] %}
&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
{% endif %}
{% if 'command' in extensions_available[ext][php_version] %}
&& {{ extensions_available[ext][php_version]['command'] }} \
{% else %}
&& phpize \
&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
{% endif %}
&& docker-php-ext-enable {{ ext }} \
{# ---- 4.) CUSTOM ---- #}
{% elif extensions_available[ext][php_version]['type'] == 'custom' %}
&& {{ extensions_available[ext][php_version]['command'] }} \
{% endif %}
{# ---------- Installation (generic) ---------- #}
{% elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] %}
{# ---- 1.) Builtin ---- #}
{% if extensions_available[ext]['all']['type'] == 'builtin' %}
{% if 'configure' in extensions_available[ext]['all'] %}
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
{% endif %}
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{# ---- 2.) PECL ---- #}
{% elif extensions_available[ext]['all']['type'] == 'pecl' %}
{% if 'command' in extensions_available[ext]['all'] %}
&& {{ extensions_available[ext]['all']['command'] }} \
{% else %}
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
{% endif %}
&& docker-php-ext-enable {{ ext }} \
{# ---- 3.) GIT ---- #}
{% elif extensions_available[ext]['all']['type'] == 'git' %}
&& git clone {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
&& cd /tmp/{{ ext }} \
{% if 'git_ref' in extensions_available[ext]['all'] %}
&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
{% endif %}
{% if 'command' in extensions_available[ext]['all'] %}
&& {{ extensions_available[ext]['all']['command'] }} \
{% else %}
&& phpize \
&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
{% endif %}
&& docker-php-ext-enable {{ ext }} \
{# ---- 4.) CUSTOM ---- #}
{% elif extensions_available[ext]['all']['type'] == 'custom' %}
&& {{ extensions_available[ext]['all']['command'] }} \
{% endif %}
{% endif %}
{# Only delete files for extensions we've actually installed, not those that were already available by default #}
&& (rm -rf /usr/local/lib/php/test/{{ ext }} || true) \
&& (rm -rf /usr/local/lib/php/doc/{{ ext }} || true) \
\
{% endif %}
{# Ensure modules that are not disabled have an appropriate ini directive and are loaded #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{% if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] %}
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
{% elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] %}
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
{% endif %}
{% endif %}
{% endfor %}
{# Fix php.ini settings for enabled extensions #}
&& 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 \
{# /Fix php.ini settings for enabled extensions #}
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
&& rm -rf /tmp/* \
\
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
&& rm -rf /var/lib/apt/lists/* \ && rm -rf /var/lib/apt/lists/* \
\ \
&& update-ca-certificates \ && update-ca-certificates
\
&& (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) \ ### Post Install
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) ###
{# Loop over enabled extensions #}
{%- set post_commands = {} -%}
{% for ext in extensions_enabled %}
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
{#- Version specific post-command available? -#}
{%- if php_version in extensions_available[ext] and 'post' in extensions_available[ext][php_version] -%}
{{- post_commands.update({ext: extensions_available[ext][php_version]['post']}) -}}
{#- Generic post-command available? -#}
{%- elif 'all' in extensions_available[ext] and 'post' in extensions_available[ext]['all'] %}
{{- post_commands.update({ext: extensions_available[ext]['all']['post']}) -}}
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{% if post_commands | length > 0 -%}
RUN set -eux \
{%- for ext in post_commands -%}
{{- "\n\t" }}# ---------- {{ ext }} ----------
{{- "\n\t" }}&& {{ post_commands[ext] }} \
{%- endfor -%}
{{- "\n\t" }}&& true{{- "\n\n\n" }}
{%- endif -%}
{% if debug %} {% if debug %}
### ###
### Verify ### Verify
### ###
RUN set -x \ RUN set -eux \
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \ && php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
&& /usr/local/sbin/php-fpm --test \ && /usr/local/sbin/php-fpm --test \

View File

@@ -1,4 +1,4 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead. {{ edit_comment_prod }}
FROM devilbox/php-fpm:{{ php_version }}-mods FROM devilbox/php-fpm:{{ php_version }}-mods
MAINTAINER "cytopia" <cytopia@everythingcli.org> MAINTAINER "cytopia" <cytopia@everythingcli.org>
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM {{ php_version }} Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="{{ php_version }}-prod" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="{{ php_version }}-prod"
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-prod"
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-prod"
### ###
@@ -40,7 +48,6 @@ RUN set -x \
&& (find /usr/local/sbin -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)
{% if debug %} {% if debug %}
### ###
### Verify ### Verify
@@ -79,7 +86,6 @@ VOLUME /var/log/php
VOLUME /var/mail VOLUME /var/mail
### ###
### Ports ### Ports
### ###

View File

@@ -1,4 +1,4 @@
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead. {{ edit_comment_work }}
FROM devilbox/php-fpm:{{ php_version }}-prod FROM devilbox/php-fpm:{{ php_version }}-prod
MAINTAINER "cytopia" <cytopia@everythingcli.org> MAINTAINER "cytopia" <cytopia@everythingcli.org>
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
### ###
### Labels ### Labels
### ###
LABEL \ # https://github.com/opencontainers/image-spec/blob/master/annotations.md
name="cytopia's PHP-FPM {{ php_version }} Image" \ #LABEL "org.opencontainers.image.created"=""
image="devilbox/php-fpm" \ #LABEL "org.opencontainers.image.version"=""
tag="{{ php_version }}-work" \ #LABEL "org.opencontainers.image.revision"=""
vendor="devilbox" \ LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
license="MIT" 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"="{{ php_version }}-work"
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-work"
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-work"
### ###
@@ -415,7 +423,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
### ###
### Volumes ### Volumes
### ###

View File

@@ -1,14 +1,22 @@
--- ---
################################################################################################### ###################################################################################################
# Ansible specifi definitions # Ansible specific definitions
################################################################################################### ###################################################################################################
edit_comment_base: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead."
edit_comment_mods: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead."
edit_comment_prod: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead."
edit_comment_work: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead."
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# Adds version checks to Dockerfile # Adds version checks to Dockerfile
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
debug: True debug: True
# Also implement checks in builder images (slow, but fails faster)
build_fail_fast: True
# ------------------------------------------------------------------------------------------------- # -------------------------------------------------------------------------------------------------
# Available PHP versions (see inventory) # Available PHP versions (see inventory)

View File

@@ -118,6 +118,7 @@ extensions_enabled:
# #
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4: # all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
# pre: [optional] Run command before anything else # pre: [optional] Run command before anything else
# post: [optional] Run command after anything else (builder and final image)
# build_dep: [optional] Array of build dependencies # build_dep: [optional] Array of build dependencies
# run_dep: [optional] Array of run-time dependencies # run_dep: [optional] Array of run-time dependencies
# type: [required] One of 'builtin', 'pecl' or 'git' # type: [required] One of 'builtin', 'pecl' or 'git'
@@ -278,9 +279,11 @@ extensions_available:
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/
configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
7.0: 7.0:
type: builtin type: builtin
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
7.1: 7.1:
type: builtin type: builtin
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
@@ -293,15 +296,17 @@ extensions_available:
7.4: 7.4:
type: builtin type: builtin
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
8.0: 8.0:
type: builtin type: builtin
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
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/
configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev] build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx5, libfreetype6, libwebp6]
gettext: gettext:
all: all:
type: builtin type: builtin
@@ -346,10 +351,16 @@ extensions_available:
5.5: 5.5:
type: pecl type: pecl
run_dep: [libmagickwand-6.q16-2] run_dep: [libmagickwand-6.q16-2]
5.6:
type: pecl
run_dep: [libmagickwand-6.q16-3]
7.0:
type: pecl
run_dep: [libmagickwand-6.q16-3]
all: all:
type: pecl type: pecl
build_dep: [libmagickwand-dev] build_dep: [libmagickwand-dev]
run_dep: [libmagickwand-6.q16-3] run_dep: [libmagickwand-6.q16-6]
imap: imap:
disabled: [7.4, 8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found. disabled: [7.4, 8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found.
all: all:
@@ -377,10 +388,22 @@ extensions_available:
5.5: 5.5:
type: builtin type: builtin
run_dep: [libicu52] run_dep: [libicu52]
5.6:
type: builtin
run_dep: [libicu57]
7.0:
type: builtin
run_dep: [libicu57]
7.4:
type: builtin
run_dep: [libicu57]
8.0:
type: builtin
run_dep: [libicu57]
all: all:
type: builtin type: builtin
build_dep: [libicu-dev] build_dep: [libicu-dev]
run_dep: [libicu57] run_dep: [libicu63]
ioncube: ioncube:
disabled: [7.3, 7.4, 8.0] disabled: [7.3, 7.4, 8.0]
all: all:
@@ -495,11 +518,15 @@ extensions_available:
5.4: 5.4:
type: pecl type: pecl
version: 1.2.11 version: 1.2.11
5.5:
type: pecl
version: 1.5.5
8.0: 8.0:
type: git type: git
git_url: https://github.com/mongodb/mongo-php-driver git_url: https://github.com/mongodb/mongo-php-driver
command: | command: |
git submodule update --init \ git checkout v1.6 \
&& git submodule update --init \
# FIXME: This is a work-around to mitigate compile error with PHP 8.0 # FIXME: This is a work-around to mitigate compile error with PHP 8.0
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \ && rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \ && rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
@@ -511,6 +538,18 @@ extensions_available:
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \ && sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \ && sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \ && sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \
\
&& sed -i'' 's/php_phongo_handler_binary.compare_objects.*//g' src/BSON/Binary.c \
&& sed -i'' 's/php_phongo_handler_dbpointer.compare_objects.*//g' src/BSON/DBPointer.c \
&& sed -i'' 's/php_phongo_handler_int64.compare_objects.*//g' src/BSON/Int64.c \
&& sed -i'' 's/php_phongo_handler_javascript.compare_objects.*//g' src/BSON/Javascript.c \
&& sed -i'' 's/php_phongo_handler_objectid.compare_objects.*//g' src/BSON/ObjectId.c \
&& sed -i'' 's/php_phongo_handler_symbol.compare_objects.*//g' src/BSON/Symbol.c \
&& sed -i'' 's/php_phongo_handler_timestamp.compare_objects.*//g' src/BSON/Timestamp.c \
&& sed -i'' 's/php_phongo_handler_regex.compare_objects.*//g' src/BSON/Regex.c \
&& sed -i'' 's/php_phongo_handler_server.compare_objects.*//g' src/MongoDB/Server.c \
&& sed -i'' 's/php_phongo_handler_utcdatetime.compare_objects.*//g' src/BSON/UTCDateTime.c \
\
&& phpize \ && phpize \
&& ./configure --enable-mongodb \ && ./configure --enable-mongodb \
&& make all \ && make all \
@@ -592,9 +631,13 @@ extensions_available:
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${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}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${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) \
build_dep: [alien, libaio-dev] build_dep: [alien, libaio-dev]
run_dep: [libaio1] run_dep: [libaio1]
post: |
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) \
odbc: odbc:
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found! disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
opcache: opcache:
@@ -745,6 +788,7 @@ extensions_available:
readline: readline:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
recode: recode:
disabled: [7.4, 8.0]
already_avail: [5.3, 5.4] already_avail: [5.3, 5.4]
all: all:
type: builtin type: builtin
@@ -754,6 +798,18 @@ extensions_available:
5.2: 5.2:
type: pecl type: pecl
version: 2.2.7 version: 2.2.7
5.3:
type: pecl
version: 4.3.0
5.4:
type: pecl
version: 4.3.0
5.5:
type: pecl
version: 4.3.0
5.6:
type: pecl
version: 4.3.0
7.4: 7.4:
type: git type: git
git_url: https://github.com/phpredis/phpredis git_url: https://github.com/phpredis/phpredis
@@ -800,6 +856,15 @@ extensions_available:
5.5: 5.5:
type: pecl type: pecl
version: 3.0.5 version: 3.0.5
5.6:
type: pecl
version: 3.1.2
7.0:
type: pecl
version: 3.1.2
7.4:
type: pecl
version: 3.1.2
all: all:
type: pecl type: pecl
build_dep: [librdkafka-dev] build_dep: [librdkafka-dev]
@@ -862,6 +927,9 @@ extensions_available:
5.6: 5.6:
type: pecl type: pecl
version: 1.9.23 version: 1.9.23
7.0:
type: pecl
version: 4.2.13
7.3: 7.3:
type: git type: git
git_url: https://github.com/swoole/swoole-src git_url: https://github.com/swoole/swoole-src
@@ -876,7 +944,7 @@ extensions_available:
--enable-coroutine-postgresql \ --enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \ && make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \ && make install \
run_dep: [libnghttp2-14, libhiredis0.13] run_dep: [libnghttp2-14, libhiredis0.14]
build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake] build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake]
7.4: 7.4:
type: git type: git
@@ -920,10 +988,22 @@ extensions_available:
5.5: 5.5:
type: builtin type: builtin
run_dep: [libtidy-0.99-0] run_dep: [libtidy-0.99-0]
5.6:
type: builtin
run_dep: [libtidy5]
7.0:
type: builtin
run_dep: [libtidy5]
7.4:
type: builtin
run_dep: [libtidy5]
8.0:
type: builtin
run_dep: [libtidy5]
all: all:
type: builtin type: builtin
build_dep: [libtidy-dev] build_dep: [libtidy-dev]
run_dep: [libtidy5] run_dep: [libtidy5deb1]
tokenizer: tokenizer:
already_avail: "{{ php_all_versions }}" already_avail: "{{ php_all_versions }}"
uploadprogress: uploadprogress: