From eddc80b834445208388868068e68d5cacb838d09 Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Tue, 23 May 2017 10:51:58 +0200 Subject: [PATCH 01/42] Update Dockerfile --- 5.6-apache/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index e52cea9..748be94 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -50,6 +50,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ + docker-php-ext-install exif \ pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ From 2b60ed6be27276780cfa57921de506b14594eace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oph=C3=A9lie=20Mauger?= Date: Thu, 1 Jun 2017 16:35:26 +0200 Subject: [PATCH 02/42] Add images 7.1 with base alpine for cli and fpm --- .gitlab-ci.yml | 25 ++++++++- 7.1-cli-alpine/Dockerfile | 82 +++++++++++++++++++++++++++ 7.1-cli-alpine/docker-entrypoint.sh | 78 ++++++++++++++++++++++++++ 7.1-fpm-alpine/Dockerfile | 86 +++++++++++++++++++++++++++++ 7.1-fpm-alpine/docker-entrypoint.sh | 80 +++++++++++++++++++++++++++ 7.1-fpm/docker-entrypoint.sh | 2 +- 6 files changed, 351 insertions(+), 2 deletions(-) create mode 100644 7.1-cli-alpine/Dockerfile create mode 100755 7.1-cli-alpine/docker-entrypoint.sh create mode 100644 7.1-fpm-alpine/Dockerfile create mode 100755 7.1-fpm-alpine/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f19fbdf..eea35e4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,13 +8,36 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - NAMESPACE=$REGISTRY/library +7.1-alpine-cli: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.1-cli-alpine 7.1-cli-alpine/ > /dev/null + - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-cli-alpine + - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-cli-alpine + - docker push $REGISTRY/php:7.1-cli-alpine + + +7.1-alpine-fpm: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.1-fpm-alpine 7.1-fpm-alpine/ > /dev/null + - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-fpm-alpine + - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-fpm-alpine + - docker push $REGISTRY/php:7.1-fpm-alpine + 7.1-fpm: stage: build only: - preprod - master script: - - docker build --pull -t $REGISTRY/php:7.1-fpm 7.1-fpm/ >> /dev/null + - docker build --pull -t $REGISTRY/php:7.1-fpm 7.1-fpm/ > /dev/null - docker push $REGISTRY/php:7.1-fpm > /dev/null - docker tag $REGISTRY/php:7.1-fpm $NAMESPACE/php:7.1-fpm > /dev/null - docker push $NAMESPACE/php:7.1-fpm > /dev/null diff --git a/7.1-cli-alpine/Dockerfile b/7.1-cli-alpine/Dockerfile new file mode 100644 index 0000000..6285747 --- /dev/null +++ b/7.1-cli-alpine/Dockerfile @@ -0,0 +1,82 @@ +FROM php:7.1-alpine + +MAINTAINER Alterway + +RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories && \ + echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \ + apk add --update --no-cache \ + git \ + subversion \ + curl \ + wget \ + ssmtp \ + mysql-client \ + mariadb-dev \ + openldap-dev \ + libldap \ + libssl1.0 \ + libsasl \ + freetype-dev \ + libjpeg-turbo-dev \ + libmcrypt-dev \ + libpng-dev \ + libxml2-dev \ + zlib-dev \ + php7-sqlite3 \ + php7-pdo_sqlite \ + sqlite-dev \ + php7-gmp \ + gmp-dev \ + php7-pear \ + ncurses-dev \ + icu-dev \ + libmemcached-dev \ + libcurl && \ + wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN docker-php-ext-configure ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-configure gd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-install ldap && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install mcrypt && \ + docker-php-ext-install gd && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + docker-php-ext-install gmp + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +RUN apk add --update --no-cache tar gcc libc-dev make && \ + tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz && \ + tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz && \ + apk del --purge tar gcc libc-dev make + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.1-cli-alpine/docker-entrypoint.sh b/7.1-cli-alpine/docker-entrypoint.sh new file mode 100755 index 0000000..a4aa7fc --- /dev/null +++ b/7.1-cli-alpine/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/sh +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/7.1-fpm-alpine/Dockerfile b/7.1-fpm-alpine/Dockerfile new file mode 100644 index 0000000..0597d52 --- /dev/null +++ b/7.1-fpm-alpine/Dockerfile @@ -0,0 +1,86 @@ +FROM php:7.1-fpm-alpine + +MAINTAINER Alterway + +RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories && \ + echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \ + apk add --update --no-cache \ + git \ + subversion \ + curl \ + wget \ + ssmtp \ + mysql-client \ + mariadb-dev \ + openldap-dev \ + libldap \ + libssl1.0 \ + libsasl \ + freetype-dev \ + libjpeg-turbo-dev \ + libmcrypt-dev \ + libpng-dev \ + libxml2-dev \ + zlib-dev \ + php7-sqlite3 \ + php7-pdo_sqlite \ + sqlite-dev \ + php7-gmp \ + gmp-dev \ + php7-pear \ + ncurses-dev \ + icu-dev \ + libmemcached-dev \ + libcurl && \ + wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN docker-php-ext-configure ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-configure gd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-install ldap && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install mcrypt && \ + docker-php-ext-install gd && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + docker-php-ext-install gmp + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +RUN apk add --update --no-cache tar gcc libc-dev make && \ + tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz && \ + tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz && \ + apk del --purge tar gcc libc-dev make + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] diff --git a/7.1-fpm-alpine/docker-entrypoint.sh b/7.1-fpm-alpine/docker-entrypoint.sh new file mode 100755 index 0000000..ed41acc --- /dev/null +++ b/7.1-fpm-alpine/docker-entrypoint.sh @@ -0,0 +1,80 @@ +#!/bin/sh +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" +mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run +${*} diff --git a/7.1-fpm/docker-entrypoint.sh b/7.1-fpm/docker-entrypoint.sh index b973aae..e671952 100755 --- a/7.1-fpm/docker-entrypoint.sh +++ b/7.1-fpm/docker-entrypoint.sh @@ -77,4 +77,4 @@ fi # # Run -${*} \ No newline at end of file +${*} From 4bd6733a0c318d08257c6a0953adaff28077f9d5 Mon Sep 17 00:00:00 2001 From: "nicolas.sagot" Date: Tue, 24 Apr 2018 14:17:53 +0200 Subject: [PATCH 03/42] fix: php-pear now include in php >= 5.6 Php-pear is not available anymore via apt-get on Php >=5.6 --- 5.6-apache/Dockerfile | 1 - 5.6-cli/Dockerfile | 1 - 5.6-fpm/Dockerfile | 1 - 7.0-apache/Dockerfile | 1 - 7.0-cli/Dockerfile | 1 - 7.0-fpm/Dockerfile | 1 - 7.1-apache/Dockerfile | 1 - 7.1-cli/Dockerfile | 1 - 7.1-fpm/Dockerfile | 1 - 9 files changed, 9 deletions(-) diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index e52cea9..c5a0bab 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -17,7 +17,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index 21e1755..a258e0f 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index e31239b..07a8f6b 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -17,7 +17,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/7.0-apache/Dockerfile b/7.0-apache/Dockerfile index fd209ba..a14a311 100644 --- a/7.0-apache/Dockerfile +++ b/7.0-apache/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/7.0-cli/Dockerfile b/7.0-cli/Dockerfile index 84f1135..2cf62eb 100644 --- a/7.0-cli/Dockerfile +++ b/7.0-cli/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/7.0-fpm/Dockerfile b/7.0-fpm/Dockerfile index 2247eae..50294e8 100644 --- a/7.0-fpm/Dockerfile +++ b/7.0-fpm/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 53bc904..0772581 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index a2b4451..a96b680 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index 5bdb0d5..c5258cc 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -18,7 +18,6 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - php-pear \ curl \ ssmtp \ mysql-client \ From d1f989956071e7aa3f4435a290196edc758abded Mon Sep 17 00:00:00 2001 From: "nicolas.sagot" Date: Tue, 24 Apr 2018 15:04:39 +0200 Subject: [PATCH 04/42] fix: Xdebug latest version is not working anymore with php5.x Fix xdebug version 2.5.5 to all php5.x version --- 5.5-apache/Dockerfile | 2 +- 5.5-cli/Dockerfile | 2 +- 5.5-fpm/Dockerfile | 2 +- 5.6-apache/Dockerfile | 2 +- 5.6-cli/Dockerfile | 2 +- 5.6-fpm/Dockerfile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/5.5-apache/Dockerfile b/5.5-apache/Dockerfile index 3486aad..574755c 100644 --- a/5.5-apache/Dockerfile +++ b/5.5-apache/Dockerfile @@ -51,7 +51,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ diff --git a/5.5-cli/Dockerfile b/5.5-cli/Dockerfile index 8fcc4bb..90f63f3 100644 --- a/5.5-cli/Dockerfile +++ b/5.5-cli/Dockerfile @@ -51,7 +51,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ diff --git a/5.5-fpm/Dockerfile b/5.5-fpm/Dockerfile index 23b2f71..114ec96 100644 --- a/5.5-fpm/Dockerfile +++ b/5.5-fpm/Dockerfile @@ -51,7 +51,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index e52cea9..881effc 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -53,7 +53,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index 21e1755..ab411a0 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -55,7 +55,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index e31239b..b34023d 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -52,7 +52,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install sockets && \ pecl install mongo && \ pecl install redis && \ - pecl install xdebug && \ + pecl install xdebug-2.5.5 && \ pecl install memcached-2.2.0 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz From f1695cc9bb099fcbc2ec5dc104c12b2fa3bb0daa Mon Sep 17 00:00:00 2001 From: "nicolas.sagot" Date: Wed, 27 Jun 2018 09:27:22 +0200 Subject: [PATCH 05/42] MAINTAINER to LABEL --- 5.3-apache/Dockerfile | 2 +- 5.3-fpm/Dockerfile | 2 +- 5.4-apache/Dockerfile | 2 +- 5.4-cli/Dockerfile | 2 +- 5.4-fpm/Dockerfile | 2 +- 5.5-apache/Dockerfile | 2 +- 5.5-cli/Dockerfile | 2 +- 5.5-fpm/Dockerfile | 2 +- 5.6-apache/Dockerfile | 2 +- 5.6-cli/Dockerfile | 2 +- 5.6-fpm/Dockerfile | 2 +- 7.0-apache/Dockerfile | 2 +- 7.0-cli/Dockerfile | 2 +- 7.0-fpm/Dockerfile | 2 +- 7.1-apache/Dockerfile | 2 +- 7.1-cli/Dockerfile | 2 +- 7.1-fpm/Dockerfile | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/5.3-apache/Dockerfile b/5.3-apache/Dockerfile index 07f6fd2..84e4ef4 100644 --- a/5.3-apache/Dockerfile +++ b/5.3-apache/Dockerfile @@ -1,5 +1,5 @@ FROM debian:wheezy -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y ca-certificates curl librecode0 libsqlite3-0 libxml2 autoconf file g++ gcc libc-dev make pkg-config re2c apache2 apache2-mpm-prefork --no-install-recommends && \ diff --git a/5.3-fpm/Dockerfile b/5.3-fpm/Dockerfile index fd56af4..15b41e2 100644 --- a/5.3-fpm/Dockerfile +++ b/5.3-fpm/Dockerfile @@ -1,5 +1,5 @@ FROM debian:wheezy -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y ca-certificates curl libpcre3 librecode0 libsqlite3-0 libxml2 autoconf file g++ gcc libc-dev make pkg-config re2c --no-install-recommends && \ diff --git a/5.4-apache/Dockerfile b/5.4-apache/Dockerfile index 61ddb9d..e050e03 100644 --- a/5.4-apache/Dockerfile +++ b/5.4-apache/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.4-apache -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.4-cli/Dockerfile b/5.4-cli/Dockerfile index 2976fc9..b14959c 100644 --- a/5.4-cli/Dockerfile +++ b/5.4-cli/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.4-cli -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.4-fpm/Dockerfile b/5.4-fpm/Dockerfile index 1c24e99..899b175 100644 --- a/5.4-fpm/Dockerfile +++ b/5.4-fpm/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.4-fpm -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.5-apache/Dockerfile b/5.5-apache/Dockerfile index 3486aad..bac3578 100644 --- a/5.5-apache/Dockerfile +++ b/5.5-apache/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.5-apache -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.5-cli/Dockerfile b/5.5-cli/Dockerfile index 8fcc4bb..8e2be89 100644 --- a/5.5-cli/Dockerfile +++ b/5.5-cli/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.5-fpm -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.5-fpm/Dockerfile b/5.5-fpm/Dockerfile index 23b2f71..f1bef49 100644 --- a/5.5-fpm/Dockerfile +++ b/5.5-fpm/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.5-fpm -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index c5a0bab..4cfb192 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.6-apache -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index a258e0f..af1d51e 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.6-cli -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index 07a8f6b..4aff503 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.6-fpm -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/7.0-apache/Dockerfile b/7.0-apache/Dockerfile index a14a311..ca391bc 100644 --- a/7.0-apache/Dockerfile +++ b/7.0-apache/Dockerfile @@ -1,5 +1,5 @@ FROM php:7.0-apache -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/7.0-cli/Dockerfile b/7.0-cli/Dockerfile index 2cf62eb..b2b7d5d 100644 --- a/7.0-cli/Dockerfile +++ b/7.0-cli/Dockerfile @@ -1,5 +1,5 @@ FROM php:7.0-cli -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/7.0-fpm/Dockerfile b/7.0-fpm/Dockerfile index 50294e8..9b0b4d5 100644 --- a/7.0-fpm/Dockerfile +++ b/7.0-fpm/Dockerfile @@ -1,5 +1,5 @@ FROM php:7.0-fpm -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 0772581..9840174 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -1,5 +1,5 @@ FROM php:7.1-apache -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index a96b680..5582dd9 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -1,5 +1,5 @@ FROM php:7.1-cli -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index c5258cc..fc60a02 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -1,5 +1,5 @@ FROM php:7.1-fpm -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ From 58fcb678339b176074cbdd27b76247b088a1dd50 Mon Sep 17 00:00:00 2001 From: "nicolas.sagot" Date: Wed, 27 Jun 2018 09:45:38 +0200 Subject: [PATCH 06/42] fix: libpng12-dev to libpng-dev libpng12-dev has no installation candidate in stretch --- 5.6-apache/Dockerfile | 2 +- 5.6-cli/Dockerfile | 2 +- 5.6-fpm/Dockerfile | 2 +- 7.0-apache/Dockerfile | 2 +- 7.0-cli/Dockerfile | 2 +- 7.0-fpm/Dockerfile | 2 +- 7.1-apache/Dockerfile | 2 +- 7.1-cli/Dockerfile | 2 +- 7.1-fpm/Dockerfile | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index 4cfb192..fb84e1f 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index af1d51e..f76db78 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ libxslt-dev \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index 4aff503..8f3916b 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/7.0-apache/Dockerfile b/7.0-apache/Dockerfile index ca391bc..534ffb6 100644 --- a/7.0-apache/Dockerfile +++ b/7.0-apache/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/7.0-cli/Dockerfile b/7.0-cli/Dockerfile index b2b7d5d..c0bdb75 100644 --- a/7.0-cli/Dockerfile +++ b/7.0-cli/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/7.0-fpm/Dockerfile b/7.0-fpm/Dockerfile index 9b0b4d5..ad40232 100644 --- a/7.0-fpm/Dockerfile +++ b/7.0-fpm/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 9840174..5f39b05 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 5582dd9..1586f5a 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index fc60a02..7677a07 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ - libpng12-dev \ + libpng-dev \ libgmp-dev \ libxml2-dev \ zlib1g-dev \ From 2dc98821f54e341e4273e469d10bc86665ed4d2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane?= Date: Mon, 13 Aug 2018 18:15:43 +0200 Subject: [PATCH 07/42] Fix blackfire version --- 7.0-apache/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7.0-apache/Dockerfile b/7.0-apache/Dockerfile index fd209ba..36e93eb 100644 --- a/7.0-apache/Dockerfile +++ b/7.0-apache/Dockerfile @@ -64,7 +64,7 @@ RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ rm -Rf /tmp/zlib-1.2.11 && \ rm /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/70 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ rm /tmp/blackfire-probe.tar.gz From 599f8105a9935a05ee07f08b5a8230d406c551ef Mon Sep 17 00:00:00 2001 From: Alex Bergin Date: Thu, 13 Sep 2018 11:03:00 +0800 Subject: [PATCH 08/42] Set correct 5.5-cli image name with compatible redis, xdebug versions --- 5.5-cli/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/5.5-cli/Dockerfile b/5.5-cli/Dockerfile index 8fcc4bb..535bac4 100644 --- a/5.5-cli/Dockerfile +++ b/5.5-cli/Dockerfile @@ -1,4 +1,4 @@ -FROM php:5.5-fpm +FROM php:5.5-cli MAINTAINER Alterway RUN apt-get update && \ @@ -50,8 +50,8 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install sockets && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ - pecl install redis && \ - pecl install xdebug + pecl install redis-3.1.0 && \ + pecl install xdebug-2.5.0 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ From 99de503c6e146149b1aacd079c2bbc7ce7866ca6 Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Fri, 5 Oct 2018 16:34:06 +0200 Subject: [PATCH 09/42] fix build --- .gitlab-ci.yml | 14 +++++++++----- 5.6-apache/Dockerfile | 13 +++++++++---- 5.6-cli/Dockerfile | 9 ++++++--- 5.6-fpm/Dockerfile | 13 +++++++++---- 7.1-apache/Dockerfile | 2 +- 7.1-cli/Dockerfile | 2 +- 7.1-fpm/Dockerfile | 2 +- 7 files changed, 36 insertions(+), 19 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eea35e4..a58443f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,9 +15,11 @@ before_script: - master script: - docker build --pull -t $REGISTRY/php:7.1-cli-alpine 7.1-cli-alpine/ > /dev/null - - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-cli-alpine - - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-cli-alpine +# - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-cli-alpine +# - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-cli-alpine - docker push $REGISTRY/php:7.1-cli-alpine + - docker tag $REGISTRY/php:7.1-cli-alpine $NAMESPACE/php:7.1-cli-alpine > /dev/null + - docker push $NAMESPACE/php:7.1-cli-alpine > /dev/null 7.1-alpine-fpm: @@ -27,9 +29,11 @@ before_script: - master script: - docker build --pull -t $REGISTRY/php:7.1-fpm-alpine 7.1-fpm-alpine/ > /dev/null - - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-fpm-alpine - - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-fpm-alpine - - docker push $REGISTRY/php:7.1-fpm-alpine +# - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-fpm-alpine +# - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-fpm-alpine + - docker push $REGISTRY/php:7.1-fpm-alpine > /dev/null + - docker tag $REGISTRY/php:7.1-fpm-alpine $NAMESPACE/php:7.1-fpm-alpine > /dev/null + - docker push $NAMESPACE/php:7.1-fpm-alpine > /dev/null 7.1-fpm: stage: build diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index 54a35d6..1caf84e 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -9,6 +9,7 @@ RUN apt-get update && \ libpng-dev \ libgmp-dev \ libxml2-dev \ + libxslt-dev \ zlib1g-dev \ libncurses5-dev \ libldap2-dev \ @@ -17,6 +18,7 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ + exiftool \ curl \ ssmtp \ mysql-client \ @@ -37,7 +39,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ @@ -49,11 +51,14 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install exif \ - pecl install mongo && \ + docker-php-ext-install xsl + #&& \ + #docker-php-ext-install exif + +RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index f76db78..23ea347 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -18,6 +18,7 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ + libgmp3-dev \ curl \ ssmtp \ mysql-client \ @@ -50,11 +51,13 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl && \ - pecl install mongo && \ + docker-php-ext-install xsl && \ + docker-php-ext-install exif + +RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug + pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index 8f3916b..ccb5ce4 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -9,6 +9,7 @@ RUN apt-get update && \ libpng-dev \ libgmp-dev \ libxml2-dev \ + libxslt-dev \ zlib1g-dev \ libncurses5-dev \ libldap2-dev \ @@ -17,6 +18,7 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ + exiftool \ curl \ ssmtp \ mysql-client \ @@ -37,7 +39,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ @@ -49,10 +51,13 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - pecl install mongo && \ + docker-php-ext-install xsl && \ + docker-php-ext-install exif + +RUN pecl install mongo && \ + pecl install memcached-2.2.0 && \ pecl install redis && \ - pecl install xdebug && \ - pecl install memcached-2.2.0 + pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 5f39b05..f2e4faa 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -34,7 +34,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install pdo_mysql && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 1586f5a..94085dc 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -34,7 +34,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install pdo_mysql && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index 7677a07..5bcae8b 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -34,7 +34,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install pdo_mysql && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ From 236a43943810f7c1744e2080f5b2803afbd8305d Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Fri, 5 Oct 2018 17:45:13 +0200 Subject: [PATCH 10/42] fix preprod CI #2 --- 5.6-apache/Dockerfile | 5 ++--- 5.6-cli/Dockerfile | 8 ++++---- 5.6-fpm/Dockerfile | 6 +++--- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index 1caf84e..e493866 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -47,13 +47,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ + docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl - #&& \ - #docker-php-ext-install exif + docker-php-ext-install xsl RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index 23ea347..586ed60 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -18,7 +18,7 @@ RUN apt-get update && \ libcurl4-openssl-dev \ libssl-dev \ libsqlite3-dev \ - libgmp3-dev \ + exiftool \ curl \ ssmtp \ mysql-client \ @@ -39,7 +39,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ @@ -47,12 +47,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ + docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl && \ - docker-php-ext-install exif + docker-php-ext-install xsl RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index ccb5ce4..f08e59e 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -47,13 +47,13 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ + docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl && \ - docker-php-ext-install exif - + docker-php-ext-install xsl + RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ pecl install redis && \ From 9db17411b250f8b5b77c6c24447c6923ff24b81c Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Fri, 5 Oct 2018 22:34:57 +0200 Subject: [PATCH 11/42] fix blackfire for 7.0 & 7.1 --- 7.0-cli/Dockerfile | 2 +- 7.0-fpm/Dockerfile | 2 +- 7.1-apache/Dockerfile | 2 +- 7.1-cli-alpine/Dockerfile | 5 ++--- 7.1-cli/Dockerfile | 2 +- 7.1-fpm-alpine/Dockerfile | 5 ++--- 7.1-fpm/Dockerfile | 2 +- 7 files changed, 9 insertions(+), 11 deletions(-) diff --git a/7.0-cli/Dockerfile b/7.0-cli/Dockerfile index c0bdb75..f074ca9 100644 --- a/7.0-cli/Dockerfile +++ b/7.0-cli/Dockerfile @@ -64,7 +64,7 @@ RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ rm /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/70 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ rm /tmp/blackfire-probe.tar.gz diff --git a/7.0-fpm/Dockerfile b/7.0-fpm/Dockerfile index ad40232..8dd55d2 100644 --- a/7.0-fpm/Dockerfile +++ b/7.0-fpm/Dockerfile @@ -63,7 +63,7 @@ RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ rm -Rf /tmp/zlib-1.2.11 && \ rm /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/70 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ rm /tmp/blackfire-probe.tar.gz diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index f2e4faa..904b038 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -63,7 +63,7 @@ RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ rm -Rf /tmp/zlib-1.2.11 && \ rm /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/71 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ rm /tmp/blackfire-probe.tar.gz diff --git a/7.1-cli-alpine/Dockerfile b/7.1-cli-alpine/Dockerfile index 6285747..b9b576f 100644 --- a/7.1-cli-alpine/Dockerfile +++ b/7.1-cli-alpine/Dockerfile @@ -1,6 +1,5 @@ FROM php:7.1-alpine - -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories && \ echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \ @@ -56,7 +55,7 @@ RUN docker-php-ext-configure ldap && \ docker-php-ext-install gmp ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/71 /tmp/blackfire-probe.tar.gz RUN apk add --update --no-cache tar gcc libc-dev make && \ tar zxpf /tmp/zlib.tar.gz -C /tmp && \ cd /tmp/zlib-1.2.11 && \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 94085dc..7968ff7 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -63,7 +63,7 @@ RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ rm -Rf /tmp/zlib-1.2.11 && \ rm /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/71 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ rm /tmp/blackfire-probe.tar.gz diff --git a/7.1-fpm-alpine/Dockerfile b/7.1-fpm-alpine/Dockerfile index 0597d52..6464969 100644 --- a/7.1-fpm-alpine/Dockerfile +++ b/7.1-fpm-alpine/Dockerfile @@ -1,6 +1,5 @@ FROM php:7.1-fpm-alpine - -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories && \ echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/main" >> /etc/apk/repositories && \ @@ -56,7 +55,7 @@ RUN docker-php-ext-configure ldap && \ docker-php-ext-install gmp ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/71 /tmp/blackfire-probe.tar.gz RUN apk add --update --no-cache tar gcc libc-dev make && \ tar zxpf /tmp/zlib.tar.gz -C /tmp && \ cd /tmp/zlib-1.2.11 && \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index 5bcae8b..6de0317 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -63,7 +63,7 @@ RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ rm -Rf /tmp/zlib-1.2.11 && \ rm /tmp/zlib.tar.gz -ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/71 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ rm /tmp/blackfire-probe.tar.gz From a434c35c0a173691cf46622103c6df1007b3498a Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Sat, 6 Oct 2018 01:04:53 +0200 Subject: [PATCH 12/42] fix 5.5-cli --- 5.5-cli/Dockerfile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/5.5-cli/Dockerfile b/5.5-cli/Dockerfile index 3af669d..02ae8a8 100644 --- a/5.5-cli/Dockerfile +++ b/5.5-cli/Dockerfile @@ -50,13 +50,8 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install sockets && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ -<<<<<<< HEAD - pecl install redis && \ - pecl install xdebug-2.5.5 -======= pecl install redis-3.1.0 && \ pecl install xdebug-2.5.0 ->>>>>>> 6a73a1c4cb9e968402fff94e8bdf1708d1045520 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ From aa22f4ccbcfe5e1cb9321758bb9ddaa32b0659f4 Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Mon, 8 Oct 2018 12:33:48 +0200 Subject: [PATCH 13/42] fix 5.5-cli MAINTAINER is deprecated --- 5.5-cli/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/5.5-cli/Dockerfile b/5.5-cli/Dockerfile index 02ae8a8..861c21b 100644 --- a/5.5-cli/Dockerfile +++ b/5.5-cli/Dockerfile @@ -1,5 +1,5 @@ FROM php:5.5-cli -MAINTAINER Alterway +LABEL maintainer="Alterway " RUN apt-get update && \ apt-get install -y \ @@ -53,6 +53,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis-3.1.0 && \ pecl install xdebug-2.5.0 + ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ From a25bca6c4d8d9c9fd9f6cebc7c275c7d50ee6006 Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Mon, 8 Oct 2018 18:47:12 +0200 Subject: [PATCH 14/42] fix docker-php-ext- config & install for php-7.1 --- 7.1-apache/Dockerfile | 14 +++++++++----- 7.1-cli-alpine/Dockerfile | 8 ++++---- 7.1-cli/Dockerfile | 14 +++++++++----- 7.1-fpm-alpine/Dockerfile | 8 ++++---- 7.1-fpm/Dockerfile | 14 +++++++++----- 5 files changed, 35 insertions(+), 23 deletions(-) diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 904b038..6bc96ab 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -31,25 +31,29 @@ RUN apt-get update && \ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysql --with-mysql=mysqlnd && \ + docker-php-ext-install mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ + docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ + docker-php-ext-install xsl && \ pecl install mongodb && \ pecl install memcached && \ pecl install redis && \ diff --git a/7.1-cli-alpine/Dockerfile b/7.1-cli-alpine/Dockerfile index b9b576f..f274c7a 100644 --- a/7.1-cli-alpine/Dockerfile +++ b/7.1-cli-alpine/Dockerfile @@ -35,17 +35,17 @@ RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repos chmod a+rx /usr/local/bin/composer RUN docker-php-ext-configure ldap && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ docker-php-ext-install zip && \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 7968ff7..9b26ef7 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -31,25 +31,29 @@ RUN apt-get update && \ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysql --with-mysql=mysqlnd && \ + docker-php-ext-install mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ + docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ + docker-php-ext-install xsl && \ pecl install mongodb && \ pecl install memcached && \ pecl install redis && \ diff --git a/7.1-fpm-alpine/Dockerfile b/7.1-fpm-alpine/Dockerfile index 6464969..cef571a 100644 --- a/7.1-fpm-alpine/Dockerfile +++ b/7.1-fpm-alpine/Dockerfile @@ -35,17 +35,17 @@ RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repos chmod a+rx /usr/local/bin/composer RUN docker-php-ext-configure ldap && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ docker-php-ext-install zip && \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index 6de0317..ca807d8 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -31,25 +31,29 @@ RUN apt-get update && \ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysql --with-mysql=mysqlnd && \ + docker-php-ext-install mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ + docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ + docker-php-ext-install xsl && \ pecl install mongodb && \ pecl install memcached && \ pecl install redis && \ From 08196d8600aa180c4c0278d3271f9a55038e0952 Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Mon, 8 Oct 2018 19:08:07 +0200 Subject: [PATCH 15/42] fix docker-php-ext-* config & install for php-7.1 --- 7.1-apache/Dockerfile | 6 +----- 7.1-cli/Dockerfile | 6 +----- 7.1-fpm/Dockerfile | 6 +----- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 6bc96ab..d3dbffc 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -31,12 +31,10 @@ RUN apt-get update && \ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ docker-php-ext-install pdo_mysql && \ - docker-php-ext-configure mysql --with-mysql=mysqlnd && \ - docker-php-ext-install mysql && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ @@ -48,12 +46,10 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ - docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl && \ pecl install mongodb && \ pecl install memcached && \ pecl install redis && \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 9b26ef7..839c022 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -31,12 +31,10 @@ RUN apt-get update && \ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ docker-php-ext-install pdo_mysql && \ - docker-php-ext-configure mysql --with-mysql=mysqlnd && \ - docker-php-ext-install mysql && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ @@ -48,12 +46,10 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ - docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl && \ pecl install mongodb && \ pecl install memcached && \ pecl install redis && \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index ca807d8..4ffd678 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -31,12 +31,10 @@ RUN apt-get update && \ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ - docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ docker-php-ext-install pdo_mysql && \ - docker-php-ext-configure mysql --with-mysql=mysqlnd && \ - docker-php-ext-install mysql && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ @@ -48,12 +46,10 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ - docker-php-ext-install exif && \ docker-php-ext-install zip && \ docker-php-ext-install pcntl && \ docker-php-ext-install ftp && \ docker-php-ext-install sockets && \ - docker-php-ext-install xsl && \ pecl install mongodb && \ pecl install memcached && \ pecl install redis && \ From 02e62cfb8f2dd2d2bb57c535e54f7570d938763e Mon Sep 17 00:00:00 2001 From: "stephane.pecourt" Date: Mon, 8 Oct 2018 19:15:57 +0200 Subject: [PATCH 16/42] fix docker-php-ext-* config & install for php-7.0 --- 7.0-apache/Dockerfile | 8 ++++---- 7.0-cli/Dockerfile | 8 ++++---- 7.0-fpm/Dockerfile | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/7.0-apache/Dockerfile b/7.0-apache/Dockerfile index 0dc8152..d7f18e4 100644 --- a/7.0-apache/Dockerfile +++ b/7.0-apache/Dockerfile @@ -32,17 +32,17 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ diff --git a/7.0-cli/Dockerfile b/7.0-cli/Dockerfile index f074ca9..d77e4bd 100644 --- a/7.0-cli/Dockerfile +++ b/7.0-cli/Dockerfile @@ -32,17 +32,17 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ diff --git a/7.0-fpm/Dockerfile b/7.0-fpm/Dockerfile index 8dd55d2..083d5a1 100644 --- a/7.0-fpm/Dockerfile +++ b/7.0-fpm/Dockerfile @@ -32,17 +32,17 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ - docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ - docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/lib && \ docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-install ldap && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ docker-php-ext-install mcrypt && \ - docker-php-ext-install gd && \ docker-php-ext-install gmp && \ docker-php-ext-install bcmath && \ docker-php-ext-install mbstring && \ From e5dee9dfce6e14472d0a202de2112dd6d777240a Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Mon, 3 Sep 2018 12:28:04 +0200 Subject: [PATCH 17/42] add 7.2 --- .gitignore | 1 - .gitlab-ci.yml | 33 +++++++++++++ 7.2-apache/Dockerfile | 87 +++++++++++++++++++++++++++++++++ 7.2-apache/docker-entrypoint.sh | 84 +++++++++++++++++++++++++++++++ 7.2-cli/Dockerfile | 79 ++++++++++++++++++++++++++++++ 7.2-cli/docker-entrypoint.sh | 78 +++++++++++++++++++++++++++++ 7.2-fpm/Dockerfile | 84 +++++++++++++++++++++++++++++++ 7.2-fpm/docker-entrypoint.sh | 83 +++++++++++++++++++++++++++++++ README.md | 17 ++++--- doc-php-apache.md | 9 ++-- doc-php-cli.md | 11 +++-- doc-php-fpm.md | 9 ++-- 12 files changed, 554 insertions(+), 21 deletions(-) delete mode 100644 .gitignore create mode 100644 7.2-apache/Dockerfile create mode 100755 7.2-apache/docker-entrypoint.sh create mode 100644 7.2-cli/Dockerfile create mode 100755 7.2-cli/docker-entrypoint.sh create mode 100644 7.2-fpm/Dockerfile create mode 100755 7.2-fpm/docker-entrypoint.sh diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9f11b75..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a58443f..d658ba3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,39 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - NAMESPACE=$REGISTRY/library +7.2-fpm: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.2-fpm 7.2-fpm/ >> /dev/null + - docker push $REGISTRY/php:7.2-fpm > /dev/null + - docker tag $REGISTRY/php:7.2-fpm $NAMESPACE/php:7.2-fpm > /dev/null + - docker push $NAMESPACE/php:7.2-fpm > /dev/null + +7.2-apache: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.2-apache 7.2-apache/ > /dev/null + - docker push $REGISTRY/php:7.2-apache > /dev/null + - docker tag $REGISTRY/php:7.2-apache $NAMESPACE/php:7.2-apache > /dev/null + - docker push $NAMESPACE/php:7.2-apache > /dev/null + +7.2-cli: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.2-cli 7.2-cli/ > /dev/null + - docker push $REGISTRY/php:7.2-cli > /dev/null + - docker tag $REGISTRY/php:7.2-cli $NAMESPACE/php:7.2-cli > /dev/null + - docker push $NAMESPACE/php:7.2-cli > /dev/null + 7.1-alpine-cli: stage: build only: diff --git a/7.2-apache/Dockerfile b/7.2-apache/Dockerfile new file mode 100644 index 0000000..776703e --- /dev/null +++ b/7.2-apache/Dockerfile @@ -0,0 +1,87 @@ +FROM php:7.2-apache +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.7.3/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/72 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV HTTPD_CONF_DIR /etc/apache2/conf-enabled/ +ENV HTTPD__DocumentRoot /var/www/html +ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ + echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ + echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ + echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ + chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ && \ + rm /etc/apache2/sites-enabled/000-default.conf + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.2-apache/docker-entrypoint.sh b/7.2-apache/docker-entrypoint.sh new file mode 100755 index 0000000..e8f06d6 --- /dev/null +++ b/7.2-apache/docker-entrypoint.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# APACHE + +if [ ! -d "$HTTPD__DocumentRoot" ]; then echo >&2 "[Error] Document Root Directory not exist (please create $HTTPD__DocumentRoot)"; exit 1; fi +if [ "$HTTPD_a2enmod" != "" ]; then a2enmod $HTTPD_a2enmod > /dev/null; fi; +set_conf "HTTPD__" "$HTTPD_CONF_DIR/40-user.conf" "" + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + +# +# Run + +if [[ ! -z "$1" ]]; then + exec ${*} +else + exec apache2-foreground +fi diff --git a/7.2-cli/Dockerfile b/7.2-cli/Dockerfile new file mode 100644 index 0000000..468977a --- /dev/null +++ b/7.2-cli/Dockerfile @@ -0,0 +1,79 @@ +FROM php:7.2-cli +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.7.3/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/72 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.2-cli/docker-entrypoint.sh b/7.2-cli/docker-entrypoint.sh new file mode 100755 index 0000000..8bb172d --- /dev/null +++ b/7.2-cli/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/7.2-fpm/Dockerfile b/7.2-fpm/Dockerfile new file mode 100644 index 0000000..c600ce2 --- /dev/null +++ b/7.2-fpm/Dockerfile @@ -0,0 +1,84 @@ +FROM php:7.2-fpm +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.7.3/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/72 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/7.2-fpm/docker-entrypoint.sh b/7.2-fpm/docker-entrypoint.sh new file mode 100755 index 0000000..c498cb3 --- /dev/null +++ b/7.2-fpm/docker-entrypoint.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run +${*} \ No newline at end of file diff --git a/README.md b/README.md index 00ec3bd..066a55a 100644 --- a/README.md +++ b/README.md @@ -6,20 +6,22 @@ Please see [README-php-cli.md](doc-php-cli.md) +- PHP-CLI 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` - PHP-CLI 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` - PHP-CLI 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` -- PHP-CLI 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` -- PHP-CLI 5.5 (docker tags: `5.5-cli`) - `docker pull alterway/php:5.5-cli` -- PHP-CLI 5.4 (docker tags: `5.4-cli`) - `docker pull alterway/php:5.4-cli` +- PHP-CLI 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` [DEPRECATED] +- PHP-CLI 5.5 (docker tags: `5.5-cli`) - `docker pull alterway/php:5.5-cli` [DEPRECATED] +- PHP-CLI 5.4 (docker tags: `5.4-cli`) - `docker pull alterway/php:5.4-cli` [DEPRECATED] ### PHP-FPM Please see [README-php-fpm.md](doc-php-fpm.md) +- PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` -- PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` -- PHP-FPM 5.5 (docker tags: `5.5-fpm`) - `docker pull alterway/php:5.5-fpm` +- PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` [DEPRECATED] +- PHP-FPM 5.5 (docker tags: `5.5-fpm`) - `docker pull alterway/php:5.5-fpm` [DEPRECATED] - PHP-FPM 5.4 (docker tags: `5.4-fpm`) - `docker pull alterway/php:5.4-fpm` [DEPRECATED] - PHP-FPM 5.3.29 (docker tags: `5.3-fpm`) - `docker pull alterway/php:5.3-fpm` [DEPRECATED] @@ -27,10 +29,11 @@ Please see [README-php-fpm.md](doc-php-fpm.md) Please see [README-php-apache.md](doc-php-apache.md) +- Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` -- Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` -- Apache/2.4 - PHP/5.5 (docker tags: `5.5-apache`) - `docker pull alterway/php:5.5-apache` +- Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` [DEPRECATED] +- Apache/2.4 - PHP/5.5 (docker tags: `5.5-apache`) - `docker pull alterway/php:5.5-apache` [DEPRECATED] - Apache/2.4 - PHP/5.4 (docker tags: `5.4-apache`) - `docker pull alterway/php:5.4-apache` [DEPRECATED] - Apache/2.2 - PHP/5.3.29 (docker tags: `5.3-apache`) - `docker pull alterway/php:5.3-apache` [DEPRECATED] diff --git a/doc-php-apache.md b/doc-php-apache.md index 517c8c7..5e17542 100644 --- a/doc-php-apache.md +++ b/doc-php-apache.md @@ -2,10 +2,11 @@ ## Version available +- Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` -- Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` -- Apache/2.4 - PHP/5.5 (docker tags: `5.5-apache`) - `docker pull alterway/php:5.5-apache` +- Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` [DEPRECATED] +- Apache/2.4 - PHP/5.5 (docker tags: `5.5-apache`) - `docker pull alterway/php:5.5-apache` [DEPRECATED] - Apache/2.4 - PHP/5.4 (docker tags: `5.4-apache`) - `docker pull alterway/php:5.4-apache` [DEPRECATED] - Apache/2.2 - PHP/5.3.29 (docker tags: `5.3-apache`) - `docker pull alterway/php:5.3-apache` [DEPRECATED] @@ -41,11 +42,11 @@ Example with docker-compose : ... environment: - PHP_php5enmod: 'mcrypt memcached mysqli opcache' + PHP_php5enmod: 'memcached mysqli opcache' #### Extensions available -- php >= 5.3 : `bcmath gd gmp intl ldap mbstring mcrypt memcached mongo mysql mysqli pcntl pdo_mysql redis soap zip blackfire ftp sockets` +- php >= 5.3 : `bcmath gd gmp intl ldap mbstring memcached mongo mysql mysqli pcntl pdo_mysql redis soap zip blackfire ftp sockets` - php >= 5.4 : `xdebug` - php >= 5.5 : `opcache` - php >= 5.6 : `zlib` diff --git a/doc-php-cli.md b/doc-php-cli.md index d67e078..41d2c77 100644 --- a/doc-php-cli.md +++ b/doc-php-cli.md @@ -2,11 +2,12 @@ ## Version available +- PHP 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` - PHP 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` - PHP 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` -- PHP 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` -- PHP 5.5 (docker tags: `5.5-cli`) - `docker pull alterway/php:5.5-cli` -- PHP 5.4 (docker tags: `5.4-cli`) - `docker pull alterway/php:5.4-cli` +- PHP 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` [DEPRECATED] +- PHP 5.5 (docker tags: `5.5-cli`) - `docker pull alterway/php:5.5-cli` [DEPRECATED] +- PHP 5.4 (docker tags: `5.4-cli`) - `docker pull alterway/php:5.4-cli` [DEPRECATED] ## Presentation @@ -56,10 +57,10 @@ Example with docker-compose : ... environment: - PHP_php5enmod: 'mcrypt memcached mysqli opcache' + PHP_php5enmod: 'memcached mysqli opcache' #### Extensions available -- php >= 5.3 : `bcmath gd gmp intl ldap mbstring mcrypt memcached mongo mysql mysqli pcntl pdo_mysql redis soap zip blackfire ftp sockets` +- php >= 5.3 : `bcmath gd gmp intl ldap mbstring memcached mongo mysql mysqli pcntl pdo_mysql redis soap zip blackfire ftp sockets` - php >= 5.4 : `xdebug` - php >= 5.5 : `opcache` - php >= 5.6 : `zlib` diff --git a/doc-php-fpm.md b/doc-php-fpm.md index da0b3dc..bd2f297 100644 --- a/doc-php-fpm.md +++ b/doc-php-fpm.md @@ -2,10 +2,11 @@ ## Version available +- PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` -- PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` -- PHP-FPM 5.5 (docker tags: `5.5-fpm`) - `docker pull alterway/php:5.5-fpm` +- PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` [DEPRECATED] +- PHP-FPM 5.5 (docker tags: `5.5-fpm`) - `docker pull alterway/php:5.5-fpm` [DEPRECATED] - PHP-FPM 5.4 (docker tags: `5.4-fpm`) - `docker pull alterway/php:5.4-fpm` [DEPRECATED] - PHP-FPM 5.3.29 (docker tags: `5.3-fpm`) - `docker pull alterway/php:5.3-fpm` [DEPRECATED] @@ -41,10 +42,10 @@ Example with docker-compose : ... environment: - PHP_php5enmod: 'mcrypt memcached mysqli opcache' + PHP_php5enmod: 'memcached mysqli opcache' #### Extensions available -- php >= 5.3 : `bcmath gd gmp intl ldap mbstring mcrypt memcached mongo mysql mysqli pcntl pdo_mysql redis soap zip blackfire ftp sockets` +- php >= 5.3 : `bcmath gd gmp intl ldap mbstring memcached mongo mysql mysqli pcntl pdo_mysql redis soap zip blackfire ftp sockets` - php >= 5.4 : `xdebug` - php >= 5.5 : `opcache` - php >= 5.6 : `zlib` From 5bc81b3f8a7ceb1fb825caa90e76b1087682972e Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Sat, 8 Dec 2018 00:10:53 +0100 Subject: [PATCH 18/42] fix entrypoint php-fpm (See : https://stackoverflow.com/questions/43711769/gitlab-runner-with-syntax-error https://gitlab.com/gitlab-org/gitlab-runner/issues/2979) --- 5.3-fpm/docker-entrypoint.sh | 2 +- 5.4-fpm/docker-entrypoint.sh | 2 +- 5.5-fpm/docker-entrypoint.sh | 2 +- 5.6-fpm/docker-entrypoint.sh | 2 +- 7.0-fpm/docker-entrypoint.sh | 2 +- 7.1-fpm/docker-entrypoint.sh | 2 +- 7.2-fpm/docker-entrypoint.sh | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/5.3-fpm/docker-entrypoint.sh b/5.3-fpm/docker-entrypoint.sh index fd1ad8d..0ddd888 100755 --- a/5.3-fpm/docker-entrypoint.sh +++ b/5.3-fpm/docker-entrypoint.sh @@ -77,4 +77,4 @@ fi # # Run -${*} \ No newline at end of file +exec "$@" \ No newline at end of file diff --git a/5.4-fpm/docker-entrypoint.sh b/5.4-fpm/docker-entrypoint.sh index ad9d2f3..0bd4472 100755 --- a/5.4-fpm/docker-entrypoint.sh +++ b/5.4-fpm/docker-entrypoint.sh @@ -76,4 +76,4 @@ fi # # Run -${*} \ No newline at end of file +exec "$@" \ No newline at end of file diff --git a/5.5-fpm/docker-entrypoint.sh b/5.5-fpm/docker-entrypoint.sh index ae9e30d..8b80326 100755 --- a/5.5-fpm/docker-entrypoint.sh +++ b/5.5-fpm/docker-entrypoint.sh @@ -75,4 +75,4 @@ fi # # Run -${*} \ No newline at end of file +exec "$@" \ No newline at end of file diff --git a/5.6-fpm/docker-entrypoint.sh b/5.6-fpm/docker-entrypoint.sh index c498cb3..4f1f929 100755 --- a/5.6-fpm/docker-entrypoint.sh +++ b/5.6-fpm/docker-entrypoint.sh @@ -80,4 +80,4 @@ fi # # Run -${*} \ No newline at end of file +exec "$@" \ No newline at end of file diff --git a/7.0-fpm/docker-entrypoint.sh b/7.0-fpm/docker-entrypoint.sh index c498cb3..4f1f929 100755 --- a/7.0-fpm/docker-entrypoint.sh +++ b/7.0-fpm/docker-entrypoint.sh @@ -80,4 +80,4 @@ fi # # Run -${*} \ No newline at end of file +exec "$@" \ No newline at end of file diff --git a/7.1-fpm/docker-entrypoint.sh b/7.1-fpm/docker-entrypoint.sh index 4c5a0b1..a018682 100755 --- a/7.1-fpm/docker-entrypoint.sh +++ b/7.1-fpm/docker-entrypoint.sh @@ -80,4 +80,4 @@ fi # # Run -${*} +exec "$@" diff --git a/7.2-fpm/docker-entrypoint.sh b/7.2-fpm/docker-entrypoint.sh index c498cb3..4f1f929 100755 --- a/7.2-fpm/docker-entrypoint.sh +++ b/7.2-fpm/docker-entrypoint.sh @@ -80,4 +80,4 @@ fi # # Run -${*} \ No newline at end of file +exec "$@" \ No newline at end of file From 755c961dc16d19d630e60f43160c8aa335f60eb6 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Tue, 28 May 2019 12:02:23 +0200 Subject: [PATCH 19/42] update composer version --- 5.6-apache/Dockerfile | 2 +- 5.6-cli/Dockerfile | 2 +- 5.6-fpm/Dockerfile | 2 +- 7.0-apache/Dockerfile | 2 +- 7.0-cli/Dockerfile | 2 +- 7.0-fpm/Dockerfile | 2 +- 7.1-apache/Dockerfile | 2 +- 7.1-cli-alpine/Dockerfile | 2 +- 7.1-cli/Dockerfile | 2 +- 7.1-fpm-alpine/Dockerfile | 2 +- 7.1-fpm/Dockerfile | 2 +- 7.2-apache/Dockerfile | 2 +- 7.2-cli/Dockerfile | 2 +- 7.2-fpm/Dockerfile | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index e493866..13a9901 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -26,7 +26,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index 586ed60..1ffe1bd 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -26,7 +26,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index f08e59e..98fe55b 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -26,7 +26,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.0-apache/Dockerfile b/7.0-apache/Dockerfile index d7f18e4..85cd79c 100644 --- a/7.0-apache/Dockerfile +++ b/7.0-apache/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.0-cli/Dockerfile b/7.0-cli/Dockerfile index d77e4bd..333f178 100644 --- a/7.0-cli/Dockerfile +++ b/7.0-cli/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.0-fpm/Dockerfile b/7.0-fpm/Dockerfile index 083d5a1..3879681 100644 --- a/7.0-fpm/Dockerfile +++ b/7.0-fpm/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index d3dbffc..55b8cfc 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.1-cli-alpine/Dockerfile b/7.1-cli-alpine/Dockerfile index f274c7a..1357a23 100644 --- a/7.1-cli-alpine/Dockerfile +++ b/7.1-cli-alpine/Dockerfile @@ -31,7 +31,7 @@ RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repos icu-dev \ libmemcached-dev \ libcurl && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN docker-php-ext-configure ldap && \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 839c022..38cd5f7 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.1-fpm-alpine/Dockerfile b/7.1-fpm-alpine/Dockerfile index cef571a..4c4fff4 100644 --- a/7.1-fpm-alpine/Dockerfile +++ b/7.1-fpm-alpine/Dockerfile @@ -31,7 +31,7 @@ RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repos icu-dev \ libmemcached-dev \ libcurl && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN docker-php-ext-configure ldap && \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index 4ffd678..8d08499 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -25,7 +25,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.2.4/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.2-apache/Dockerfile b/7.2-apache/Dockerfile index 776703e..52ad925 100644 --- a/7.2-apache/Dockerfile +++ b/7.2-apache/Dockerfile @@ -24,7 +24,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.7.3/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.2-cli/Dockerfile b/7.2-cli/Dockerfile index 468977a..3aa6842 100644 --- a/7.2-cli/Dockerfile +++ b/7.2-cli/Dockerfile @@ -24,7 +24,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.7.3/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ diff --git a/7.2-fpm/Dockerfile b/7.2-fpm/Dockerfile index c600ce2..66eb53e 100644 --- a/7.2-fpm/Dockerfile +++ b/7.2-fpm/Dockerfile @@ -24,7 +24,7 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.7.3/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ chmod a+rx /usr/local/bin/composer RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ From 874ab8e88f3d765acb4f349c30b200e75582b72a Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Tue, 28 May 2019 12:03:21 +0200 Subject: [PATCH 20/42] add php 7.3 --- .gitlab-ci.yml | 33 +++++++++++++ 7.3-apache/Dockerfile | 88 +++++++++++++++++++++++++++++++++ 7.3-apache/docker-entrypoint.sh | 84 +++++++++++++++++++++++++++++++ 7.3-cli/Dockerfile | 80 ++++++++++++++++++++++++++++++ 7.3-cli/docker-entrypoint.sh | 78 +++++++++++++++++++++++++++++ 7.3-fpm/Dockerfile | 85 +++++++++++++++++++++++++++++++ 7.3-fpm/docker-entrypoint.sh | 83 +++++++++++++++++++++++++++++++ README.md | 3 ++ doc-php-apache.md | 1 + doc-php-cli.md | 1 + doc-php-fpm.md | 1 + 11 files changed, 537 insertions(+) create mode 100644 7.3-apache/Dockerfile create mode 100755 7.3-apache/docker-entrypoint.sh create mode 100644 7.3-cli/Dockerfile create mode 100755 7.3-cli/docker-entrypoint.sh create mode 100644 7.3-fpm/Dockerfile create mode 100755 7.3-fpm/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d658ba3..4f0aaf4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,39 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - NAMESPACE=$REGISTRY/library +7.3-fpm: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-fpm 7.3-fpm/ >> /dev/null + - docker push $REGISTRY/php:7.3-fpm > /dev/null + - docker tag $REGISTRY/php:7.3-fpm $NAMESPACE/php:7.3-fpm > /dev/null + - docker push $NAMESPACE/php:7.3-fpm > /dev/null + +7.3-apache: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-apache 7.3-apache/ > /dev/null + - docker push $REGISTRY/php:7.3-apache > /dev/null + - docker tag $REGISTRY/php:7.3-apache $NAMESPACE/php:7.3-apache > /dev/null + - docker push $NAMESPACE/php:7.3-apache > /dev/null + +7.3-cli: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-cli 7.3-cli/ > /dev/null + - docker push $REGISTRY/php:7.3-cli > /dev/null + - docker tag $REGISTRY/php:7.3-cli $NAMESPACE/php:7.3-cli > /dev/null + - docker push $NAMESPACE/php:7.3-cli > /dev/null + 7.2-fpm: stage: build only: diff --git a/7.3-apache/Dockerfile b/7.3-apache/Dockerfile new file mode 100644 index 0000000..486d2ba --- /dev/null +++ b/7.3-apache/Dockerfile @@ -0,0 +1,88 @@ +FROM php:7.3-apache +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV HTTPD_CONF_DIR /etc/apache2/conf-enabled/ +ENV HTTPD__DocumentRoot /var/www/html +ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ + echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ + echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ + echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ + chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ && \ + rm /etc/apache2/sites-enabled/000-default.conf + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.3-apache/docker-entrypoint.sh b/7.3-apache/docker-entrypoint.sh new file mode 100755 index 0000000..e8f06d6 --- /dev/null +++ b/7.3-apache/docker-entrypoint.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# APACHE + +if [ ! -d "$HTTPD__DocumentRoot" ]; then echo >&2 "[Error] Document Root Directory not exist (please create $HTTPD__DocumentRoot)"; exit 1; fi +if [ "$HTTPD_a2enmod" != "" ]; then a2enmod $HTTPD_a2enmod > /dev/null; fi; +set_conf "HTTPD__" "$HTTPD_CONF_DIR/40-user.conf" "" + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + +# +# Run + +if [[ ! -z "$1" ]]; then + exec ${*} +else + exec apache2-foreground +fi diff --git a/7.3-cli/Dockerfile b/7.3-cli/Dockerfile new file mode 100644 index 0000000..dc4e907 --- /dev/null +++ b/7.3-cli/Dockerfile @@ -0,0 +1,80 @@ +FROM php:7.3-cli +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.3-cli/docker-entrypoint.sh b/7.3-cli/docker-entrypoint.sh new file mode 100755 index 0000000..8bb172d --- /dev/null +++ b/7.3-cli/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/7.3-fpm/Dockerfile b/7.3-fpm/Dockerfile new file mode 100644 index 0000000..502b6b3 --- /dev/null +++ b/7.3-fpm/Dockerfile @@ -0,0 +1,85 @@ +FROM php:7.3-fpm +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/7.3-fpm/docker-entrypoint.sh b/7.3-fpm/docker-entrypoint.sh new file mode 100755 index 0000000..4f1f929 --- /dev/null +++ b/7.3-fpm/docker-entrypoint.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run +exec "$@" \ No newline at end of file diff --git a/README.md b/README.md index 066a55a..9bd8f90 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ Please see [README-php-cli.md](doc-php-cli.md) +- PHP-CLI 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` - PHP-CLI 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` - PHP-CLI 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` - PHP-CLI 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` @@ -17,6 +18,7 @@ Please see [README-php-cli.md](doc-php-cli.md) Please see [README-php-fpm.md](doc-php-fpm.md) +- PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` - PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` @@ -29,6 +31,7 @@ Please see [README-php-fpm.md](doc-php-fpm.md) Please see [README-php-apache.md](doc-php-apache.md) +- Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` - Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` diff --git a/doc-php-apache.md b/doc-php-apache.md index 5e17542..7863178 100644 --- a/doc-php-apache.md +++ b/doc-php-apache.md @@ -2,6 +2,7 @@ ## Version available +- Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` - Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` diff --git a/doc-php-cli.md b/doc-php-cli.md index 41d2c77..647ab85 100644 --- a/doc-php-cli.md +++ b/doc-php-cli.md @@ -2,6 +2,7 @@ ## Version available +- PHP 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` - PHP 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` - PHP 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` - PHP 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` diff --git a/doc-php-fpm.md b/doc-php-fpm.md index bd2f297..bfe9ce2 100644 --- a/doc-php-fpm.md +++ b/doc-php-fpm.md @@ -2,6 +2,7 @@ ## Version available +- PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` - PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` From d74179d0bc0bc560bcb4f9cb9af53aaaa72e3e1d Mon Sep 17 00:00:00 2001 From: Herve Leclerc Date: Mon, 8 Jul 2019 16:30:01 +0200 Subject: [PATCH 21/42] php-fpm-posix env var --- .gitlab-ci.yml | 11 ++++ 7.3-fpm-posix/Dockerfile | 85 ++++++++++++++++++++++++++++++ 7.3-fpm-posix/docker-entrypoint.sh | 85 ++++++++++++++++++++++++++++++ 3 files changed, 181 insertions(+) create mode 100644 7.3-fpm-posix/Dockerfile create mode 100755 7.3-fpm-posix/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4f0aaf4..6be2294 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,17 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - NAMESPACE=$REGISTRY/library +7.3-fpm-posix: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-fpm-posix 7.3-fpm-posix/ >> /dev/null + - docker push $REGISTRY/php:7.3-fpm-posix > /dev/null + - docker tag $REGISTRY/php:7.3-fpm-posix $NAMESPACE/php:7.3-fpm-posix > /dev/null + - docker push $NAMESPACE/php:7.3-fpm-posix > /dev/null + 7.3-fpm: stage: build only: diff --git a/7.3-fpm-posix/Dockerfile b/7.3-fpm-posix/Dockerfile new file mode 100644 index 0000000..502b6b3 --- /dev/null +++ b/7.3-fpm-posix/Dockerfile @@ -0,0 +1,85 @@ +FROM php:7.3-fpm +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/7.3-fpm-posix/docker-entrypoint.sh b/7.3-fpm-posix/docker-entrypoint.sh new file mode 100755 index 0000000..4dcaac7 --- /dev/null +++ b/7.3-fpm-posix/docker-entrypoint.sh @@ -0,0 +1,85 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + + #for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | gawk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run +exec "$@" \ No newline at end of file From ffb49300c35fbd9d90c7a3f4096d89e781ba1a6a Mon Sep 17 00:00:00 2001 From: Herve Leclerc Date: Mon, 8 Jul 2019 16:33:35 +0200 Subject: [PATCH 22/42] typo --- 7.3-fpm-posix/docker-entrypoint.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/7.3-fpm-posix/docker-entrypoint.sh b/7.3-fpm-posix/docker-entrypoint.sh index 4dcaac7..a483834 100755 --- a/7.3-fpm-posix/docker-entrypoint.sh +++ b/7.3-fpm-posix/docker-entrypoint.sh @@ -13,10 +13,19 @@ fi # # functions +# Syntaxe Posix for Array + function set_conf { echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") - #for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + + IFS=$IFSO +} + +function set_conf_posix { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | gawk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2; done; IFS=$IFSO } @@ -31,8 +40,8 @@ if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/ set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" # Set phpfpm.conf -set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" -set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" +set_conf_posix "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf_posix "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf From 6396fb5f0c7b5fc4d0e1c098c7e5a16ab72a722a Mon Sep 17 00:00:00 2001 From: "nicolas.berthe" Date: Mon, 8 Jul 2019 17:35:20 +0200 Subject: [PATCH 23/42] fix: set fixed redis pecl version for php5.5/php5.6 --- 5.5-apache/Dockerfile | 2 +- 5.5-fpm/Dockerfile | 2 +- 5.6-apache/Dockerfile | 2 +- 5.6-cli/Dockerfile | 2 +- 5.6-fpm/Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/5.5-apache/Dockerfile b/5.5-apache/Dockerfile index 3ac0f05..4af904e 100644 --- a/5.5-apache/Dockerfile +++ b/5.5-apache/Dockerfile @@ -50,7 +50,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install sockets && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ - pecl install redis && \ + pecl install redis-3.1.0 && \ pecl install xdebug-2.5.5 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz diff --git a/5.5-fpm/Dockerfile b/5.5-fpm/Dockerfile index a82bc37..6750cdc 100644 --- a/5.5-fpm/Dockerfile +++ b/5.5-fpm/Dockerfile @@ -50,7 +50,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-install sockets && \ pecl install mongo && \ pecl install memcached-2.2.0 && \ - pecl install redis && \ + pecl install redis-3.1.0 && \ pecl install xdebug-2.5.5 ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/55 /tmp/blackfire-probe.tar.gz diff --git a/5.6-apache/Dockerfile b/5.6-apache/Dockerfile index 13a9901..8cf4bf5 100644 --- a/5.6-apache/Dockerfile +++ b/5.6-apache/Dockerfile @@ -56,7 +56,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ - pecl install redis && \ + pecl install redis-4.3.0 && \ pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz diff --git a/5.6-cli/Dockerfile b/5.6-cli/Dockerfile index 1ffe1bd..42506cf 100644 --- a/5.6-cli/Dockerfile +++ b/5.6-cli/Dockerfile @@ -56,7 +56,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ - pecl install redis && \ + pecl install redis-4.3.0 && \ pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz diff --git a/5.6-fpm/Dockerfile b/5.6-fpm/Dockerfile index 98fe55b..7b55fa8 100644 --- a/5.6-fpm/Dockerfile +++ b/5.6-fpm/Dockerfile @@ -56,7 +56,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ RUN pecl install mongo && \ pecl install memcached-2.2.0 && \ - pecl install redis && \ + pecl install redis-4.3.0 && \ pecl install xdebug-2.5.5 ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz From 876d32fda7121f5c9a63f3ba4eca432456e347c3 Mon Sep 17 00:00:00 2001 From: Herve Leclerc Date: Mon, 8 Jul 2019 17:39:24 +0200 Subject: [PATCH 24/42] change gawk to awk --- 7.3-fpm-posix/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7.3-fpm-posix/docker-entrypoint.sh b/7.3-fpm-posix/docker-entrypoint.sh index a483834..83c03a4 100755 --- a/7.3-fpm-posix/docker-entrypoint.sh +++ b/7.3-fpm-posix/docker-entrypoint.sh @@ -26,7 +26,7 @@ function set_conf { function set_conf_posix { echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") - for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | gawk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | awk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2; done; IFS=$IFSO } From d6375135f5fa35b0853cecb223f235a06a8a9d36 Mon Sep 17 00:00:00 2001 From: Herve Leclerc Date: Tue, 9 Jul 2019 08:47:30 +0200 Subject: [PATCH 25/42] posix for env and dot PHP and PHPFPM symbol --- 7.3-fpm-posix/docker-entrypoint.sh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/7.3-fpm-posix/docker-entrypoint.sh b/7.3-fpm-posix/docker-entrypoint.sh index 83c03a4..d66aba9 100755 --- a/7.3-fpm-posix/docker-entrypoint.sh +++ b/7.3-fpm-posix/docker-entrypoint.sh @@ -13,7 +13,7 @@ fi # # functions -# Syntaxe Posix for Array + function set_conf { echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") @@ -23,10 +23,21 @@ function set_conf { IFS=$IFSO } +# Syntaxe Posix for Array and dot __env__ will do env[] and ___ will do . + function set_conf_posix { echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") - for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | awk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + for c in `printenv|grep $1` + do + if [[ "${c,,}" == *"__env__"* ]] ;then + echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | awk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2 + elif [[ "${c,,}" == *"____"* ]] ;then + echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | awk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2 + else + echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2 + fi + done IFS=$IFSO } @@ -37,12 +48,14 @@ echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; # Set php.ini -set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" +set_conf_posix "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" -# Set phpfpm.conf +# Set phpfpm.conf set_conf_posix "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" set_conf_posix "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + + if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf fi From 60ec72fa3f4fd452e0459cf4e65829bfcbe5b9d8 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Thu, 5 Dec 2019 16:43:37 +0100 Subject: [PATCH 26/42] fix build php images with base debian-buster & add php images with base debian-stretch --- .gitlab-ci.yml | 44 +++++++++ 7.2-apache/Dockerfile | 8 +- 7.2-apache/docker-entrypoint.sh | 14 +-- 7.2-cli/Dockerfile | 8 +- 7.2-cli/docker-entrypoint.sh | 14 +-- 7.2-fpm/Dockerfile | 8 +- 7.2-fpm/docker-entrypoint.sh | 14 +-- 7.3-apache-stretch/Dockerfile | 88 +++++++++++++++++ 7.3-apache-stretch/docker-entrypoint.sh | 84 ++++++++++++++++ 7.3-apache/Dockerfile | 9 +- 7.3-apache/docker-entrypoint.sh | 14 +-- 7.3-cli-stretch/Dockerfile | 80 +++++++++++++++ 7.3-cli-stretch/docker-entrypoint.sh | 78 +++++++++++++++ 7.3-cli/Dockerfile | 9 +- 7.3-cli/docker-entrypoint.sh | 14 +-- 7.3-fpm-posix-stretch/Dockerfile | 85 ++++++++++++++++ 7.3-fpm-posix-stretch/docker-entrypoint.sh | 107 +++++++++++++++++++++ 7.3-fpm-posix/Dockerfile | 9 +- 7.3-fpm-posix/docker-entrypoint.sh | 14 +-- 7.3-fpm-stretch/Dockerfile | 85 ++++++++++++++++ 7.3-fpm-stretch/docker-entrypoint.sh | 83 ++++++++++++++++ 7.3-fpm/Dockerfile | 9 +- 7.3-fpm/docker-entrypoint.sh | 14 +-- 23 files changed, 815 insertions(+), 77 deletions(-) create mode 100644 7.3-apache-stretch/Dockerfile create mode 100755 7.3-apache-stretch/docker-entrypoint.sh create mode 100644 7.3-cli-stretch/Dockerfile create mode 100755 7.3-cli-stretch/docker-entrypoint.sh create mode 100644 7.3-fpm-posix-stretch/Dockerfile create mode 100755 7.3-fpm-posix-stretch/docker-entrypoint.sh create mode 100644 7.3-fpm-stretch/Dockerfile create mode 100755 7.3-fpm-stretch/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6be2294..69d17d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,6 +8,50 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - NAMESPACE=$REGISTRY/library +7.3-fpm-posix-stretch: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-fpm-posix-stretch 7.3-fpm-posix-stretch/ >> /dev/null + - docker push $REGISTRY/php:7.3-fpm-posix-stretch > /dev/null + - docker tag $REGISTRY/php:7.3-fpm-posix-stretch $NAMESPACE/php:7.3-fpm-posix-stretch > /dev/null + - docker push $NAMESPACE/php:7.3-fpm-posix-stretch > /dev/null + +7.3-fpm-stretch: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-fpm-stretch 7.3-fpm-stretch/ >> /dev/null + - docker push $REGISTRY/php:7.3-fpm-stretch > /dev/null + - docker tag $REGISTRY/php:7.3-fpm-stretch $NAMESPACE/php:7.3-fpm-stretch > /dev/null + - docker push $NAMESPACE/php:7.3-fpm-stretch > /dev/null + +7.3-apache-stretch: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-apache-stretch 7.3-apache-stretch/ > /dev/null + - docker push $REGISTRY/php:7.3-apache-stretch > /dev/null + - docker tag $REGISTRY/php:7.3-apache-stretch $NAMESPACE/php:7.3-apache-stretch > /dev/null + - docker push $NAMESPACE/php:7.3-apache-stretch > /dev/null + +7.3-cli-stretch: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.3-cli-stretch 7.3-cli-stretch/ > /dev/null + - docker push $REGISTRY/php:7.3-cli-stretch > /dev/null + - docker tag $REGISTRY/php:7.3-cli-stretch $NAMESPACE/php:7.3-cli-stretch > /dev/null + - docker push $NAMESPACE/php:7.3-cli-stretch > /dev/null + 7.3-fpm-posix: stage: build only: diff --git a/7.2-apache/Dockerfile b/7.2-apache/Dockerfile index 52ad925..737bb6d 100644 --- a/7.2-apache/Dockerfile +++ b/7.2-apache/Dockerfile @@ -18,8 +18,8 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -72,12 +72,12 @@ ENV HTTPD__DocumentRoot /var/www/html ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ - chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ && \ + touch /etc/msmtprc && chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ /etc/msmtprc && \ rm /etc/apache2/sites-enabled/000-default.conf COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.2-apache/docker-entrypoint.sh b/7.2-apache/docker-entrypoint.sh index e8f06d6..ef62ce5 100755 --- a/7.2-apache/docker-entrypoint.sh +++ b/7.2-apache/docker-entrypoint.sh @@ -7,7 +7,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ /etc/ssmtp + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ fi # @@ -45,11 +45,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -68,10 +68,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # diff --git a/7.2-cli/Dockerfile b/7.2-cli/Dockerfile index 3aa6842..6ab3386 100644 --- a/7.2-cli/Dockerfile +++ b/7.2-cli/Dockerfile @@ -18,8 +18,8 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -69,8 +69,8 @@ RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ ENV LOCALTIME Europe/Paris RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ - chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.2-cli/docker-entrypoint.sh b/7.2-cli/docker-entrypoint.sh index 8bb172d..c77d805 100755 --- a/7.2-cli/docker-entrypoint.sh +++ b/7.2-cli/docker-entrypoint.sh @@ -7,7 +7,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + chmod a-rwx -R $PHP_INI_DIR/conf.d/ fi # @@ -38,11 +38,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -61,10 +61,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi diff --git a/7.2-fpm/Dockerfile b/7.2-fpm/Dockerfile index 66eb53e..428daaa 100644 --- a/7.2-fpm/Dockerfile +++ b/7.2-fpm/Dockerfile @@ -18,8 +18,8 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -70,10 +70,10 @@ ENV LOCALTIME Europe/Paris ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ mkdir -p /usr/local/etc/php-fpm.d && \ - chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc /usr/local/etc/php-fpm.d/ COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.2-fpm/docker-entrypoint.sh b/7.2-fpm/docker-entrypoint.sh index 4f1f929..8ad787e 100755 --- a/7.2-fpm/docker-entrypoint.sh +++ b/7.2-fpm/docker-entrypoint.sh @@ -8,7 +8,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /usr/local/etc/php-fpm.d/ fi # @@ -48,11 +48,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -71,10 +71,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi diff --git a/7.3-apache-stretch/Dockerfile b/7.3-apache-stretch/Dockerfile new file mode 100644 index 0000000..cfee8e1 --- /dev/null +++ b/7.3-apache-stretch/Dockerfile @@ -0,0 +1,88 @@ +FROM php:7.3-apache-stretch +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV HTTPD_CONF_DIR /etc/apache2/conf-enabled/ +ENV HTTPD__DocumentRoot /var/www/html +ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ + echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ + echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ + echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ + chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ && \ + rm /etc/apache2/sites-enabled/000-default.conf + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.3-apache-stretch/docker-entrypoint.sh b/7.3-apache-stretch/docker-entrypoint.sh new file mode 100755 index 0000000..e8f06d6 --- /dev/null +++ b/7.3-apache-stretch/docker-entrypoint.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# APACHE + +if [ ! -d "$HTTPD__DocumentRoot" ]; then echo >&2 "[Error] Document Root Directory not exist (please create $HTTPD__DocumentRoot)"; exit 1; fi +if [ "$HTTPD_a2enmod" != "" ]; then a2enmod $HTTPD_a2enmod > /dev/null; fi; +set_conf "HTTPD__" "$HTTPD_CONF_DIR/40-user.conf" "" + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + +# +# Run + +if [[ ! -z "$1" ]]; then + exec ${*} +else + exec apache2-foreground +fi diff --git a/7.3-apache/Dockerfile b/7.3-apache/Dockerfile index 486d2ba..21212aa 100644 --- a/7.3-apache/Dockerfile +++ b/7.3-apache/Dockerfile @@ -18,9 +18,10 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ libzip-dev \ + libonig-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -73,12 +74,12 @@ ENV HTTPD__DocumentRoot /var/www/html ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ - chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ && \ + touch /etc/msmtprc && chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ /etc/msmtprc && \ rm /etc/apache2/sites-enabled/000-default.conf COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.3-apache/docker-entrypoint.sh b/7.3-apache/docker-entrypoint.sh index e8f06d6..ef62ce5 100755 --- a/7.3-apache/docker-entrypoint.sh +++ b/7.3-apache/docker-entrypoint.sh @@ -7,7 +7,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ /etc/ssmtp + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ fi # @@ -45,11 +45,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -68,10 +68,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # diff --git a/7.3-cli-stretch/Dockerfile b/7.3-cli-stretch/Dockerfile new file mode 100644 index 0000000..2240bbf --- /dev/null +++ b/7.3-cli-stretch/Dockerfile @@ -0,0 +1,80 @@ +FROM php:7.3-cli-stretch +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.3-cli-stretch/docker-entrypoint.sh b/7.3-cli-stretch/docker-entrypoint.sh new file mode 100755 index 0000000..8bb172d --- /dev/null +++ b/7.3-cli-stretch/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/7.3-cli/Dockerfile b/7.3-cli/Dockerfile index dc4e907..05eb23b 100644 --- a/7.3-cli/Dockerfile +++ b/7.3-cli/Dockerfile @@ -18,9 +18,10 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ libzip-dev \ + libonig-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -70,8 +71,8 @@ RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ ENV LOCALTIME Europe/Paris RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ - chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.3-cli/docker-entrypoint.sh b/7.3-cli/docker-entrypoint.sh index 8bb172d..c77d805 100755 --- a/7.3-cli/docker-entrypoint.sh +++ b/7.3-cli/docker-entrypoint.sh @@ -7,7 +7,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp + chmod a-rwx -R $PHP_INI_DIR/conf.d/ fi # @@ -38,11 +38,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -61,10 +61,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi diff --git a/7.3-fpm-posix-stretch/Dockerfile b/7.3-fpm-posix-stretch/Dockerfile new file mode 100644 index 0000000..61e6682 --- /dev/null +++ b/7.3-fpm-posix-stretch/Dockerfile @@ -0,0 +1,85 @@ +FROM php:7.3-fpm-stretch +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/7.3-fpm-posix-stretch/docker-entrypoint.sh b/7.3-fpm-posix-stretch/docker-entrypoint.sh new file mode 100755 index 0000000..d66aba9 --- /dev/null +++ b/7.3-fpm-posix-stretch/docker-entrypoint.sh @@ -0,0 +1,107 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ +fi + +# +# functions + + +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + + IFS=$IFSO +} + +# Syntaxe Posix for Array and dot __env__ will do env[] and ___ will do . + +function set_conf_posix { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + + for c in `printenv|grep $1` + do + if [[ "${c,,}" == *"__env__"* ]] ;then + echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | awk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2 + elif [[ "${c,,}" == *"____"* ]] ;then + echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}' | awk -F"__" '{print $1 "[" $2 "]"'}` $3 `echo $c|cut -d "=" -f2`" >> $2 + else + echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2 + fi + done + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf_posix "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf_posix "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf_posix "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + + + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run +exec "$@" \ No newline at end of file diff --git a/7.3-fpm-posix/Dockerfile b/7.3-fpm-posix/Dockerfile index 502b6b3..3c53e42 100644 --- a/7.3-fpm-posix/Dockerfile +++ b/7.3-fpm-posix/Dockerfile @@ -18,9 +18,10 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ libzip-dev \ + libonig-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -71,10 +72,10 @@ ENV LOCALTIME Europe/Paris ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ mkdir -p /usr/local/etc/php-fpm.d && \ - chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc /usr/local/etc/php-fpm.d/ COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.3-fpm-posix/docker-entrypoint.sh b/7.3-fpm-posix/docker-entrypoint.sh index d66aba9..07576c2 100755 --- a/7.3-fpm-posix/docker-entrypoint.sh +++ b/7.3-fpm-posix/docker-entrypoint.sh @@ -8,7 +8,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /usr/local/etc/php-fpm.d/ fi # @@ -72,11 +72,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -95,10 +95,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi diff --git a/7.3-fpm-stretch/Dockerfile b/7.3-fpm-stretch/Dockerfile new file mode 100644 index 0000000..61e6682 --- /dev/null +++ b/7.3-fpm-stretch/Dockerfile @@ -0,0 +1,85 @@ +FROM php:7.3-fpm-stretch +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + curl \ + ssmtp \ + mysql-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/73 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/7.3-fpm-stretch/docker-entrypoint.sh b/7.3-fpm-stretch/docker-entrypoint.sh new file mode 100755 index 0000000..4f1f929 --- /dev/null +++ b/7.3-fpm-stretch/docker-entrypoint.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set ssmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set ssmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf +fi + + +# +# Run +exec "$@" \ No newline at end of file diff --git a/7.3-fpm/Dockerfile b/7.3-fpm/Dockerfile index 502b6b3..3c53e42 100644 --- a/7.3-fpm/Dockerfile +++ b/7.3-fpm/Dockerfile @@ -18,9 +18,10 @@ RUN apt-get update && \ libssl-dev \ libsqlite3-dev \ libzip-dev \ + libonig-dev \ curl \ - ssmtp \ - mysql-client \ + msmtp \ + mariadb-client \ git \ subversion \ wget && \ @@ -71,10 +72,10 @@ ENV LOCALTIME Europe/Paris ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ mkdir -p /usr/local/etc/php-fpm.d && \ - chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc /usr/local/etc/php-fpm.d/ COPY docker-entrypoint.sh /entrypoint.sh diff --git a/7.3-fpm/docker-entrypoint.sh b/7.3-fpm/docker-entrypoint.sh index 4f1f929..8ad787e 100755 --- a/7.3-fpm/docker-entrypoint.sh +++ b/7.3-fpm/docker-entrypoint.sh @@ -8,7 +8,7 @@ if [ "$USER" = "root" ]; then ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime # secure path - chmod a-rwx -R $PHP_INI_DIR/conf.d/ /etc/ssmtp /usr/local/etc/php-fpm.d/ + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /usr/local/etc/php-fpm.d/ fi # @@ -48,11 +48,11 @@ elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then rm $PHP_INI_DIR/conf.d/20-memcached.ini fi -# Deprecated - Set ssmtp server with link +# Deprecated - Set msmtp server with link if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=$SMTP_PORT_25_TCP_ADDR:$SMTP_PORT_25_TCP_PORT/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi # Set memcached session save handle @@ -71,10 +71,10 @@ EOF fi -# Set ssmtp server +# Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini - sed -i "s/mailhub=.*/mailhub=${SMTP}/" /etc/ssmtp/ssmtp.conf + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi From 4946454e3e94371189f67391f7f6a26bc857e64e Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Thu, 5 Dec 2019 16:39:47 +0100 Subject: [PATCH 27/42] add PHP 7.4 version & deprecated 7.0 & 7.1 --- .gitlab-ci.yml | 33 ++++++++++++ 7.4-apache/Dockerfile | 89 +++++++++++++++++++++++++++++++++ 7.4-apache/docker-entrypoint.sh | 84 +++++++++++++++++++++++++++++++ 7.4-cli/Dockerfile | 81 ++++++++++++++++++++++++++++++ 7.4-cli/docker-entrypoint.sh | 78 +++++++++++++++++++++++++++++ 7.4-fpm/Dockerfile | 86 +++++++++++++++++++++++++++++++ 7.4-fpm/docker-entrypoint.sh | 83 ++++++++++++++++++++++++++++++ README.md | 17 ++++--- doc-php-apache.md | 5 +- doc-php-cli.md | 5 +- doc-php-fpm.md | 5 +- 11 files changed, 553 insertions(+), 13 deletions(-) create mode 100644 7.4-apache/Dockerfile create mode 100755 7.4-apache/docker-entrypoint.sh create mode 100644 7.4-cli/Dockerfile create mode 100755 7.4-cli/docker-entrypoint.sh create mode 100644 7.4-fpm/Dockerfile create mode 100755 7.4-fpm/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 69d17d6..e386951 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,6 +52,39 @@ before_script: - docker tag $REGISTRY/php:7.3-cli-stretch $NAMESPACE/php:7.3-cli-stretch > /dev/null - docker push $NAMESPACE/php:7.3-cli-stretch > /dev/null +7.4-fpm: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.4-fpm 7.4-fpm/ >> /dev/null + - docker push $REGISTRY/php:7.4-fpm > /dev/null + - docker tag $REGISTRY/php:7.4-fpm $NAMESPACE/php:7.4-fpm > /dev/null + - docker push $NAMESPACE/php:7.4-fpm > /dev/null + +7.4-apache: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.4-apache 7.4-apache/ > /dev/null + - docker push $REGISTRY/php:7.4-apache > /dev/null + - docker tag $REGISTRY/php:7.4-apache $NAMESPACE/php:7.4-apache > /dev/null + - docker push $NAMESPACE/php:7.4-apache > /dev/null + +7.4-cli: + stage: build + only: + - preprod + - master + script: + - docker build --pull -t $REGISTRY/php:7.4-cli 7.4-cli/ > /dev/null + - docker push $REGISTRY/php:7.4-cli > /dev/null + - docker tag $REGISTRY/php:7.4-cli $NAMESPACE/php:7.4-cli > /dev/null + - docker push $NAMESPACE/php:7.4-cli > /dev/null + 7.3-fpm-posix: stage: build only: diff --git a/7.4-apache/Dockerfile b/7.4-apache/Dockerfile new file mode 100644 index 0000000..556381e --- /dev/null +++ b/7.4-apache/Dockerfile @@ -0,0 +1,89 @@ +FROM php:7.4-apache +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/74 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV HTTPD_CONF_DIR /etc/apache2/conf-enabled/ +ENV HTTPD__DocumentRoot /var/www/html +ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ + echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ + echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ + echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ + touch /etc/msmtprc && chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ /etc/msmtprc && \ + rm /etc/apache2/sites-enabled/000-default.conf + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.4-apache/docker-entrypoint.sh b/7.4-apache/docker-entrypoint.sh new file mode 100755 index 0000000..ef62ce5 --- /dev/null +++ b/7.4-apache/docker-entrypoint.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# APACHE + +if [ ! -d "$HTTPD__DocumentRoot" ]; then echo >&2 "[Error] Document Root Directory not exist (please create $HTTPD__DocumentRoot)"; exit 1; fi +if [ "$HTTPD_a2enmod" != "" ]; then a2enmod $HTTPD_a2enmod > /dev/null; fi; +set_conf "HTTPD__" "$HTTPD_CONF_DIR/40-user.conf" "" + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# +# Run + +if [[ ! -z "$1" ]]; then + exec ${*} +else + exec apache2-foreground +fi diff --git a/7.4-cli/Dockerfile b/7.4-cli/Dockerfile new file mode 100644 index 0000000..b6c905c --- /dev/null +++ b/7.4-cli/Dockerfile @@ -0,0 +1,81 @@ +FROM php:7.4-cli +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/74 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/7.4-cli/docker-entrypoint.sh b/7.4-cli/docker-entrypoint.sh new file mode 100755 index 0000000..321dd55 --- /dev/null +++ b/7.4-cli/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/7.4-fpm/Dockerfile b/7.4-fpm/Dockerfile new file mode 100644 index 0000000..f42ad9c --- /dev/null +++ b/7.4-fpm/Dockerfile @@ -0,0 +1,86 @@ +FROM php:7.4-fpm +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/74 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/7.4-fpm/docker-entrypoint.sh b/7.4-fpm/docker-entrypoint.sh new file mode 100755 index 0000000..c7b52b2 --- /dev/null +++ b/7.4-fpm/docker-entrypoint.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/sbin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + + +# +# Run +exec "$@" \ No newline at end of file diff --git a/README.md b/README.md index 9bd8f90..10cf6ba 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,11 @@ Please see [README-php-cli.md](doc-php-cli.md) +- PHP-CLI 7.4 (docker tags: `7.4-cli`) - `docker pull alterway/php:7.4-cli` - PHP-CLI 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` - PHP-CLI 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` -- PHP-CLI 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` -- PHP-CLI 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` +- PHP-CLI 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` [DEPRECATED] +- PHP-CLI 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` [DEPRECATED] - PHP-CLI 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` [DEPRECATED] - PHP-CLI 5.5 (docker tags: `5.5-cli`) - `docker pull alterway/php:5.5-cli` [DEPRECATED] - PHP-CLI 5.4 (docker tags: `5.4-cli`) - `docker pull alterway/php:5.4-cli` [DEPRECATED] @@ -18,10 +19,11 @@ Please see [README-php-cli.md](doc-php-cli.md) Please see [README-php-fpm.md](doc-php-fpm.md) +- PHP-FPM 7.4 (docker tags: `7.4-fpm`) - `docker pull alterway/php:7.4-fpm` - PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` - PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` -- PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` -- PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` +- PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` [DEPRECATED] +- PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` [DEPRECATED] - PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` [DEPRECATED] - PHP-FPM 5.5 (docker tags: `5.5-fpm`) - `docker pull alterway/php:5.5-fpm` [DEPRECATED] - PHP-FPM 5.4 (docker tags: `5.4-fpm`) - `docker pull alterway/php:5.4-fpm` [DEPRECATED] @@ -31,10 +33,11 @@ Please see [README-php-fpm.md](doc-php-fpm.md) Please see [README-php-apache.md](doc-php-apache.md) +- Apache/2.4 - PHP/7.4 (docker tags: `7.4-apache`) - `docker pull alterway/php:7.4-apache` - Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` - Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` -- Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` -- Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` +- Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` [DEPRECATED] +- Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` [DEPRECATED] - Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` [DEPRECATED] - Apache/2.4 - PHP/5.5 (docker tags: `5.5-apache`) - `docker pull alterway/php:5.5-apache` [DEPRECATED] - Apache/2.4 - PHP/5.4 (docker tags: `5.4-apache`) - `docker pull alterway/php:5.4-apache` [DEPRECATED] @@ -46,4 +49,4 @@ Please see [README-php-apache.md](doc-php-apache.md) ## License -View [LICENSE](LICENSE) for the software contained in this image. +View [LICENSE](LICENSE) for the software contained in this image. \ No newline at end of file diff --git a/doc-php-apache.md b/doc-php-apache.md index 7863178..2f99ade 100644 --- a/doc-php-apache.md +++ b/doc-php-apache.md @@ -2,10 +2,11 @@ ## Version available +- Apache/2.4 - PHP/7.4 (docker tags: `7.4-apache`) - `docker pull alterway/php:7.4-apache` - Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` - Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` -- Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` -- Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` +- Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` [DEPRECATED] +- Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` [DEPRECATED] - Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` [DEPRECATED] - Apache/2.4 - PHP/5.5 (docker tags: `5.5-apache`) - `docker pull alterway/php:5.5-apache` [DEPRECATED] - Apache/2.4 - PHP/5.4 (docker tags: `5.4-apache`) - `docker pull alterway/php:5.4-apache` [DEPRECATED] diff --git a/doc-php-cli.md b/doc-php-cli.md index 647ab85..b8e95da 100644 --- a/doc-php-cli.md +++ b/doc-php-cli.md @@ -2,10 +2,11 @@ ## Version available +- PHP 7.4 (docker tags: `7.4-cli`) - `docker pull alterway/php:7.4-cli` - PHP 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` - PHP 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` -- PHP 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` -- PHP 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` +- PHP 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` [DEPRECATED] +- PHP 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` [DEPRECATED] - PHP 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` [DEPRECATED] - PHP 5.5 (docker tags: `5.5-cli`) - `docker pull alterway/php:5.5-cli` [DEPRECATED] - PHP 5.4 (docker tags: `5.4-cli`) - `docker pull alterway/php:5.4-cli` [DEPRECATED] diff --git a/doc-php-fpm.md b/doc-php-fpm.md index bfe9ce2..b9cc19f 100644 --- a/doc-php-fpm.md +++ b/doc-php-fpm.md @@ -2,10 +2,11 @@ ## Version available +- PHP-FPM 7.4 (docker tags: `7.4-fpm`) - `docker pull alterway/php:7.4-fpm` - PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` - PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` -- PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` -- PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` +- PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` [DEPRECATED] +- PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` [DEPRECATED] - PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` [DEPRECATED] - PHP-FPM 5.5 (docker tags: `5.5-fpm`) - `docker pull alterway/php:5.5-fpm` [DEPRECATED] - PHP-FPM 5.4 (docker tags: `5.4-fpm`) - `docker pull alterway/php:5.4-fpm` [DEPRECATED] From adff8d8148d673db111b92f9807dece277da8a52 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Mon, 23 Dec 2019 10:39:31 +0100 Subject: [PATCH 28/42] fix build 7.1 images with php-stretch base image --- 7.1-apache/Dockerfile | 2 +- 7.1-cli/Dockerfile | 2 +- 7.1-fpm/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7.1-apache/Dockerfile b/7.1-apache/Dockerfile index 55b8cfc..4d8fcb1 100644 --- a/7.1-apache/Dockerfile +++ b/7.1-apache/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-apache +FROM php:7.1-apache-stretch LABEL maintainer="Alterway " RUN apt-get update && \ diff --git a/7.1-cli/Dockerfile b/7.1-cli/Dockerfile index 38cd5f7..3660c6c 100644 --- a/7.1-cli/Dockerfile +++ b/7.1-cli/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-cli +FROM php:7.1-cli-stretch LABEL maintainer="Alterway " RUN apt-get update && \ diff --git a/7.1-fpm/Dockerfile b/7.1-fpm/Dockerfile index 8d08499..3f37fdd 100644 --- a/7.1-fpm/Dockerfile +++ b/7.1-fpm/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-fpm +FROM php:7.1-fpm-stretch LABEL maintainer="Alterway " RUN apt-get update && \ From 48f531013007b67f331c1831288d512b788ed3cf Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 11:15:55 +0100 Subject: [PATCH 29/42] Testing Version and Condionatl Push --- .gitlab-ci.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e386951..305859c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,18 +6,26 @@ variables: before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi + - if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY; fi - NAMESPACE=$REGISTRY/library 7.3-fpm-posix-stretch: stage: build + variables: + VERSION: 7.3-fpm-posix-stretch only: - preprod - master script: - - docker build --pull -t $REGISTRY/php:7.3-fpm-posix-stretch 7.3-fpm-posix-stretch/ >> /dev/null - - docker push $REGISTRY/php:7.3-fpm-posix-stretch > /dev/null - - docker tag $REGISTRY/php:7.3-fpm-posix-stretch $NAMESPACE/php:7.3-fpm-posix-stretch > /dev/null - - docker push $NAMESPACE/php:7.3-fpm-posix-stretch > /dev/null + - docker build --pull -t $REGISTRY/php:$VERSION $VERSION/ >> /dev/null + - docker push $REGISTRY/php:$VERSION > /dev/null + - docker tag $REGISTRY/php:$VERSION $NAMESPACE/php:$VERSION > /dev/null + - docker push $NAMESPACE/php:$VERSION > /dev/null + - | + if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then + docker tag $REGISTRY/php:$VERSION $CI_REGISTRY_IMAGE:$VERSION > /dev/null + docker push $CI_REGISTRY_IMAGE:$VERSION > /dev/null + fi 7.3-fpm-stretch: stage: build From 879de2a680eb0a7958e5912d7400f6f0c6589193 Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 11:34:28 +0100 Subject: [PATCH 30/42] Trying templating --- .gitlab-ci.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 305859c..98c2f23 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,6 +4,19 @@ stages: variables: REGISTRY: hub.alterway.fr + +.build_push_template: &build_push_definition + script: + - docker build --pull -t $REGISTRY/php:$VERSION $VERSION/ >> /dev/null + - docker push $REGISTRY/php:$VERSION > /dev/null + - docker tag $REGISTRY/php:$VERSION $NAMESPACE/php:$VERSION > /dev/null + - docker push $NAMESPACE/php:$VERSION > /dev/null + - | + if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then + docker tag $REGISTRY/php:$VERSION $CI_REGISTRY_IMAGE:$VERSION > /dev/null + docker push $CI_REGISTRY_IMAGE:$VERSION > /dev/null + fi + before_script: - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY; fi @@ -16,16 +29,8 @@ before_script: only: - preprod - master - script: - - docker build --pull -t $REGISTRY/php:$VERSION $VERSION/ >> /dev/null - - docker push $REGISTRY/php:$VERSION > /dev/null - - docker tag $REGISTRY/php:$VERSION $NAMESPACE/php:$VERSION > /dev/null - - docker push $NAMESPACE/php:$VERSION > /dev/null - - | - if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then - docker tag $REGISTRY/php:$VERSION $CI_REGISTRY_IMAGE:$VERSION > /dev/null - docker push $CI_REGISTRY_IMAGE:$VERSION > /dev/null - fi + <<: *build_push_definition + 7.3-fpm-stretch: stage: build From c21b84a04f404029c49d4478caa63954d6388fab Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 11:59:28 +0100 Subject: [PATCH 31/42] Tempalting task --- .gitlab-ci.yml | 274 +++++++------------------------------------------ 1 file changed, 36 insertions(+), 238 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 98c2f23..aaf00b8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,15 +6,19 @@ variables: .build_push_template: &build_push_definition + stage: build + only: + - preprod + - master script: - - docker build --pull -t $REGISTRY/php:$VERSION $VERSION/ >> /dev/null - - docker push $REGISTRY/php:$VERSION > /dev/null - - docker tag $REGISTRY/php:$VERSION $NAMESPACE/php:$VERSION > /dev/null - - docker push $NAMESPACE/php:$VERSION > /dev/null + - docker build --pull -t $REGISTRY/php:$CI_JOB_NAME $CI_JOB_NAME/ >> /dev/null + - docker push $REGISTRY/php:$CI_JOB_NAME > /dev/null + - docker tag $REGISTRY/php:$CI_JOB_NAME $NAMESPACE/php:$CI_JOB_NAME > /dev/null + - docker push $NAMESPACE/php:$CI_JOB_NAME > /dev/null - | if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then - docker tag $REGISTRY/php:$VERSION $CI_REGISTRY_IMAGE:$VERSION > /dev/null - docker push $CI_REGISTRY_IMAGE:$VERSION > /dev/null + docker tag $REGISTRY/php:$CI_JOB_NAME $CI_REGISTRY_IMAGE:$CI_JOB_NAME > /dev/null + docker push $CI_REGISTRY_IMAGE:$CI_JOB_NAME > /dev/null fi before_script: @@ -23,285 +27,79 @@ before_script: - NAMESPACE=$REGISTRY/library 7.3-fpm-posix-stretch: - stage: build - variables: - VERSION: 7.3-fpm-posix-stretch - only: - - preprod - - master <<: *build_push_definition - 7.3-fpm-stretch: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-fpm-stretch 7.3-fpm-stretch/ >> /dev/null - - docker push $REGISTRY/php:7.3-fpm-stretch > /dev/null - - docker tag $REGISTRY/php:7.3-fpm-stretch $NAMESPACE/php:7.3-fpm-stretch > /dev/null - - docker push $NAMESPACE/php:7.3-fpm-stretch > /dev/null + <<: *build_push_definition 7.3-apache-stretch: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-apache-stretch 7.3-apache-stretch/ > /dev/null - - docker push $REGISTRY/php:7.3-apache-stretch > /dev/null - - docker tag $REGISTRY/php:7.3-apache-stretch $NAMESPACE/php:7.3-apache-stretch > /dev/null - - docker push $NAMESPACE/php:7.3-apache-stretch > /dev/null + <<: *build_push_definition 7.3-cli-stretch: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-cli-stretch 7.3-cli-stretch/ > /dev/null - - docker push $REGISTRY/php:7.3-cli-stretch > /dev/null - - docker tag $REGISTRY/php:7.3-cli-stretch $NAMESPACE/php:7.3-cli-stretch > /dev/null - - docker push $NAMESPACE/php:7.3-cli-stretch > /dev/null + <<: *build_push_definition 7.4-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.4-fpm 7.4-fpm/ >> /dev/null - - docker push $REGISTRY/php:7.4-fpm > /dev/null - - docker tag $REGISTRY/php:7.4-fpm $NAMESPACE/php:7.4-fpm > /dev/null - - docker push $NAMESPACE/php:7.4-fpm > /dev/null + <<: *build_push_definition 7.4-apache: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.4-apache 7.4-apache/ > /dev/null - - docker push $REGISTRY/php:7.4-apache > /dev/null - - docker tag $REGISTRY/php:7.4-apache $NAMESPACE/php:7.4-apache > /dev/null - - docker push $NAMESPACE/php:7.4-apache > /dev/null + <<: *build_push_definition 7.4-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.4-cli 7.4-cli/ > /dev/null - - docker push $REGISTRY/php:7.4-cli > /dev/null - - docker tag $REGISTRY/php:7.4-cli $NAMESPACE/php:7.4-cli > /dev/null - - docker push $NAMESPACE/php:7.4-cli > /dev/null + <<: *build_push_definition 7.3-fpm-posix: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-fpm-posix 7.3-fpm-posix/ >> /dev/null - - docker push $REGISTRY/php:7.3-fpm-posix > /dev/null - - docker tag $REGISTRY/php:7.3-fpm-posix $NAMESPACE/php:7.3-fpm-posix > /dev/null - - docker push $NAMESPACE/php:7.3-fpm-posix > /dev/null + <<: *build_push_definition 7.3-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-fpm 7.3-fpm/ >> /dev/null - - docker push $REGISTRY/php:7.3-fpm > /dev/null - - docker tag $REGISTRY/php:7.3-fpm $NAMESPACE/php:7.3-fpm > /dev/null - - docker push $NAMESPACE/php:7.3-fpm > /dev/null + <<: *build_push_definition 7.3-apache: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-apache 7.3-apache/ > /dev/null - - docker push $REGISTRY/php:7.3-apache > /dev/null - - docker tag $REGISTRY/php:7.3-apache $NAMESPACE/php:7.3-apache > /dev/null - - docker push $NAMESPACE/php:7.3-apache > /dev/null + <<: *build_push_definition 7.3-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.3-cli 7.3-cli/ > /dev/null - - docker push $REGISTRY/php:7.3-cli > /dev/null - - docker tag $REGISTRY/php:7.3-cli $NAMESPACE/php:7.3-cli > /dev/null - - docker push $NAMESPACE/php:7.3-cli > /dev/null + <<: *build_push_definition 7.2-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.2-fpm 7.2-fpm/ >> /dev/null - - docker push $REGISTRY/php:7.2-fpm > /dev/null - - docker tag $REGISTRY/php:7.2-fpm $NAMESPACE/php:7.2-fpm > /dev/null - - docker push $NAMESPACE/php:7.2-fpm > /dev/null + <<: *build_push_definition 7.2-apache: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.2-apache 7.2-apache/ > /dev/null - - docker push $REGISTRY/php:7.2-apache > /dev/null - - docker tag $REGISTRY/php:7.2-apache $NAMESPACE/php:7.2-apache > /dev/null - - docker push $NAMESPACE/php:7.2-apache > /dev/null + <<: *build_push_definition 7.2-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.2-cli 7.2-cli/ > /dev/null - - docker push $REGISTRY/php:7.2-cli > /dev/null - - docker tag $REGISTRY/php:7.2-cli $NAMESPACE/php:7.2-cli > /dev/null - - docker push $NAMESPACE/php:7.2-cli > /dev/null - -7.1-alpine-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.1-cli-alpine 7.1-cli-alpine/ > /dev/null -# - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-cli-alpine -# - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-cli-alpine - - docker push $REGISTRY/php:7.1-cli-alpine - - docker tag $REGISTRY/php:7.1-cli-alpine $NAMESPACE/php:7.1-cli-alpine > /dev/null - - docker push $NAMESPACE/php:7.1-cli-alpine > /dev/null + <<: *build_push_definition +7.1-cli-alpine: + <<: *build_push_definition -7.1-alpine-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.1-fpm-alpine 7.1-fpm-alpine/ > /dev/null -# - docker exec -i anchore_cli anchore analyze --image $REGISTRY/php:7.1-fpm-alpine -# - docker exec -i anchore_cli anchore gate --image $REGISTRY/php:7.1-fpm-alpine - - docker push $REGISTRY/php:7.1-fpm-alpine > /dev/null - - docker tag $REGISTRY/php:7.1-fpm-alpine $NAMESPACE/php:7.1-fpm-alpine > /dev/null - - docker push $NAMESPACE/php:7.1-fpm-alpine > /dev/null +php:7.1-fpm-alpine: + <<: *build_push_definition 7.1-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.1-fpm 7.1-fpm/ > /dev/null - - docker push $REGISTRY/php:7.1-fpm > /dev/null - - docker tag $REGISTRY/php:7.1-fpm $NAMESPACE/php:7.1-fpm > /dev/null - - docker push $NAMESPACE/php:7.1-fpm > /dev/null + <<: *build_push_definition 7.1-apache: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.1-apache 7.1-apache/ > /dev/null - - docker push $REGISTRY/php:7.1-apache > /dev/null - - docker tag $REGISTRY/php:7.1-apache $NAMESPACE/php:7.1-apache > /dev/null - - docker push $NAMESPACE/php:7.1-apache > /dev/null + <<: *build_push_definition 7.1-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.1-cli 7.1-cli/ > /dev/null - - docker push $REGISTRY/php:7.1-cli > /dev/null - - docker tag $REGISTRY/php:7.1-cli $NAMESPACE/php:7.1-cli > /dev/null - - docker push $NAMESPACE/php:7.1-cli > /dev/null + <<: *build_push_definition 7.0-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.0-fpm 7.0-fpm/ >> /dev/null - - docker push $REGISTRY/php:7.0-fpm > /dev/null - - docker tag $REGISTRY/php:7.0-fpm $NAMESPACE/php:7.0-fpm > /dev/null - - docker push $NAMESPACE/php:7.0-fpm > /dev/null + <<: *build_push_definition 7.0-apache: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.0-apache 7.0-apache/ > /dev/null - - docker push $REGISTRY/php:7.0-apache > /dev/null - - docker tag $REGISTRY/php:7.0-apache $NAMESPACE/php:7.0-apache > /dev/null - - docker push $NAMESPACE/php:7.0-apache > /dev/null + <<: *build_push_definition 7.0-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:7.0-cli 7.0-cli/ > /dev/null - - docker push $REGISTRY/php:7.0-cli > /dev/null - - docker tag $REGISTRY/php:7.0-cli $NAMESPACE/php:7.0-cli > /dev/null - - docker push $NAMESPACE/php:7.0-cli > /dev/null + <<: *build_push_definition 5.6-fpm: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:5.6-fpm 5.6-fpm/ >> /dev/null - - docker push $REGISTRY/php:5.6-fpm > /dev/null - - docker tag $REGISTRY/php:5.6-fpm $NAMESPACE/php:5.6-fpm > /dev/null - - docker push $NAMESPACE/php:5.6-fpm > /dev/null - - docker tag $REGISTRY/php:5.6-fpm $REGISTRY/php:5.6-fpm-extra - - docker push $REGISTRY/php:5.6-fpm-extra + <<: *build_push_definition 5.6-apache: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:5.6-apache 5.6-apache/ > /dev/null - - docker push $REGISTRY/php:5.6-apache > /dev/null - - docker tag $REGISTRY/php:5.6-apache $NAMESPACE/php:5.6-apache > /dev/null - - docker push $NAMESPACE/php:5.6-apache > /dev/null + <<: *build_push_definition 5.6-cli: - stage: build - only: - - preprod - - master - script: - - docker build --pull -t $REGISTRY/php:5.6-cli 5.6-cli/ > /dev/null - - docker push $REGISTRY/php:5.6-cli > /dev/null - - docker tag $REGISTRY/php:5.6-cli $NAMESPACE/php:5.6-cli > /dev/null - - docker push $NAMESPACE/php:5.6-cli > /dev/null + <<: *build_push_definition # 5.5-fpm: # stage: build From 96653bc66dda79b31847cc07083a0786d673bcc2 Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 12:02:59 +0100 Subject: [PATCH 32/42] typo alpine --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aaf00b8..064394b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -71,7 +71,7 @@ before_script: 7.1-cli-alpine: <<: *build_push_definition -php:7.1-fpm-alpine: +7.1-fpm-alpine: <<: *build_push_definition 7.1-fpm: From 7a77c889653c7c14235e5564923b9062fec3e4ef Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 12:03:39 +0100 Subject: [PATCH 33/42] remove old stuff --- .gitlab-ci.yml | 86 -------------------------------------------------- 1 file changed, 86 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 064394b..0b9cf6d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -100,89 +100,3 @@ before_script: 5.6-cli: <<: *build_push_definition - -# 5.5-fpm: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.5-fpm 5.5-fpm/ >> /dev/null -# - docker push $REGISTRY/php:5.5-fpm > /dev/null -# - docker tag $REGISTRY/php:5.5-fpm $NAMESPACE/php:5.5-fpm > /dev/null -# - docker push $NAMESPACE/php:5.5-fpm > /dev/null -# - docker tag $REGISTRY/php:5.5-fpm $REGISTRY/php:5.5-fpm-extra -# - docker push $REGISTRY/php:5.5-fpm-extra - -# 5.5-apache: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.5-apache 5.5-apache/ > /dev/null -# - docker push $REGISTRY/php:5.5-apache > /dev/null -# - docker tag $REGISTRY/php:5.5-apache $NAMESPACE/php:5.5-apache > /dev/null -# - docker push $NAMESPACE/php:5.5-apache > /dev/null - -# 5.5-cli: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.5-cli 5.5-cli/ > /dev/null -# - docker push $REGISTRY/php:5.5-cli > /dev/null -# - docker tag $REGISTRY/php:5.5-cli $NAMESPACE/php:5.5-cli > /dev/null -# - docker push $NAMESPACE/php:5.5-cli > /dev/null - - - -# 5.4-fpm: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.4-fpm 5.4-fpm/ >> /dev/null -# - docker push $REGISTRY/php:5.4-fpm > /dev/null -# - docker tag $REGISTRY/php:5.4-fpm $NAMESPACE/php:5.4-fpm > /dev/null -# - docker push $NAMESPACE/php:5.4-fpm > /dev/null -# - docker tag $REGISTRY/php:5.4-fpm $REGISTRY/php:5.4-fpm-extra -# - docker push $REGISTRY/php:5.4-fpm-extra - -# 5.4-apache: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.4-apache 5.4-apache/ > /dev/null -# - docker push $REGISTRY/php:5.4-apache > /dev/null -# - docker tag $REGISTRY/php:5.4-apache $NAMESPACE/php:5.4-apache > /dev/null -# - docker push $NAMESPACE/php:5.4-apache > /dev/null - -# 5.4-cli: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.4-cli 5.4-cli/ > /dev/null -# - docker push $REGISTRY/php:5.4-cli > /dev/null -# - docker tag $REGISTRY/php:5.4-cli $NAMESPACE/php:5.4-cli > /dev/null -# - docker push $NAMESPACE/php:5.4-cli > /dev/null - - -# 5.3-fpm: -# stage: build -# only: -# - preprod -# - master -# script: -# - docker build --pull -t $REGISTRY/php:5.3-fpm 5.3-fpm/ > /dev/null -# - docker push $REGISTRY/php:5.3-fpm > /dev/null -# - docker tag $REGISTRY/php:5.3-fpm $NAMESPACE/php:5.3-fpm > /dev/null -# - docker push $NAMESPACE/php:5.3-fpm > /dev/null -# - docker tag $REGISTRY/php:5.3-fpm $REGISTRY/php:5.3-fpm-extra -# - docker push $REGISTRY/php:5.3-fpm-extra From 28654903d13bf2f23aa4c1e3d5b9b42cd47c26b6 Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 12:29:55 +0100 Subject: [PATCH 34/42] Change Order --- .gitlab-ci.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0b9cf6d..87a7aa1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,6 @@ stages: variables: REGISTRY: hub.alterway.fr - .build_push_template: &build_push_definition stage: build only: @@ -26,25 +25,25 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY; fi - NAMESPACE=$REGISTRY/library -7.3-fpm-posix-stretch: - <<: *build_push_definition - -7.3-fpm-stretch: +7.4-fpm: <<: *build_push_definition -7.3-apache-stretch: +7.4-apache: <<: *build_push_definition -7.3-cli-stretch: +7.4-cli: <<: *build_push_definition -7.4-fpm: +7.3-fpm-posix-stretch: + <<: *build_push_definition + +7.3-fpm-stretch: <<: *build_push_definition -7.4-apache: +7.3-apache-stretch: <<: *build_push_definition -7.4-cli: +7.3-cli-stretch: <<: *build_push_definition 7.3-fpm-posix: From 9c6a4b3172e4dd32e6b83cac765ea02bcc5f9322 Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Mon, 23 Dec 2019 15:13:39 +0100 Subject: [PATCH 35/42] Remove Registry var and put it in CI/CD variables --- .gitlab-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 87a7aa1..4b58844 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,6 @@ stages: - build -variables: - REGISTRY: hub.alterway.fr - .build_push_template: &build_push_definition stage: build only: From 62ba686c92d88e0c671c448a6cdc265e2c63b181 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Mon, 24 Feb 2020 11:32:06 +0100 Subject: [PATCH 36/42] 7.4-fpm: fix typo msmtp path --- 7.4-fpm/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/7.4-fpm/docker-entrypoint.sh b/7.4-fpm/docker-entrypoint.sh index c7b52b2..8ad787e 100755 --- a/7.4-fpm/docker-entrypoint.sh +++ b/7.4-fpm/docker-entrypoint.sh @@ -73,7 +73,7 @@ fi # Set msmtp server if [ -n "$SMTP" ]; then - echo 'sendmail_path = /usr/sbin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc fi From e8204c147be5f463db4339789417bd20667765f5 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Thu, 29 Oct 2020 17:20:43 +0100 Subject: [PATCH 37/42] add-gd-jpeg-support --- 7.4-apache/Dockerfile | 2 +- 7.4-cli/Dockerfile | 2 +- 7.4-fpm/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/7.4-apache/Dockerfile b/7.4-apache/Dockerfile index 556381e..05de325 100644 --- a/7.4-apache/Dockerfile +++ b/7.4-apache/Dockerfile @@ -39,7 +39,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-configure gd --with-freetype && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ diff --git a/7.4-cli/Dockerfile b/7.4-cli/Dockerfile index b6c905c..16621f7 100644 --- a/7.4-cli/Dockerfile +++ b/7.4-cli/Dockerfile @@ -39,7 +39,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-configure gd --with-freetype && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ diff --git a/7.4-fpm/Dockerfile b/7.4-fpm/Dockerfile index f42ad9c..2c5b51a 100644 --- a/7.4-fpm/Dockerfile +++ b/7.4-fpm/Dockerfile @@ -39,7 +39,7 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ docker-php-ext-install mysqli && \ docker-php-ext-install pdo_sqlite && \ - docker-php-ext-configure gd --with-freetype && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ docker-php-ext-install gd && \ docker-php-ext-install soap && \ docker-php-ext-install intl && \ From 4db80c442fd6a7c7df9ee8e542e8d026fd7b0a8b Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Thu, 29 Oct 2020 17:32:49 +0100 Subject: [PATCH 38/42] update composer 1 and add composer 2 --- 7.2-apache/Dockerfile | 5 +++-- 7.2-cli/Dockerfile | 5 +++-- 7.2-fpm/Dockerfile | 5 +++-- 7.3-apache-stretch/Dockerfile | 5 +++-- 7.3-apache/Dockerfile | 5 +++-- 7.3-cli-stretch/Dockerfile | 5 +++-- 7.3-cli/Dockerfile | 5 +++-- 7.3-fpm-posix-stretch/Dockerfile | 5 +++-- 7.3-fpm-posix/Dockerfile | 5 +++-- 7.3-fpm-stretch/Dockerfile | 5 +++-- 7.3-fpm/Dockerfile | 5 +++-- 7.4-apache/Dockerfile | 5 +++-- 7.4-cli/Dockerfile | 5 +++-- 7.4-fpm/Dockerfile | 5 +++-- 14 files changed, 42 insertions(+), 28 deletions(-) diff --git a/7.2-apache/Dockerfile b/7.2-apache/Dockerfile index 737bb6d..bba948a 100644 --- a/7.2-apache/Dockerfile +++ b/7.2-apache/Dockerfile @@ -24,8 +24,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.2-cli/Dockerfile b/7.2-cli/Dockerfile index 6ab3386..872c027 100644 --- a/7.2-cli/Dockerfile +++ b/7.2-cli/Dockerfile @@ -24,8 +24,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.2-fpm/Dockerfile b/7.2-fpm/Dockerfile index 428daaa..47bd9f1 100644 --- a/7.2-fpm/Dockerfile +++ b/7.2-fpm/Dockerfile @@ -24,8 +24,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-apache-stretch/Dockerfile b/7.3-apache-stretch/Dockerfile index cfee8e1..9d310f8 100644 --- a/7.3-apache-stretch/Dockerfile +++ b/7.3-apache-stretch/Dockerfile @@ -25,8 +25,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-apache/Dockerfile b/7.3-apache/Dockerfile index 21212aa..dfe440b 100644 --- a/7.3-apache/Dockerfile +++ b/7.3-apache/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-cli-stretch/Dockerfile b/7.3-cli-stretch/Dockerfile index 2240bbf..8b212d7 100644 --- a/7.3-cli-stretch/Dockerfile +++ b/7.3-cli-stretch/Dockerfile @@ -25,8 +25,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-cli/Dockerfile b/7.3-cli/Dockerfile index 05eb23b..ad0d9b7 100644 --- a/7.3-cli/Dockerfile +++ b/7.3-cli/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-fpm-posix-stretch/Dockerfile b/7.3-fpm-posix-stretch/Dockerfile index 61e6682..6890e90 100644 --- a/7.3-fpm-posix-stretch/Dockerfile +++ b/7.3-fpm-posix-stretch/Dockerfile @@ -25,8 +25,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-fpm-posix/Dockerfile b/7.3-fpm-posix/Dockerfile index 3c53e42..20a71a5 100644 --- a/7.3-fpm-posix/Dockerfile +++ b/7.3-fpm-posix/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-fpm-stretch/Dockerfile b/7.3-fpm-stretch/Dockerfile index 61e6682..6890e90 100644 --- a/7.3-fpm-stretch/Dockerfile +++ b/7.3-fpm-stretch/Dockerfile @@ -25,8 +25,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.3-fpm/Dockerfile b/7.3-fpm/Dockerfile index 3c53e42..20a71a5 100644 --- a/7.3-fpm/Dockerfile +++ b/7.3-fpm/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.8.5/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.4-apache/Dockerfile b/7.4-apache/Dockerfile index 556381e..4ae1ba8 100644 --- a/7.4-apache/Dockerfile +++ b/7.4-apache/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.4-cli/Dockerfile b/7.4-cli/Dockerfile index b6c905c..13801a3 100644 --- a/7.4-cli/Dockerfile +++ b/7.4-cli/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ diff --git a/7.4-fpm/Dockerfile b/7.4-fpm/Dockerfile index f42ad9c..4517ab5 100644 --- a/7.4-fpm/Dockerfile +++ b/7.4-fpm/Dockerfile @@ -26,8 +26,9 @@ RUN apt-get update && \ subversion \ wget && \ rm -rf /var/lib/apt/lists/* && \ - wget https://getcomposer.org/download/1.9.1/composer.phar -O /usr/local/bin/composer && \ - chmod a+rx /usr/local/bin/composer + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ From 0281a887d5a84e43154be0303259c18bfdf40a3c Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Fri, 4 Dec 2020 15:23:40 +0100 Subject: [PATCH 39/42] add PHP 8.0 version --- .gitlab-ci.yml | 53 ++++--------------- 8.0-apache/Dockerfile | 90 +++++++++++++++++++++++++++++++++ 8.0-apache/docker-entrypoint.sh | 84 ++++++++++++++++++++++++++++++ 8.0-cli/Dockerfile | 82 ++++++++++++++++++++++++++++++ 8.0-cli/docker-entrypoint.sh | 78 ++++++++++++++++++++++++++++ 8.0-fpm/Dockerfile | 87 +++++++++++++++++++++++++++++++ 8.0-fpm/docker-entrypoint.sh | 83 ++++++++++++++++++++++++++++++ README.md | 9 ++-- doc-php-apache.md | 3 +- doc-php-cli.md | 3 +- doc-php-fpm.md | 3 +- 11 files changed, 526 insertions(+), 49 deletions(-) create mode 100644 8.0-apache/Dockerfile create mode 100755 8.0-apache/docker-entrypoint.sh create mode 100644 8.0-cli/Dockerfile create mode 100755 8.0-cli/docker-entrypoint.sh create mode 100644 8.0-fpm/Dockerfile create mode 100755 8.0-fpm/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4b58844..a36c16f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,15 @@ before_script: - if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY; fi - NAMESPACE=$REGISTRY/library +8.0-fpm: + <<: *build_push_definition + +8.0-apache: + <<: *build_push_definition + +8.0-cli: + <<: *build_push_definition + 7.4-fpm: <<: *build_push_definition @@ -53,46 +62,4 @@ before_script: <<: *build_push_definition 7.3-cli: - <<: *build_push_definition - -7.2-fpm: - <<: *build_push_definition - -7.2-apache: - <<: *build_push_definition - -7.2-cli: - <<: *build_push_definition - -7.1-cli-alpine: - <<: *build_push_definition - -7.1-fpm-alpine: - <<: *build_push_definition - -7.1-fpm: - <<: *build_push_definition - -7.1-apache: - <<: *build_push_definition - -7.1-cli: - <<: *build_push_definition - -7.0-fpm: - <<: *build_push_definition - -7.0-apache: - <<: *build_push_definition - -7.0-cli: - <<: *build_push_definition - -5.6-fpm: - <<: *build_push_definition - -5.6-apache: - <<: *build_push_definition - -5.6-cli: - <<: *build_push_definition + <<: *build_push_definition \ No newline at end of file diff --git a/8.0-apache/Dockerfile b/8.0-apache/Dockerfile new file mode 100644 index 0000000..de8f825 --- /dev/null +++ b/8.0-apache/Dockerfile @@ -0,0 +1,90 @@ +FROM php:8.0-apache +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.10.17/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.7/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/80 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV HTTPD_CONF_DIR /etc/apache2/conf-enabled/ +ENV HTTPD__DocumentRoot /var/www/html +ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ + echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ + echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ + echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ + touch /etc/msmtprc && chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ /etc/msmtprc && \ + rm /etc/apache2/sites-enabled/000-default.conf + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/8.0-apache/docker-entrypoint.sh b/8.0-apache/docker-entrypoint.sh new file mode 100755 index 0000000..ef62ce5 --- /dev/null +++ b/8.0-apache/docker-entrypoint.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# APACHE + +if [ ! -d "$HTTPD__DocumentRoot" ]; then echo >&2 "[Error] Document Root Directory not exist (please create $HTTPD__DocumentRoot)"; exit 1; fi +if [ "$HTTPD_a2enmod" != "" ]; then a2enmod $HTTPD_a2enmod > /dev/null; fi; +set_conf "HTTPD__" "$HTTPD_CONF_DIR/40-user.conf" "" + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# +# Run + +if [[ ! -z "$1" ]]; then + exec ${*} +else + exec apache2-foreground +fi diff --git a/8.0-cli/Dockerfile b/8.0-cli/Dockerfile new file mode 100644 index 0000000..eb76344 --- /dev/null +++ b/8.0-cli/Dockerfile @@ -0,0 +1,82 @@ +FROM php:8.0-cli +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.10.17/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.7/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/80 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/8.0-cli/docker-entrypoint.sh b/8.0-cli/docker-entrypoint.sh new file mode 100755 index 0000000..321dd55 --- /dev/null +++ b/8.0-cli/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/8.0-fpm/Dockerfile b/8.0-fpm/Dockerfile new file mode 100644 index 0000000..2ad57e7 --- /dev/null +++ b/8.0-fpm/Dockerfile @@ -0,0 +1,87 @@ +FROM php:8.0-fpm +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.10.16/composer.phar -O /usr/local/bin/composer && \ + wget https://getcomposer.org/download/2.0.3/composer.phar -O /usr/local/bin/composer2 && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer2 + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/80 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/8.0-fpm/docker-entrypoint.sh b/8.0-fpm/docker-entrypoint.sh new file mode 100755 index 0000000..8ad787e --- /dev/null +++ b/8.0-fpm/docker-entrypoint.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + + +# +# Run +exec "$@" \ No newline at end of file diff --git a/README.md b/README.md index 10cf6ba..70b90ad 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,10 @@ Please see [README-php-cli.md](doc-php-cli.md) +- PHP-CLI 8.0 (docker tags: `8.0-cli`) - `docker pull alterway/php:8.0-cli` - PHP-CLI 7.4 (docker tags: `7.4-cli`) - `docker pull alterway/php:7.4-cli` - PHP-CLI 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` -- PHP-CLI 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` +- PHP-CLI 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` [DEPRECATED] - PHP-CLI 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` [DEPRECATED] - PHP-CLI 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` [DEPRECATED] - PHP-CLI 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` [DEPRECATED] @@ -19,9 +20,10 @@ Please see [README-php-cli.md](doc-php-cli.md) Please see [README-php-fpm.md](doc-php-fpm.md) +- PHP-FPM 8.0 (docker tags: `8.0-fpm`) - `docker pull alterway/php:8.0-fpm` - PHP-FPM 7.4 (docker tags: `7.4-fpm`) - `docker pull alterway/php:7.4-fpm` - PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` -- PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` +- PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` [DEPRECATED] - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` [DEPRECATED] - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` [DEPRECATED] - PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` [DEPRECATED] @@ -33,9 +35,10 @@ Please see [README-php-fpm.md](doc-php-fpm.md) Please see [README-php-apache.md](doc-php-apache.md) +- Apache/2.4 - PHP/8.0 (docker tags: `8.0-apache`) - `docker pull alterway/php:8.0-apache` - Apache/2.4 - PHP/7.4 (docker tags: `7.4-apache`) - `docker pull alterway/php:7.4-apache` - Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` -- Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` +- Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` [DEPRECATED] - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` [DEPRECATED] - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` [DEPRECATED] - Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` [DEPRECATED] diff --git a/doc-php-apache.md b/doc-php-apache.md index 2f99ade..55cf7f7 100644 --- a/doc-php-apache.md +++ b/doc-php-apache.md @@ -2,9 +2,10 @@ ## Version available +- Apache/2.4 - PHP/8.0 (docker tags: `8.0-apache`) - `docker pull alterway/php:8.0-apache` - Apache/2.4 - PHP/7.4 (docker tags: `7.4-apache`) - `docker pull alterway/php:7.4-apache` - Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` -- Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` +- Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` [DEPRECATED] - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` [DEPRECATED] - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` [DEPRECATED] - Apache/2.4 - PHP/5.6 (docker tags: `5.6-apache`) - `docker pull alterway/php:5.6-apache` [DEPRECATED] diff --git a/doc-php-cli.md b/doc-php-cli.md index b8e95da..012fab3 100644 --- a/doc-php-cli.md +++ b/doc-php-cli.md @@ -2,9 +2,10 @@ ## Version available +- PHP 8.0 (docker tags: `8.0-cli`) - `docker pull alterway/php:8.0-cli` - PHP 7.4 (docker tags: `7.4-cli`) - `docker pull alterway/php:7.4-cli` - PHP 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` -- PHP 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` +- PHP 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` [DEPRECATED] - PHP 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` [DEPRECATED] - PHP 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` [DEPRECATED] - PHP 5.6 (docker tags: `5.6-cli`) - `docker pull alterway/php:5.6-cli` [DEPRECATED] diff --git a/doc-php-fpm.md b/doc-php-fpm.md index b9cc19f..335b8c1 100644 --- a/doc-php-fpm.md +++ b/doc-php-fpm.md @@ -2,9 +2,10 @@ ## Version available +- PHP-FPM 8.0 (docker tags: `8.0-fpm`) - `docker pull alterway/php:8.0-fpm` - PHP-FPM 7.4 (docker tags: `7.4-fpm`) - `docker pull alterway/php:7.4-fpm` - PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` -- PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` +- PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` [DEPRECATED] - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` [DEPRECATED] - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` [DEPRECATED] - PHP-FPM 5.6 (docker tags: `5.6-fpm`) - `docker pull alterway/php:5.6-fpm` [DEPRECATED] From 8c3258347d3fe571bb4b3b7fd2a52dbb0bd119ab Mon Sep 17 00:00:00 2001 From: "herve.leclerc" Date: Thu, 29 Apr 2021 17:21:16 +0000 Subject: [PATCH 40/42] Update .gitlab-ci.yml --- .gitlab-ci.yml | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a36c16f..6fa633e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,26 +1,38 @@ +variables: + # Debug and tracing. + #CI_DEBUG_TRACE: "true" + #GIT_CURL_VERBOSE: "1" + #GIT_DEBUG_LOOKUP: "1" + #GIT_TRACE: "1" + #GIT_TRACE_PACKET: "1" + #GIT_TRANSLOOP_DEBUG: "1" + #GIT_TRANSPORT_HELPER_DEBUG: "1" + + stages: - build - + .build_push_template: &build_push_definition stage: build only: - preprod - master script: - - docker build --pull -t $REGISTRY/php:$CI_JOB_NAME $CI_JOB_NAME/ >> /dev/null - - docker push $REGISTRY/php:$CI_JOB_NAME > /dev/null - - docker tag $REGISTRY/php:$CI_JOB_NAME $NAMESPACE/php:$CI_JOB_NAME > /dev/null - - docker push $NAMESPACE/php:$CI_JOB_NAME > /dev/null + - docker build --pull -t "$NAMESPACE/php:${CI_JOB_NAME}" "${CI_JOB_NAME}/" + - docker push "$NAMESPACE/php:${CI_JOB_NAME}" - | if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then - docker tag $REGISTRY/php:$CI_JOB_NAME $CI_REGISTRY_IMAGE:$CI_JOB_NAME > /dev/null - docker push $CI_REGISTRY_IMAGE:$CI_JOB_NAME > /dev/null + docker tag "$NAMESPACE/php:${CI_JOB_NAME}" "$CI_REGISTRY_IMAGE:${CI_JOB_NAME}" + docker push "$CI_REGISTRY_IMAGE:${CI_JOB_NAME}" fi before_script: - - if [[ "$CI_BUILD_REF_NAME" != master ]]; then REGISTRY="$REGISTRY/$CI_BUILD_REF_NAME"; fi - - if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY; fi - - NAMESPACE=$REGISTRY/library + #- if [[ "$CI_BUILD_REF_NAME" != master ]]; then echo $AW_REGISTRY_PASSWORD | docker login -u "$AW_REGISTRY_USER" --password-stdin $AW_REGISTRY; AW_REGISTRY="$AW_REGISTRY/$CI_BUILD_REF_NAME"; fi + #- if [[ "$CI_BUILD_REF_NAME" = "master" ]]; then docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY; fi + - echo $AW_REGISTRY_PASSWORD | docker login -u "$AW_REGISTRY_USER" --password-stdin $AW_REGISTRY + - echo $CI_REGISTRY_PASSWORD | docker login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY + + - export NAMESPACE=$AW_REGISTRY/library 8.0-fpm: <<: *build_push_definition @@ -62,4 +74,4 @@ before_script: <<: *build_push_definition 7.3-cli: - <<: *build_push_definition \ No newline at end of file + <<: *build_push_definition From 6f176ca3285c139421f395ef960951ce5aeab2d8 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Thu, 24 Feb 2022 17:30:56 +0100 Subject: [PATCH 41/42] add php 8.1 --- .gitlab-ci.yml | 33 ++++-------- 8.1-apache/Dockerfile | 90 +++++++++++++++++++++++++++++++++ 8.1-apache/docker-entrypoint.sh | 84 ++++++++++++++++++++++++++++++ 8.1-cli/Dockerfile | 82 ++++++++++++++++++++++++++++++ 8.1-cli/docker-entrypoint.sh | 78 ++++++++++++++++++++++++++++ 8.1-fpm/Dockerfile | 87 +++++++++++++++++++++++++++++++ 8.1-fpm/docker-entrypoint.sh | 83 ++++++++++++++++++++++++++++++ README.md | 6 ++- doc-php-apache.md | 3 +- doc-php-cli.md | 3 +- doc-php-fpm.md | 3 +- 11 files changed, 523 insertions(+), 29 deletions(-) create mode 100644 8.1-apache/Dockerfile create mode 100755 8.1-apache/docker-entrypoint.sh create mode 100644 8.1-cli/Dockerfile create mode 100755 8.1-cli/docker-entrypoint.sh create mode 100644 8.1-fpm/Dockerfile create mode 100755 8.1-fpm/docker-entrypoint.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6fa633e..c5ac100 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -34,44 +34,29 @@ before_script: - export NAMESPACE=$AW_REGISTRY/library -8.0-fpm: - <<: *build_push_definition - -8.0-apache: - <<: *build_push_definition - -8.0-cli: - <<: *build_push_definition - -7.4-fpm: - <<: *build_push_definition - -7.4-apache: +8.1-fpm: <<: *build_push_definition -7.4-cli: +8.1-apache: <<: *build_push_definition -7.3-fpm-posix-stretch: - <<: *build_push_definition - -7.3-fpm-stretch: +8.1-cli: <<: *build_push_definition -7.3-apache-stretch: +8.0-fpm: <<: *build_push_definition -7.3-cli-stretch: +8.0-apache: <<: *build_push_definition -7.3-fpm-posix: +8.0-cli: <<: *build_push_definition -7.3-fpm: +7.4-fpm: <<: *build_push_definition -7.3-apache: +7.4-apache: <<: *build_push_definition -7.3-cli: +7.4-cli: <<: *build_push_definition diff --git a/8.1-apache/Dockerfile b/8.1-apache/Dockerfile new file mode 100644 index 0000000..56a1a4f --- /dev/null +++ b/8.1-apache/Dockerfile @@ -0,0 +1,90 @@ +FROM php:8.1-apache +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.10.25/composer.phar -O /usr/local/bin/composer1 && \ + wget https://getcomposer.org/download/2.2.6/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer1 + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/81 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV HTTPD_CONF_DIR /etc/apache2/conf-enabled/ +ENV HTTPD__DocumentRoot /var/www/html +ENV HTTPD__LogFormat '"%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" common' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + sed -i "s/DocumentRoot.*/DocumentRoot \${HTTPD__DocumentRoot}/" /etc/apache2/apache2.conf && \ + echo 'ServerName ${HOSTNAME}' > $HTTPD_CONF_DIR/00-default.conf && \ + echo 'ServerSignature Off' > /etc/apache2/conf-enabled/z-security.conf && \ + echo 'ServerTokens Minimal' >> /etc/apache2/conf-enabled/z-security.conf && \ + touch /etc/msmtprc && chmod a+w -R $HTTPD_CONF_DIR/ /etc/apache2/mods-enabled $PHP_INI_DIR/ /etc/msmtprc && \ + rm /etc/apache2/sites-enabled/000-default.conf + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/8.1-apache/docker-entrypoint.sh b/8.1-apache/docker-entrypoint.sh new file mode 100755 index 0000000..ef62ce5 --- /dev/null +++ b/8.1-apache/docker-entrypoint.sh @@ -0,0 +1,84 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R /etc/apache2/ $PHP_INI_DIR/ +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# APACHE + +if [ ! -d "$HTTPD__DocumentRoot" ]; then echo >&2 "[Error] Document Root Directory not exist (please create $HTTPD__DocumentRoot)"; exit 1; fi +if [ "$HTTPD_a2enmod" != "" ]; then a2enmod $HTTPD_a2enmod > /dev/null; fi; +set_conf "HTTPD__" "$HTTPD_CONF_DIR/40-user.conf" "" + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# +# Run + +if [[ ! -z "$1" ]]; then + exec ${*} +else + exec apache2-foreground +fi diff --git a/8.1-cli/Dockerfile b/8.1-cli/Dockerfile new file mode 100644 index 0000000..c746a70 --- /dev/null +++ b/8.1-cli/Dockerfile @@ -0,0 +1,82 @@ +FROM php:8.1-cli +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.10.25/composer.phar -O /usr/local/bin/composer1 && \ + wget https://getcomposer.org/download/2.2.6/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer1 + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/81 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/8.1-cli/docker-entrypoint.sh b/8.1-cli/docker-entrypoint.sh new file mode 100755 index 0000000..321dd55 --- /dev/null +++ b/8.1-cli/docker-entrypoint.sh @@ -0,0 +1,78 @@ +#!/bin/bash +set -e + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ +fi + +# +# functions + +function set_conf { + echo ''>$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + + +# +# Run + +if [[ ! -z "$1" ]]; then + exec php ${*} +else + exec php -h +fi diff --git a/8.1-fpm/Dockerfile b/8.1-fpm/Dockerfile new file mode 100644 index 0000000..e062f7f --- /dev/null +++ b/8.1-fpm/Dockerfile @@ -0,0 +1,87 @@ +FROM php:8.1-fpm +LABEL maintainer="Alterway " + +RUN apt-get update && \ + apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libgmp-dev \ + libxml2-dev \ + zlib1g-dev \ + libncurses5-dev \ + libldb-dev \ + libldap2-dev \ + libicu-dev \ + libmemcached-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libsqlite3-dev \ + libzip-dev \ + libonig-dev \ + curl \ + msmtp \ + mariadb-client \ + git \ + subversion \ + wget && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://getcomposer.org/download/1.10.25/composer.phar -O /usr/local/bin/composer1 && \ + wget https://getcomposer.org/download/2.2.6/composer.phar -O /usr/local/bin/composer && \ + chmod a+rx /usr/local/bin/composer /usr/local/bin/composer1 + +RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ + ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so && \ + ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so && \ + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \ + docker-php-ext-install ldap && \ + docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd && \ + docker-php-ext-install pdo_mysql && \ + docker-php-ext-configure mysqli --with-mysqli=mysqlnd && \ + docker-php-ext-install mysqli && \ + docker-php-ext-install pdo_sqlite && \ + docker-php-ext-configure gd --with-freetype --with-jpeg && \ + docker-php-ext-install gd && \ + docker-php-ext-install soap && \ + docker-php-ext-install intl && \ + docker-php-ext-install gmp && \ + docker-php-ext-install bcmath && \ + docker-php-ext-install mbstring && \ + docker-php-ext-install zip && \ + docker-php-ext-install pcntl && \ + docker-php-ext-install ftp && \ + docker-php-ext-install sockets && \ + pecl install mongodb && \ + pecl install memcached && \ + pecl install redis && \ + pecl install xdebug + +ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ + cd /tmp/zlib-1.2.11 && \ + ./configure --prefix=/usr/local/zlib && \ + make && make install && \ + rm -Rf /tmp/zlib-1.2.11 && \ + rm /tmp/zlib.tar.gz + +ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/81 /tmp/blackfire-probe.tar.gz +RUN tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \ + mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so && \ + rm /tmp/blackfire-probe.tar.gz + +ENV LOCALTIME Europe/Paris +ENV PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"' + +RUN rm $PHP_INI_DIR/conf.d/docker-php-ext* && \ + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \ + echo "\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \ + mkdir -p /usr/local/etc/php-fpm.d && \ + touch /etc/msmtprc && chmod a+w -R $PHP_INI_DIR/conf.d/ /etc/msmtprc /usr/local/etc/php-fpm.d/ + +COPY docker-entrypoint.sh /entrypoint.sh + +WORKDIR /var/www + +ENTRYPOINT ["/entrypoint.sh"] +CMD ["php-fpm"] + diff --git a/8.1-fpm/docker-entrypoint.sh b/8.1-fpm/docker-entrypoint.sh new file mode 100755 index 0000000..8ad787e --- /dev/null +++ b/8.1-fpm/docker-entrypoint.sh @@ -0,0 +1,83 @@ +#!/bin/bash +set -e + + +if [ "$USER" = "root" ]; then + + # set localtime + ln -sf /usr/share/zoneinfo/$LOCALTIME /etc/localtime + + # secure path + chmod a-rwx -R $PHP_INI_DIR/conf.d/ /usr/local/etc/php-fpm.d/ +fi + +# +# functions +function set_conf { + echo "$4">$2; IFSO=$IFS; IFS=$(echo -en "\n\b") + for c in `printenv|grep $1`; do echo "`echo $c|cut -d "=" -f1|awk -F"$1" '{print $2}'` $3 `echo $c|cut -d "=" -f2`" >> $2; done; + IFS=$IFSO +} + +# +# PHP + +echo "date.timezone = \"${LOCALTIME}\"" >> $PHP_INI_DIR/conf.d/00-default.ini +if [ "$PHP_php5enmod" != "" ]; then docker-php-ext-enable $PHP_php5enmod > /dev/null 2>&1; fi; + +# Set php.ini +set_conf "PHP__" "$PHP_INI_DIR/conf.d/40-user.ini" "=" + +# Set phpfpm.conf +set_conf "PHPFPM_GLOBAL__" "/usr/local/etc/php-fpm.d/40-user-global.conf" "=" "[global]" +set_conf "PHPFPM__" "/usr/local/etc/php-fpm.d/41-user-pool.conf" "=" "[www]" + +if [ -f /usr/local/etc/php-fpm.d/www.conf ]; then + mv /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/00-www.conf +fi + +# +# docker links + +# Deprecated - Set memcached server with link +if [ -n "$PHP_MEMCACHED_PORT_11211_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo "session.save_handler = memcached" > $PHP_INI_DIR/conf.d/20-memcached.ini + echo "session.save_path = $PHP_MEMCACHED_PORT_11211_TCP_ADDR:$PHP_MEMCACHED_PORT_11211_TCP_PORT" >> $PHP_INI_DIR/conf.d/20-memcached.ini +elif [ -f $PHP_INI_DIR/conf.d/20-memcached.ini ]; then + rm $PHP_INI_DIR/conf.d/20-memcached.ini +fi + +# Deprecated - Set msmtp server with link +if [ -n "$SMTP_PORT_25_TCP_ADDR" ]; then + echo "[WARNING] Deprecated - Future versions of Docker will not support links - you should remove them for forwards-compatibility." + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${$SMTP_PORT_25_TCP_ADDR} \nport ${$SMTP_PORT_25_TCP_PORT} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + +# Set memcached session save handle +if [ -n "$MEMCACHED" ]; then + if [ ! -f $PHP_INI_DIR/conf.d/docker-php-ext-memcached.ini ]; then docker-php-ext-enable memcached > /dev/null; fi + + IFSO=$IFS; IFS=' ' read -ra BACKENDS <<< "${MEMCACHED}" + for BACKEND in "${BACKENDS[@]}"; do + SAVE_PATH="${SAVE_PATH}${BACKEND}?${MEMCACHED_CONFIG:-persistent=1&timeout=5&retry_interval=30}," + done; IFS=$IFSO; + +cat << EOF >> $PHP_INI_DIR/conf.d/20-memcached.ini + session.save_handler = memcached + session.save_path = "${SAVE_PATH}" +EOF + +fi + +# Set msmtp server +if [ -n "$SMTP" ]; then + echo 'sendmail_path = /usr/bin/msmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini + echo -e "defaults \nauth off \ntls off \nlogfile ~/.msmtp.log \naccount mailcatcher \nhost ${SMTP} \nport ${SMTP_PORT:-25} \nauto_from on \naccount default : mailcatcher" > /etc/msmtprc +fi + + +# +# Run +exec "$@" \ No newline at end of file diff --git a/README.md b/README.md index 70b90ad..ae19000 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,10 @@ Please see [README-php-cli.md](doc-php-cli.md) +- PHP-CLI 8.1 (docker tags: `8.1-cli`) - `docker pull alterway/php:8.1-cli` - PHP-CLI 8.0 (docker tags: `8.0-cli`) - `docker pull alterway/php:8.0-cli` - PHP-CLI 7.4 (docker tags: `7.4-cli`) - `docker pull alterway/php:7.4-cli` -- PHP-CLI 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` +- PHP-CLI 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` [DEPRECATED] - PHP-CLI 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` [DEPRECATED] - PHP-CLI 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` [DEPRECATED] - PHP-CLI 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` [DEPRECATED] @@ -20,9 +21,10 @@ Please see [README-php-cli.md](doc-php-cli.md) Please see [README-php-fpm.md](doc-php-fpm.md) +- PHP-FPM 8.1 (docker tags: `8.1-fpm`) - `docker pull alterway/php:8.1-fpm` - PHP-FPM 8.0 (docker tags: `8.0-fpm`) - `docker pull alterway/php:8.0-fpm` - PHP-FPM 7.4 (docker tags: `7.4-fpm`) - `docker pull alterway/php:7.4-fpm` -- PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` +- PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` [DEPRECATED] - PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` [DEPRECATED] - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` [DEPRECATED] - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` [DEPRECATED] diff --git a/doc-php-apache.md b/doc-php-apache.md index 55cf7f7..7431480 100644 --- a/doc-php-apache.md +++ b/doc-php-apache.md @@ -2,9 +2,10 @@ ## Version available +- Apache/2.4 - PHP/8.1 (docker tags: `8.1-apache`) - `docker pull alterway/php:8.1-apache` - Apache/2.4 - PHP/8.0 (docker tags: `8.0-apache`) - `docker pull alterway/php:8.0-apache` - Apache/2.4 - PHP/7.4 (docker tags: `7.4-apache`) - `docker pull alterway/php:7.4-apache` -- Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` +- Apache/2.4 - PHP/7.3 (docker tags: `7.3-apache`) - `docker pull alterway/php:7.3-apache` [DEPRECATED] - Apache/2.4 - PHP/7.2 (docker tags: `7.2-apache`) - `docker pull alterway/php:7.2-apache` [DEPRECATED] - Apache/2.4 - PHP/7.1 (docker tags: `7.1-apache`) - `docker pull alterway/php:7.1-apache` [DEPRECATED] - Apache/2.4 - PHP/7.0 (docker tags: `7.0-apache`) - `docker pull alterway/php:7.0-apache` [DEPRECATED] diff --git a/doc-php-cli.md b/doc-php-cli.md index 012fab3..67ff248 100644 --- a/doc-php-cli.md +++ b/doc-php-cli.md @@ -2,9 +2,10 @@ ## Version available +- PHP 8.1 (docker tags: `8.1-cli`) - `docker pull alterway/php:8.1-cli` - PHP 8.0 (docker tags: `8.0-cli`) - `docker pull alterway/php:8.0-cli` - PHP 7.4 (docker tags: `7.4-cli`) - `docker pull alterway/php:7.4-cli` -- PHP 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` +- PHP 7.3 (docker tags: `7.3-cli`) - `docker pull alterway/php:7.3-cli` [DEPRECATED] - PHP 7.2 (docker tags: `7.2-cli`) - `docker pull alterway/php:7.2-cli` [DEPRECATED] - PHP 7.1 (docker tags: `7.1-cli`) - `docker pull alterway/php:7.1-cli` [DEPRECATED] - PHP 7.0 (docker tags: `7.0-cli`) - `docker pull alterway/php:7.0-cli` [DEPRECATED] diff --git a/doc-php-fpm.md b/doc-php-fpm.md index 335b8c1..c3c6387 100644 --- a/doc-php-fpm.md +++ b/doc-php-fpm.md @@ -2,9 +2,10 @@ ## Version available +- PHP-FPM 8.1 (docker tags: `8.1-fpm`) - `docker pull alterway/php:8.1-fpm` - PHP-FPM 8.0 (docker tags: `8.0-fpm`) - `docker pull alterway/php:8.0-fpm` - PHP-FPM 7.4 (docker tags: `7.4-fpm`) - `docker pull alterway/php:7.4-fpm` -- PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` +- PHP-FPM 7.3 (docker tags: `7.3-fpm`) - `docker pull alterway/php:7.3-fpm` [DEPRECATED] - PHP-FPM 7.2 (docker tags: `7.2-fpm`) - `docker pull alterway/php:7.2-fpm` [DEPRECATED] - PHP-FPM 7.1 (docker tags: `7.1-fpm`) - `docker pull alterway/php:7.1-fpm` [DEPRECATED] - PHP-FPM 7.0 (docker tags: `7.0-fpm`) - `docker pull alterway/php:7.0-fpm` [DEPRECATED] From c9d79b9264d7ab0268dc5506989636198afff013 Mon Sep 17 00:00:00 2001 From: Johann Brocail Date: Fri, 2 Sep 2022 10:27:07 +0200 Subject: [PATCH 42/42] fix build --- 7.4-apache/Dockerfile | 6 +++--- 7.4-cli/Dockerfile | 6 +++--- 7.4-fpm/Dockerfile | 6 +++--- 8.0-apache/Dockerfile | 6 +++--- 8.0-cli/Dockerfile | 6 +++--- 8.0-fpm/Dockerfile | 6 +++--- 8.1-apache/Dockerfile | 6 +++--- 8.1-cli/Dockerfile | 6 +++--- 8.1-fpm/Dockerfile | 6 +++--- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/7.4-apache/Dockerfile b/7.4-apache/Dockerfile index 3cb0c89..3e35f95 100644 --- a/7.4-apache/Dockerfile +++ b/7.4-apache/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/74 /tmp/blackfire-probe.tar.gz diff --git a/7.4-cli/Dockerfile b/7.4-cli/Dockerfile index d993f9a..2bceba8 100644 --- a/7.4-cli/Dockerfile +++ b/7.4-cli/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/74 /tmp/blackfire-probe.tar.gz diff --git a/7.4-fpm/Dockerfile b/7.4-fpm/Dockerfile index ffc74d3..cd2aff4 100644 --- a/7.4-fpm/Dockerfile +++ b/7.4-fpm/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/74 /tmp/blackfire-probe.tar.gz diff --git a/8.0-apache/Dockerfile b/8.0-apache/Dockerfile index de8f825..7489ff7 100644 --- a/8.0-apache/Dockerfile +++ b/8.0-apache/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/80 /tmp/blackfire-probe.tar.gz diff --git a/8.0-cli/Dockerfile b/8.0-cli/Dockerfile index eb76344..1aa3787 100644 --- a/8.0-cli/Dockerfile +++ b/8.0-cli/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/80 /tmp/blackfire-probe.tar.gz diff --git a/8.0-fpm/Dockerfile b/8.0-fpm/Dockerfile index 2ad57e7..44f4b19 100644 --- a/8.0-fpm/Dockerfile +++ b/8.0-fpm/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/80 /tmp/blackfire-probe.tar.gz diff --git a/8.1-apache/Dockerfile b/8.1-apache/Dockerfile index 56a1a4f..0db7ba8 100644 --- a/8.1-apache/Dockerfile +++ b/8.1-apache/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/81 /tmp/blackfire-probe.tar.gz diff --git a/8.1-cli/Dockerfile b/8.1-cli/Dockerfile index c746a70..7e4f73c 100644 --- a/8.1-cli/Dockerfile +++ b/8.1-cli/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/81 /tmp/blackfire-probe.tar.gz diff --git a/8.1-fpm/Dockerfile b/8.1-fpm/Dockerfile index e062f7f..f7c66bc 100644 --- a/8.1-fpm/Dockerfile +++ b/8.1-fpm/Dockerfile @@ -56,12 +56,12 @@ RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \ pecl install redis && \ pecl install xdebug -ADD http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz +ADD http://www.zlib.net/zlib-1.2.12.tar.gz /tmp/zlib.tar.gz RUN tar zxpf /tmp/zlib.tar.gz -C /tmp && \ - cd /tmp/zlib-1.2.11 && \ + cd /tmp/zlib-1.2.12 && \ ./configure --prefix=/usr/local/zlib && \ make && make install && \ - rm -Rf /tmp/zlib-1.2.11 && \ + rm -Rf /tmp/zlib-1.2.12 && \ rm /tmp/zlib.tar.gz ADD https://blackfire.io/api/v1/releases/probe/php/linux/amd64/81 /tmp/blackfire-probe.tar.gz