-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to Joomla! 3.8.6 #4121
Merged
Merged
Update to Joomla! 3.8.6 #4121
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Diff:diff --git a/_bashbrew-arches b/_bashbrew-arches
index dffd6b5..b4ea97d 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1,4 +1,12 @@
-joomla:apache-php7 @ amd64
-joomla:fpm @ amd64
-joomla:fpm-php7 @ amd64
-joomla:latest @ amd64
+joomla:php5.6 @ amd64
+joomla:php5.6-fpm @ amd64
+joomla:php5.6-fpm-alpine @ amd64
+joomla:php7.0 @ amd64
+joomla:php7.0-fpm @ amd64
+joomla:php7.0-fpm-alpine @ amd64
+joomla:php7.1 @ amd64
+joomla:php7.1-fpm @ amd64
+joomla:php7.1-fpm-alpine @ amd64
+joomla:php7.2 @ amd64
+joomla:php7.2-fpm @ amd64
+joomla:php7.2-fpm-alpine @ amd64
diff --git a/_bashbrew-list b/_bashbrew-list
index 165da99..1ab22ec 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,20 +1,80 @@
joomla:3
joomla:3-apache
-joomla:3-apache-php7
joomla:3-fpm
-joomla:3-fpm-php7
+joomla:3-fpm-alpine
+joomla:3-php5.6
+joomla:3-php5.6-apache
+joomla:3-php5.6-fpm
+joomla:3-php5.6-fpm-alpine
+joomla:3-php7.0
+joomla:3-php7.0-apache
+joomla:3-php7.0-fpm
+joomla:3-php7.0-fpm-alpine
+joomla:3-php7.1
+joomla:3-php7.1-apache
+joomla:3-php7.1-fpm
+joomla:3-php7.1-fpm-alpine
+joomla:3-php7.2
+joomla:3-php7.2-apache
+joomla:3-php7.2-fpm
+joomla:3-php7.2-fpm-alpine
joomla:3.8
joomla:3.8-apache
-joomla:3.8-apache-php7
joomla:3.8-fpm
-joomla:3.8-fpm-php7
-joomla:3.8.4
-joomla:3.8.4-apache
-joomla:3.8.4-apache-php7
-joomla:3.8.4-fpm
-joomla:3.8.4-fpm-php7
+joomla:3.8-fpm-alpine
+joomla:3.8-php5.6
+joomla:3.8-php5.6-apache
+joomla:3.8-php5.6-fpm
+joomla:3.8-php5.6-fpm-alpine
+joomla:3.8-php7.0
+joomla:3.8-php7.0-apache
+joomla:3.8-php7.0-fpm
+joomla:3.8-php7.0-fpm-alpine
+joomla:3.8-php7.1
+joomla:3.8-php7.1-apache
+joomla:3.8-php7.1-fpm
+joomla:3.8-php7.1-fpm-alpine
+joomla:3.8-php7.2
+joomla:3.8-php7.2-apache
+joomla:3.8-php7.2-fpm
+joomla:3.8-php7.2-fpm-alpine
+joomla:3.8.6
+joomla:3.8.6-apache
+joomla:3.8.6-fpm
+joomla:3.8.6-fpm-alpine
+joomla:3.8.6-php5.6
+joomla:3.8.6-php5.6-apache
+joomla:3.8.6-php5.6-fpm
+joomla:3.8.6-php5.6-fpm-alpine
+joomla:3.8.6-php7.0
+joomla:3.8.6-php7.0-apache
+joomla:3.8.6-php7.0-fpm
+joomla:3.8.6-php7.0-fpm-alpine
+joomla:3.8.6-php7.1
+joomla:3.8.6-php7.1-apache
+joomla:3.8.6-php7.1-fpm
+joomla:3.8.6-php7.1-fpm-alpine
+joomla:3.8.6-php7.2
+joomla:3.8.6-php7.2-apache
+joomla:3.8.6-php7.2-fpm
+joomla:3.8.6-php7.2-fpm-alpine
joomla:apache
-joomla:apache-php7
joomla:fpm
-joomla:fpm-php7
+joomla:fpm-alpine
joomla:latest
+joomla:php5.6
+joomla:php5.6-apache
+joomla:php5.6-fpm
+joomla:php5.6-fpm-alpine
+joomla:php7.0
+joomla:php7.0-apache
+joomla:php7.0-fpm
+joomla:php7.0-fpm-alpine
+joomla:php7.1
+joomla:php7.1-apache
+joomla:php7.1-fpm
+joomla:php7.1-fpm-alpine
+joomla:php7.2
+joomla:php7.2-apache
+joomla:php7.2-fpm
+joomla:php7.2-fpm-alpine
diff --git a/joomla_fpm-php7/Dockerfile b/joomla_php5.6-fpm-alpine/Dockerfile
old mode 100755
new mode 100644
similarity index 28%
copy from joomla_fpm-php7/Dockerfile
copy to joomla_php5.6-fpm-alpine/Dockerfile
index bc6b207..9c08789
--- a/joomla_fpm-php7/Dockerfile
+++ b/joomla_php5.6-fpm-alpine/Dockerfile
@@ -1,29 +1,75 @@
-FROM php:7.0-fpm
+FROM php:5.6-fpm-alpine
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
+# entrypoint.sh dependencies
+RUN apk add --no-cache \
+ bash
+
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ apk add --no-cache --virtual .build-deps \
+ alpine-sdk \
+ autoconf \
+ bzip2-dev \
+ libjpeg-turbo-dev \
+ libmcrypt-dev \
+ libpng-dev \
+ libmemcached-dev \
+ openldap-dev \
+ pcre-dev \
+ postgresql-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ docker-php-ext-configure ldap; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ pecl install \
+ APCu-4.0.11 \
+ memcached-2.2.0 \
+ redis-3.1.6 \
+ ; \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+ runDeps="$( \
+ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
+ | tr ',' '\n' \
+ | sort -u \
+ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
+ )"; \
+ apk add --virtual .joomla-phpext-rundeps $runDeps; \
+ apk del .build-deps
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php5.6-fpm-alpine/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php5.6-fpm-alpine/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php5.6-fpm-alpine/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php5.6-fpm-alpine/makedb.php
diff --git a/joomla_fpm/Dockerfile b/joomla_php5.6-fpm/Dockerfile
old mode 100755
new mode 100644
similarity index 26%
copy from joomla_fpm/Dockerfile
copy to joomla_php5.6-fpm/Dockerfile
index 8babde1..daa5144
--- a/joomla_fpm/Dockerfile
+++ b/joomla_php5.6-fpm/Dockerfile
@@ -5,25 +5,75 @@ LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmcrypt-dev \
+ libmemcached-dev \
+ libpng12-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-4.0.11 \
+ memcached-2.2.0 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_fpm-php7/docker-entrypoint.sh b/joomla_php5.6-fpm/docker-entrypoint.sh
similarity index 100%
rename from joomla_fpm-php7/docker-entrypoint.sh
rename to joomla_php5.6-fpm/docker-entrypoint.sh
diff --git a/joomla_fpm-php7/makedb.php b/joomla_php5.6-fpm/makedb.php
similarity index 100%
rename from joomla_fpm-php7/makedb.php
rename to joomla_php5.6-fpm/makedb.php
diff --git a/joomla_latest/Dockerfile b/joomla_php5.6/Dockerfile
old mode 100755
new mode 100644
similarity index 28%
copy from joomla_latest/Dockerfile
copy to joomla_php5.6/Dockerfile
index 17290ec..d58ca8e
--- a/joomla_latest/Dockerfile
+++ b/joomla_php5.6/Dockerfile
@@ -8,25 +8,75 @@ ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
RUN a2enmod rewrite
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmcrypt-dev \
+ libmemcached-dev \
+ libpng12-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-4.0.11 \
+ memcached-2.2.0 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_fpm/docker-entrypoint.sh b/joomla_php5.6/docker-entrypoint.sh
similarity index 100%
rename from joomla_fpm/docker-entrypoint.sh
rename to joomla_php5.6/docker-entrypoint.sh
diff --git a/joomla_fpm/makedb.php b/joomla_php5.6/makedb.php
similarity index 100%
rename from joomla_fpm/makedb.php
rename to joomla_php5.6/makedb.php
diff --git a/joomla_fpm/Dockerfile b/joomla_php7.0-fpm-alpine/Dockerfile
old mode 100755
new mode 100644
similarity index 28%
copy from joomla_fpm/Dockerfile
copy to joomla_php7.0-fpm-alpine/Dockerfile
index 8babde1..c6d3b09
--- a/joomla_fpm/Dockerfile
+++ b/joomla_php7.0-fpm-alpine/Dockerfile
@@ -1,29 +1,75 @@
-FROM php:5.6-fpm
+FROM php:7.0-fpm-alpine
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
+# entrypoint.sh dependencies
+RUN apk add --no-cache \
+ bash
+
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ apk add --no-cache --virtual .build-deps \
+ alpine-sdk \
+ autoconf \
+ bzip2-dev \
+ libjpeg-turbo-dev \
+ libmcrypt-dev \
+ libpng-dev \
+ libmemcached-dev \
+ openldap-dev \
+ pcre-dev \
+ postgresql-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ docker-php-ext-configure ldap; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+ runDeps="$( \
+ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
+ | tr ',' '\n' \
+ | sort -u \
+ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
+ )"; \
+ apk add --virtual .joomla-phpext-rundeps $runDeps; \
+ apk del .build-deps
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_latest/docker-entrypoint.sh b/joomla_php7.0-fpm-alpine/docker-entrypoint.sh
similarity index 100%
rename from joomla_latest/docker-entrypoint.sh
rename to joomla_php7.0-fpm-alpine/docker-entrypoint.sh
diff --git a/joomla_latest/makedb.php b/joomla_php7.0-fpm-alpine/makedb.php
similarity index 100%
rename from joomla_latest/makedb.php
rename to joomla_php7.0-fpm-alpine/makedb.php
diff --git a/joomla_fpm-php7/Dockerfile b/joomla_php7.0-fpm/Dockerfile
old mode 100755
new mode 100644
similarity index 26%
rename from joomla_fpm-php7/Dockerfile
rename to joomla_php7.0-fpm/Dockerfile
index bc6b207..c5e0d81
--- a/joomla_fpm-php7/Dockerfile
+++ b/joomla_php7.0-fpm/Dockerfile
@@ -5,25 +5,75 @@ LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmcrypt-dev \
+ libmemcached-dev \
+ libpng12-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.0-fpm/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.0-fpm/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.0-fpm/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.0-fpm/makedb.php
diff --git a/joomla_apache-php7/Dockerfile b/joomla_php7.0/Dockerfile
old mode 100755
new mode 100644
similarity index 28%
rename from joomla_apache-php7/Dockerfile
rename to joomla_php7.0/Dockerfile
index 8690bee..d08b866
--- a/joomla_apache-php7/Dockerfile
+++ b/joomla_php7.0/Dockerfile
@@ -8,25 +8,75 @@ ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
RUN a2enmod rewrite
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmcrypt-dev \
+ libmemcached-dev \
+ libpng12-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.0/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.0/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.0/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.0/makedb.php
diff --git a/joomla_fpm/Dockerfile b/joomla_php7.1-fpm-alpine/Dockerfile
old mode 100755
new mode 100644
similarity index 28%
copy from joomla_fpm/Dockerfile
copy to joomla_php7.1-fpm-alpine/Dockerfile
index 8babde1..bd7b129
--- a/joomla_fpm/Dockerfile
+++ b/joomla_php7.1-fpm-alpine/Dockerfile
@@ -1,29 +1,75 @@
-FROM php:5.6-fpm
+FROM php:7.1-fpm-alpine
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
+# entrypoint.sh dependencies
+RUN apk add --no-cache \
+ bash
+
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ apk add --no-cache --virtual .build-deps \
+ alpine-sdk \
+ autoconf \
+ bzip2-dev \
+ libjpeg-turbo-dev \
+ libmcrypt-dev \
+ libpng-dev \
+ libmemcached-dev \
+ openldap-dev \
+ pcre-dev \
+ postgresql-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ docker-php-ext-configure ldap; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+ runDeps="$( \
+ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
+ | tr ',' '\n' \
+ | sort -u \
+ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
+ )"; \
+ apk add --virtual .joomla-phpext-rundeps $runDeps; \
+ apk del .build-deps
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.1-fpm-alpine/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.1-fpm-alpine/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.1-fpm-alpine/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.1-fpm-alpine/makedb.php
diff --git a/joomla_fpm/Dockerfile b/joomla_php7.1-fpm/Dockerfile
old mode 100755
new mode 100644
similarity index 25%
copy from joomla_fpm/Dockerfile
copy to joomla_php7.1-fpm/Dockerfile
index 8babde1..cf53363
--- a/joomla_fpm/Dockerfile
+++ b/joomla_php7.1-fpm/Dockerfile
@@ -1,29 +1,79 @@
-FROM php:5.6-fpm
+FROM php:7.1-fpm
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmcrypt-dev \
+ libmemcached-dev \
+ libpng12-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.1-fpm/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.1-fpm/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.1-fpm/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.1-fpm/makedb.php
diff --git a/joomla_latest/Dockerfile b/joomla_php7.1/Dockerfile
old mode 100755
new mode 100644
similarity index 27%
copy from joomla_latest/Dockerfile
copy to joomla_php7.1/Dockerfile
index 17290ec..aea751b
--- a/joomla_latest/Dockerfile
+++ b/joomla_php7.1/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:5.6-apache
+FROM php:7.1-apache
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
@@ -8,25 +8,75 @@ ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
RUN a2enmod rewrite
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmcrypt-dev \
+ libmemcached-dev \
+ libpng12-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mcrypt \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.1/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.1/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.1/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.1/makedb.php
diff --git a/joomla_fpm/Dockerfile b/joomla_php7.2-fpm-alpine/Dockerfile
old mode 100755
new mode 100644
similarity index 29%
copy from joomla_fpm/Dockerfile
copy to joomla_php7.2-fpm-alpine/Dockerfile
index 8babde1..df70895
--- a/joomla_fpm/Dockerfile
+++ b/joomla_php7.2-fpm-alpine/Dockerfile
@@ -1,29 +1,73 @@
-FROM php:5.6-fpm
+FROM php:7.2-fpm-alpine
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
+# entrypoint.sh dependencies
+RUN apk add --no-cache \
+ bash
+
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ apk add --no-cache --virtual .build-deps \
+ alpine-sdk \
+ autoconf \
+ bzip2-dev \
+ libjpeg-turbo-dev \
+ libpng-dev \
+ libmemcached-dev \
+ openldap-dev \
+ pcre-dev \
+ postgresql-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ docker-php-ext-configure ldap; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+ runDeps="$( \
+ scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \
+ | tr ',' '\n' \
+ | sort -u \
+ | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
+ )"; \
+ apk add --virtual .joomla-phpext-rundeps $runDeps; \
+ apk del .build-deps
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.2-fpm-alpine/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.2-fpm-alpine/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.2-fpm-alpine/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.2-fpm-alpine/makedb.php
diff --git a/joomla_fpm/Dockerfile b/joomla_php7.2-fpm/Dockerfile
old mode 100755
new mode 100644
similarity index 26%
rename from joomla_fpm/Dockerfile
rename to joomla_php7.2-fpm/Dockerfile
index 8babde1..06d88e6
--- a/joomla_fpm/Dockerfile
+++ b/joomla_php7.2-fpm/Dockerfile
@@ -1,29 +1,77 @@
-FROM php:5.6-fpm
+FROM php:7.2-fpm
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmemcached-dev \
+ libpng-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.2-fpm/docker-entrypoint.sh
similarity index 100%
copy from joomla_apache-php7/docker-entrypoint.sh
copy to joomla_php7.2-fpm/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.2-fpm/makedb.php
similarity index 100%
copy from joomla_apache-php7/makedb.php
copy to joomla_php7.2-fpm/makedb.php
diff --git a/joomla_latest/Dockerfile b/joomla_php7.2/Dockerfile
old mode 100755
new mode 100644
similarity index 28%
rename from joomla_latest/Dockerfile
rename to joomla_php7.2/Dockerfile
index 17290ec..6723980
--- a/joomla_latest/Dockerfile
+++ b/joomla_php7.2/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:5.6-apache
+FROM php:7.2-apache
LABEL maintainer="Michael Babker <michael.babker@joomla.org> (@mbabker)"
# Disable remote database security requirements.
@@ -8,25 +8,73 @@ ENV JOOMLA_INSTALLATION_DISABLE_LOCALHOST_CHECK=1
RUN a2enmod rewrite
# Install PHP extensions
-RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libmcrypt-dev zip unzip && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
- && docker-php-ext-install gd
-RUN docker-php-ext-install mysqli
-RUN docker-php-ext-install mcrypt
-RUN docker-php-ext-install zip
+RUN set -ex; \
+ \
+ savedAptMark="$(apt-mark showmanual)"; \
+ \
+ apt-get update; \
+ apt-get install -y --no-install-recommends \
+ libbz2-dev \
+ libjpeg-dev \
+ libldap2-dev \
+ libmemcached-dev \
+ libpng-dev \
+ libpq-dev \
+ ; \
+ \
+ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
+ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
+ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \
+ docker-php-ext-install \
+ bz2 \
+ gd \
+ ldap \
+ mysqli \
+ pdo \
+ pdo_mysql \
+ pdo_pgsql \
+ pgsql \
+ zip \
+ ; \
+ \
+ pecl install \
+ APCu-5.1.10 \
+ memcached-3.0.4 \
+ redis-3.1.6 \
+ ; \
+ \
+ docker-php-ext-enable \
+ apcu \
+ memcached \
+ redis \
+ ; \
+ \
+# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
+ apt-mark auto '.*' > /dev/null; \
+ apt-mark manual $savedAptMark; \
+ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
+ | awk '/=>/ { print $3 }' \
+ | sort -u \
+ | xargs -r dpkg-query -S \
+ | cut -d: -f1 \
+ | sort -u \
+ | xargs -rt apt-mark manual; \
+ \
+ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
+ rm -rf /var/lib/apt/lists/*
VOLUME /var/www/html
# Define Joomla version and expected SHA1 signature
-ENV JOOMLA_VERSION 3.8.4
-ENV JOOMLA_SHA1 3d8a321e626cdf3823fc6bd62aee222fd12c19ec
+ENV JOOMLA_VERSION 3.8.6
+ENV JOOMLA_SHA1 769d86c00b3add41b1fa6c85f3ec823a07df88d1
# Download package and extract to web volume
-RUN curl -o joomla.zip -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.zip \
- && echo "$JOOMLA_SHA1 *joomla.zip" | sha1sum -c - \
+RUN curl -o joomla.tar.bz2 -SL https://github.com/joomla/joomla-cms/releases/download/${JOOMLA_VERSION}/Joomla_${JOOMLA_VERSION}-Stable-Full_Package.tar.bz2 \
+ && echo "$JOOMLA_SHA1 *joomla.tar.bz2" | sha1sum -c - \
&& mkdir /usr/src/joomla \
- && unzip joomla.zip -d /usr/src/joomla \
- && rm joomla.zip \
+ && tar -xf joomla.tar.bz2 -C /usr/src/joomla \
+ && rm joomla.tar.bz2 \
&& chown -R www-data:www-data /usr/src/joomla
# Copy init scripts and custom .htaccess
diff --git a/joomla_apache-php7/docker-entrypoint.sh b/joomla_php7.2/docker-entrypoint.sh
similarity index 100%
rename from joomla_apache-php7/docker-entrypoint.sh
rename to joomla_php7.2/docker-entrypoint.sh
diff --git a/joomla_apache-php7/makedb.php b/joomla_php7.2/makedb.php
similarity index 100%
rename from joomla_apache-php7/makedb.php
rename to joomla_php7.2/makedb.php |
|
LGTM Build test of #4121; 81abdd6; $ bashbrew build joomla:3.8.6-php5.6-apache
Building bashbrew/cache:e87b16d63a0b1824b4aa85ddf0dceac28f8dadc9010ede3d22d0fbfbe3b50c7c (joomla:3.8.6-php5.6-apache)
Tagging joomla:3.8.6-php5.6-apache
Tagging joomla:3.8-php5.6-apache
Tagging joomla:3-php5.6-apache
Tagging joomla:php5.6-apache
Tagging joomla:3.8.6-php5.6
Tagging joomla:3.8-php5.6
Tagging joomla:3-php5.6
Tagging joomla:php5.6
$ test/run.sh joomla:3.8.6-php5.6-apache
testing joomla:3.8.6-php5.6-apache
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php5.6-fpm
Building bashbrew/cache:ea583f3944616585977e454e0c79c4aa3a0b4cd58fc8b869c8bae6e44db6922b (joomla:3.8.6-php5.6-fpm)
Tagging joomla:3.8.6-php5.6-fpm
Tagging joomla:3.8-php5.6-fpm
Tagging joomla:3-php5.6-fpm
Tagging joomla:php5.6-fpm
$ test/run.sh joomla:3.8.6-php5.6-fpm
testing joomla:3.8.6-php5.6-fpm
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php5.6-fpm-alpine
Building bashbrew/cache:23b93ddcbea6e13d9816613bc164f06564830bd93f7da16c7c7dc431ee604837 (joomla:3.8.6-php5.6-fpm-alpine)
Tagging joomla:3.8.6-php5.6-fpm-alpine
Tagging joomla:3.8-php5.6-fpm-alpine
Tagging joomla:3-php5.6-fpm-alpine
Tagging joomla:php5.6-fpm-alpine
$ test/run.sh joomla:3.8.6-php5.6-fpm-alpine
testing joomla:3.8.6-php5.6-fpm-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php7.0-apache
Building bashbrew/cache:4dcef347b5943994d15423516f85ce01f5faedd69b21f73acc53d3f7fc9dc884 (joomla:3.8.6-php7.0-apache)
Tagging joomla:3.8.6-php7.0-apache
Tagging joomla:3.8-php7.0-apache
Tagging joomla:3-php7.0-apache
Tagging joomla:php7.0-apache
Tagging joomla:3.8.6-php7.0
Tagging joomla:3.8-php7.0
Tagging joomla:3-php7.0
Tagging joomla:php7.0
$ test/run.sh joomla:3.8.6-php7.0-apache
testing joomla:3.8.6-php7.0-apache
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php7.0-fpm
Building bashbrew/cache:9bf4acef93f20c6e9b7bf8c8bc150992fe94bbb65e706cfca0a9f9357192b5cc (joomla:3.8.6-php7.0-fpm)
Tagging joomla:3.8.6-php7.0-fpm
Tagging joomla:3.8-php7.0-fpm
Tagging joomla:3-php7.0-fpm
Tagging joomla:php7.0-fpm
$ test/run.sh joomla:3.8.6-php7.0-fpm
testing joomla:3.8.6-php7.0-fpm
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php7.0-fpm-alpine
Building bashbrew/cache:677715fe9d4d702f315edb509f177ff917cc7accc8d18f280aafe8d537739004 (joomla:3.8.6-php7.0-fpm-alpine)
Tagging joomla:3.8.6-php7.0-fpm-alpine
Tagging joomla:3.8-php7.0-fpm-alpine
Tagging joomla:3-php7.0-fpm-alpine
Tagging joomla:php7.0-fpm-alpine
$ test/run.sh joomla:3.8.6-php7.0-fpm-alpine
testing joomla:3.8.6-php7.0-fpm-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-apache
Building bashbrew/cache:faf7ede7bb08cf01f061a9fecc3d1d7d3f9c4e7c177e9231dd8c6772aa396fc6 (joomla:3.8.6-apache)
Tagging joomla:3.8.6-apache
Tagging joomla:3.8-apache
Tagging joomla:3-apache
Tagging joomla:apache
Tagging joomla:3.8.6
Tagging joomla:3.8
Tagging joomla:3
Tagging joomla:latest
Tagging joomla:3.8.6-php7.1-apache
Tagging joomla:3.8-php7.1-apache
Tagging joomla:3-php7.1-apache
Tagging joomla:php7.1-apache
Tagging joomla:3.8.6-php7.1
Tagging joomla:3.8-php7.1
Tagging joomla:3-php7.1
Tagging joomla:php7.1
$ test/run.sh joomla:3.8.6-apache
testing joomla:3.8.6-apache
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-fpm
Building bashbrew/cache:756e7250f70ca8908251423c68b4589846e4c692fc50f71c9892a65762b93bf7 (joomla:3.8.6-fpm)
Tagging joomla:3.8.6-fpm
Tagging joomla:3.8-fpm
Tagging joomla:3-fpm
Tagging joomla:fpm
Tagging joomla:3.8.6-php7.1-fpm
Tagging joomla:3.8-php7.1-fpm
Tagging joomla:3-php7.1-fpm
Tagging joomla:php7.1-fpm
$ test/run.sh joomla:3.8.6-fpm
testing joomla:3.8.6-fpm
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-fpm-alpine
Building bashbrew/cache:976aab18ab5b7396f51ded6f0a68d05d5452df3302a26fe037fd4e19b17330b7 (joomla:3.8.6-fpm-alpine)
Tagging joomla:3.8.6-fpm-alpine
Tagging joomla:3.8-fpm-alpine
Tagging joomla:3-fpm-alpine
Tagging joomla:fpm-alpine
Tagging joomla:3.8.6-php7.1-fpm-alpine
Tagging joomla:3.8-php7.1-fpm-alpine
Tagging joomla:3-php7.1-fpm-alpine
Tagging joomla:php7.1-fpm-alpine
$ test/run.sh joomla:3.8.6-fpm-alpine
testing joomla:3.8.6-fpm-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php7.2-apache
Building bashbrew/cache:e92b5b7ca5360765e92142bc302b7cf12cc5657048440b9636a83559e2a5f6cb (joomla:3.8.6-php7.2-apache)
Tagging joomla:3.8.6-php7.2-apache
Tagging joomla:3.8-php7.2-apache
Tagging joomla:3-php7.2-apache
Tagging joomla:php7.2-apache
Tagging joomla:3.8.6-php7.2
Tagging joomla:3.8-php7.2
Tagging joomla:3-php7.2
Tagging joomla:php7.2
$ test/run.sh joomla:3.8.6-php7.2-apache
testing joomla:3.8.6-php7.2-apache
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php7.2-fpm
Building bashbrew/cache:031cea8c27aaf5afbde4444b98727fe19211dbe2b87fe04544b97283f9f7e0f2 (joomla:3.8.6-php7.2-fpm)
Tagging joomla:3.8.6-php7.2-fpm
Tagging joomla:3.8-php7.2-fpm
Tagging joomla:3-php7.2-fpm
Tagging joomla:php7.2-fpm
$ test/run.sh joomla:3.8.6-php7.2-fpm
testing joomla:3.8.6-php7.2-fpm
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build joomla:3.8.6-php7.2-fpm-alpine
Building bashbrew/cache:cf8907b0752e6bbf937e66596684e4eed7a8978152a736b1bc7f8f04c361d67c (joomla:3.8.6-php7.2-fpm-alpine)
Tagging joomla:3.8.6-php7.2-fpm-alpine
Tagging joomla:3.8-php7.2-fpm-alpine
Tagging joomla:3-php7.2-fpm-alpine
Tagging joomla:php7.2-fpm-alpine
$ test/run.sh joomla:3.8.6-php7.2-fpm-alpine
testing joomla:3.8.6-php7.2-fpm-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.