2019-11-29 19:02:45 +00:00
|
|
|
FROM php:7.4-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 set -ex; \
|
|
|
|
\
|
|
|
|
apk add --no-cache --virtual .build-deps \
|
|
|
|
$PHPIZE_DEPS \
|
|
|
|
autoconf \
|
|
|
|
bzip2-dev \
|
2020-08-09 14:50:54 +00:00
|
|
|
gmp-dev \
|
2019-11-29 19:02:45 +00:00
|
|
|
libjpeg-turbo-dev \
|
2020-08-09 14:50:54 +00:00
|
|
|
libmcrypt-dev \
|
2019-11-29 19:02:45 +00:00
|
|
|
libmemcached-dev \
|
|
|
|
libpng-dev \
|
|
|
|
libzip-dev \
|
|
|
|
openldap-dev \
|
|
|
|
pcre-dev \
|
|
|
|
postgresql-dev \
|
|
|
|
; \
|
|
|
|
\
|
2019-12-03 11:04:16 +00:00
|
|
|
docker-php-ext-configure gd --with-jpeg; \
|
2019-11-29 19:02:45 +00:00
|
|
|
docker-php-ext-configure ldap; \
|
|
|
|
docker-php-ext-install -j "$(nproc)" \
|
|
|
|
bz2 \
|
|
|
|
gd \
|
2020-08-09 14:50:54 +00:00
|
|
|
gmp \
|
2019-11-29 19:02:45 +00:00
|
|
|
ldap \
|
|
|
|
mysqli \
|
|
|
|
pdo_mysql \
|
|
|
|
pdo_pgsql \
|
|
|
|
pgsql \
|
|
|
|
zip \
|
|
|
|
; \
|
|
|
|
\
|
|
|
|
# pecl will claim success even if one install fails, so we need to perform each install separately
|
2019-11-29 22:11:53 +00:00
|
|
|
pecl install APCu-5.1.18; \
|
2020-08-09 14:50:54 +00:00
|
|
|
pecl install mcrypt-1.0.3; \
|
2019-12-03 23:03:46 +00:00
|
|
|
pecl install memcached-3.1.5; \
|
2019-11-29 19:02:45 +00:00
|
|
|
pecl install redis-4.3.0; \
|
|
|
|
\
|
|
|
|
docker-php-ext-enable \
|
|
|
|
apcu \
|
2020-08-09 14:50:54 +00:00
|
|
|
mcrypt \
|
2019-11-29 19:02:45 +00:00
|
|
|
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
|
2020-08-09 14:51:21 +00:00
|
|
|
ENV JOOMLA_VERSION 3.9.20
|
|
|
|
ENV JOOMLA_SHA512 ed885916525e202267c6508156f69dcc9f4688231906ebae1e2ae9f823c9221202f9b88b4ee1ebc26827ba0992fd5a9f3ecc3651bedab7399a078603ad68e5bf
|
2019-11-29 19:02:45 +00:00
|
|
|
|
|
|
|
# Download package and extract to web volume
|
|
|
|
RUN set -ex; \
|
|
|
|
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_SHA512 *joomla.tar.bz2" | sha512sum -c -; \
|
|
|
|
mkdir /usr/src/joomla; \
|
|
|
|
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
|
|
|
|
COPY docker-entrypoint.sh /entrypoint.sh
|
|
|
|
COPY makedb.php /makedb.php
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
CMD ["php-fpm"]
|