From b0d485432ee3aa4cf7baa962c8fe013163c9b63b Mon Sep 17 00:00:00 2001 From: Christian Heusel Date: Thu, 27 Jun 2024 20:57:20 +0200 Subject: [PATCH] Update to 1.42.1 / 1.41.2 / 1.40.4 / 1.39.8 https://lists.wikimedia.org/hyperkitty/list/mediawiki-announce@lists.wikimedia.org/thread/PWE65Y3J4DLZNRTOLRKFMUKI5ZVNLWVI/ --- 1.39/apache/Dockerfile | 2 +- 1.39/fpm-alpine/Dockerfile | 2 +- 1.39/fpm/Dockerfile | 2 +- 1.40/apache/Dockerfile | 2 +- 1.40/fpm-alpine/Dockerfile | 2 +- 1.40/fpm/Dockerfile | 2 +- 1.41/apache/Dockerfile | 2 +- 1.41/fpm-alpine/Dockerfile | 2 +- 1.41/fpm/Dockerfile | 2 +- 1.42/apache/Dockerfile | 117 +++++++++++++++++++++++++++++++++++++ 1.42/fpm-alpine/Dockerfile | 89 ++++++++++++++++++++++++++++ 1.42/fpm/Dockerfile | 102 ++++++++++++++++++++++++++++++++ 12 files changed, 317 insertions(+), 9 deletions(-) create mode 100644 1.42/apache/Dockerfile create mode 100644 1.42/fpm-alpine/Dockerfile create mode 100644 1.42/fpm/Dockerfile diff --git a/1.39/apache/Dockerfile b/1.39/apache/Dockerfile index 6f6debe..be0739d 100644 --- a/1.39/apache/Dockerfile +++ b/1.39/apache/Dockerfile @@ -84,7 +84,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.39 -ENV MEDIAWIKI_VERSION 1.39.7 +ENV MEDIAWIKI_VERSION 1.39.8 # MediaWiki setup RUN set -eux; \ diff --git a/1.39/fpm-alpine/Dockerfile b/1.39/fpm-alpine/Dockerfile index 48e36fd..82f4a1d 100644 --- a/1.39/fpm-alpine/Dockerfile +++ b/1.39/fpm-alpine/Dockerfile @@ -59,7 +59,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.39 -ENV MEDIAWIKI_VERSION 1.39.7 +ENV MEDIAWIKI_VERSION 1.39.8 # MediaWiki setup RUN set -eux; \ diff --git a/1.39/fpm/Dockerfile b/1.39/fpm/Dockerfile index 4f7796e..b70936c 100644 --- a/1.39/fpm/Dockerfile +++ b/1.39/fpm/Dockerfile @@ -69,7 +69,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.39 -ENV MEDIAWIKI_VERSION 1.39.7 +ENV MEDIAWIKI_VERSION 1.39.8 # MediaWiki setup RUN set -eux; \ diff --git a/1.40/apache/Dockerfile b/1.40/apache/Dockerfile index dd0181e..519950f 100644 --- a/1.40/apache/Dockerfile +++ b/1.40/apache/Dockerfile @@ -84,7 +84,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.40 -ENV MEDIAWIKI_VERSION 1.40.3 +ENV MEDIAWIKI_VERSION 1.40.4 # MediaWiki setup RUN set -eux; \ diff --git a/1.40/fpm-alpine/Dockerfile b/1.40/fpm-alpine/Dockerfile index 514746b..08c99b9 100644 --- a/1.40/fpm-alpine/Dockerfile +++ b/1.40/fpm-alpine/Dockerfile @@ -59,7 +59,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.40 -ENV MEDIAWIKI_VERSION 1.40.3 +ENV MEDIAWIKI_VERSION 1.40.4 # MediaWiki setup RUN set -eux; \ diff --git a/1.40/fpm/Dockerfile b/1.40/fpm/Dockerfile index 897a274..833a027 100644 --- a/1.40/fpm/Dockerfile +++ b/1.40/fpm/Dockerfile @@ -69,7 +69,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.40 -ENV MEDIAWIKI_VERSION 1.40.3 +ENV MEDIAWIKI_VERSION 1.40.4 # MediaWiki setup RUN set -eux; \ diff --git a/1.41/apache/Dockerfile b/1.41/apache/Dockerfile index b00b057..dd981ca 100644 --- a/1.41/apache/Dockerfile +++ b/1.41/apache/Dockerfile @@ -84,7 +84,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.41 -ENV MEDIAWIKI_VERSION 1.41.1 +ENV MEDIAWIKI_VERSION 1.41.2 # MediaWiki setup RUN set -eux; \ diff --git a/1.41/fpm-alpine/Dockerfile b/1.41/fpm-alpine/Dockerfile index d0dad8d..86c4cfc 100644 --- a/1.41/fpm-alpine/Dockerfile +++ b/1.41/fpm-alpine/Dockerfile @@ -59,7 +59,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.41 -ENV MEDIAWIKI_VERSION 1.41.1 +ENV MEDIAWIKI_VERSION 1.41.2 # MediaWiki setup RUN set -eux; \ diff --git a/1.41/fpm/Dockerfile b/1.41/fpm/Dockerfile index 6189c47..3f21055 100644 --- a/1.41/fpm/Dockerfile +++ b/1.41/fpm/Dockerfile @@ -69,7 +69,7 @@ RUN set -eux; \ # Version ENV MEDIAWIKI_MAJOR_VERSION 1.41 -ENV MEDIAWIKI_VERSION 1.41.1 +ENV MEDIAWIKI_VERSION 1.41.2 # MediaWiki setup RUN set -eux; \ diff --git a/1.42/apache/Dockerfile b/1.42/apache/Dockerfile new file mode 100644 index 0000000..00a21f5 --- /dev/null +++ b/1.42/apache/Dockerfile @@ -0,0 +1,117 @@ +FROM php:8.1-apache + +# System dependencies +RUN set -eux; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + git \ + librsvg2-bin \ + imagemagick \ + # Required for SyntaxHighlighting + python3 \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install the PHP extensions we need +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libicu-dev \ + libonig-dev \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + calendar \ + intl \ + mbstring \ + mysqli \ + opcache \ + ; \ + \ + pecl install APCu-5.1.21; \ + docker-php-ext-enable \ + apcu \ + ; \ + rm -r /tmp/pear; \ + \ + # 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/* + +# Enable Short URLs +RUN set -eux; \ + a2enmod rewrite; \ + { \ + echo ""; \ + echo " RewriteEngine On"; \ + echo " RewriteCond %{REQUEST_FILENAME} !-f"; \ + echo " RewriteCond %{REQUEST_FILENAME} !-d"; \ + echo " RewriteRule ^ %{DOCUMENT_ROOT}/index.php [L]"; \ + echo ""; \ + } > "$APACHE_CONFDIR/conf-available/short-url.conf"; \ + a2enconf short-url + +# Enable AllowEncodedSlashes for VisualEditor +RUN sed -i "s/<\/VirtualHost>/\tAllowEncodedSlashes NoDecode\n<\/VirtualHost>/" "$APACHE_CONFDIR/sites-available/000-default.conf" + +# set recommended PHP.ini settings +# see https://secure.php.net/manual/en/opcache.installation.php +RUN { \ + echo 'opcache.memory_consumption=128'; \ + echo 'opcache.interned_strings_buffer=8'; \ + echo 'opcache.max_accelerated_files=4000'; \ + echo 'opcache.revalidate_freq=60'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +# SQLite Directory Setup +RUN set -eux; \ + mkdir -p /var/www/data; \ + chown -R www-data:www-data /var/www/data + +# Version +ENV MEDIAWIKI_MAJOR_VERSION 1.42 +ENV MEDIAWIKI_VERSION 1.42.1 + +# MediaWiki setup +RUN set -eux; \ + fetchDeps=" \ + gnupg \ + dirmngr \ + "; \ + apt-get update; \ + apt-get install -y --no-install-recommends $fetchDeps; \ + \ + curl -fSL "https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_MAJOR_VERSION}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz" -o mediawiki.tar.gz; \ + curl -fSL "https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_MAJOR_VERSION}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz.sig" -o mediawiki.tar.gz.sig; \ + export GNUPGHOME="$(mktemp -d)"; \ +# gpg key from https://www.mediawiki.org/keys/keys.txt + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \ + D7D6767D135A514BEB86E9BA75682B08E8A3FEC4 \ + 441276E9CCD15F44F6D97D18C119E1A64D70938E \ + F7F780D82EBFB8A56556E7EE82403E59F9F8CD79 \ + 1D98867E82982C8FE0ABC25F9B69B3109D3BB7B0 \ + ; \ + gpg --batch --verify mediawiki.tar.gz.sig mediawiki.tar.gz; \ + tar -x --strip-components=1 -f mediawiki.tar.gz; \ + gpgconf --kill all; \ + rm -r "$GNUPGHOME" mediawiki.tar.gz.sig mediawiki.tar.gz; \ + chown -R www-data:www-data extensions skins cache images; \ + \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ + rm -rf /var/lib/apt/lists/* + +CMD ["apache2-foreground"] diff --git a/1.42/fpm-alpine/Dockerfile b/1.42/fpm-alpine/Dockerfile new file mode 100644 index 0000000..c3abab2 --- /dev/null +++ b/1.42/fpm-alpine/Dockerfile @@ -0,0 +1,89 @@ +FROM php:8.1-fpm-alpine + +# System dependencies +RUN set -eux; \ + \ + apk add --no-cache \ + git \ + imagemagick \ + # Required for SyntaxHighlighting + python3 \ + ; + +# Install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + $PHPIZE_DEPS \ + icu-dev \ + oniguruma-dev \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + calendar \ + intl \ + mbstring \ + mysqli \ + opcache \ + ; \ + \ + pecl install APCu-5.1.21; \ + docker-php-ext-enable \ + apcu \ + ; \ + rm -r /tmp/pear; \ + \ + 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 --no-network --virtual .mediawiki-phpext-rundeps $runDeps; \ + apk del --no-network .build-deps + +# set recommended PHP.ini settings +# see https://secure.php.net/manual/en/opcache.installation.php +RUN { \ + echo 'opcache.memory_consumption=128'; \ + echo 'opcache.interned_strings_buffer=8'; \ + echo 'opcache.max_accelerated_files=4000'; \ + echo 'opcache.revalidate_freq=60'; \ + echo 'opcache.fast_shutdown=1'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +# SQLite Directory Setup +RUN set -eux; \ + mkdir -p /var/www/data; \ + chown -R www-data:www-data /var/www/data + +# Version +ENV MEDIAWIKI_MAJOR_VERSION 1.42 +ENV MEDIAWIKI_VERSION 1.42.1 + +# MediaWiki setup +RUN set -eux; \ + apk add --no-cache --virtual .fetch-deps \ + bzip2 \ + gnupg \ + ; \ + \ + curl -fSL "https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_MAJOR_VERSION}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz" -o mediawiki.tar.gz; \ + curl -fSL "https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_MAJOR_VERSION}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz.sig" -o mediawiki.tar.gz.sig; \ + export GNUPGHOME="$(mktemp -d)"; \ +# gpg key from https://www.mediawiki.org/keys/keys.txt + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \ + D7D6767D135A514BEB86E9BA75682B08E8A3FEC4 \ + 441276E9CCD15F44F6D97D18C119E1A64D70938E \ + F7F780D82EBFB8A56556E7EE82403E59F9F8CD79 \ + 1D98867E82982C8FE0ABC25F9B69B3109D3BB7B0 \ + ; \ + gpg --batch --verify mediawiki.tar.gz.sig mediawiki.tar.gz; \ + tar -x --strip-components=1 -f mediawiki.tar.gz; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" mediawiki.tar.gz.sig mediawiki.tar.gz; \ + chown -R www-data:www-data extensions skins cache images; \ + \ + apk del --no-network .fetch-deps + +CMD ["php-fpm"] diff --git a/1.42/fpm/Dockerfile b/1.42/fpm/Dockerfile new file mode 100644 index 0000000..e58964a --- /dev/null +++ b/1.42/fpm/Dockerfile @@ -0,0 +1,102 @@ +FROM php:8.1-fpm + +# System dependencies +RUN set -eux; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + git \ + librsvg2-bin \ + imagemagick \ + # Required for SyntaxHighlighting + python3 \ + ; \ + rm -rf /var/lib/apt/lists/* + +# Install the PHP extensions we need +RUN set -eux; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libicu-dev \ + libonig-dev \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + calendar \ + intl \ + mbstring \ + mysqli \ + opcache \ + ; \ + \ + pecl install APCu-5.1.21; \ + docker-php-ext-enable \ + apcu \ + ; \ + rm -r /tmp/pear; \ + \ + # 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/* + + +# set recommended PHP.ini settings +# see https://secure.php.net/manual/en/opcache.installation.php +RUN { \ + echo 'opcache.memory_consumption=128'; \ + echo 'opcache.interned_strings_buffer=8'; \ + echo 'opcache.max_accelerated_files=4000'; \ + echo 'opcache.revalidate_freq=60'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +# SQLite Directory Setup +RUN set -eux; \ + mkdir -p /var/www/data; \ + chown -R www-data:www-data /var/www/data + +# Version +ENV MEDIAWIKI_MAJOR_VERSION 1.42 +ENV MEDIAWIKI_VERSION 1.42.1 + +# MediaWiki setup +RUN set -eux; \ + fetchDeps=" \ + gnupg \ + dirmngr \ + "; \ + apt-get update; \ + apt-get install -y --no-install-recommends $fetchDeps; \ + \ + curl -fSL "https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_MAJOR_VERSION}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz" -o mediawiki.tar.gz; \ + curl -fSL "https://releases.wikimedia.org/mediawiki/${MEDIAWIKI_MAJOR_VERSION}/mediawiki-${MEDIAWIKI_VERSION}.tar.gz.sig" -o mediawiki.tar.gz.sig; \ + export GNUPGHOME="$(mktemp -d)"; \ +# gpg key from https://www.mediawiki.org/keys/keys.txt + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys \ + D7D6767D135A514BEB86E9BA75682B08E8A3FEC4 \ + 441276E9CCD15F44F6D97D18C119E1A64D70938E \ + F7F780D82EBFB8A56556E7EE82403E59F9F8CD79 \ + 1D98867E82982C8FE0ABC25F9B69B3109D3BB7B0 \ + ; \ + gpg --batch --verify mediawiki.tar.gz.sig mediawiki.tar.gz; \ + tar -x --strip-components=1 -f mediawiki.tar.gz; \ + gpgconf --kill all; \ + rm -r "$GNUPGHOME" mediawiki.tar.gz.sig mediawiki.tar.gz; \ + chown -R www-data:www-data extensions skins cache images; \ + \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ + rm -rf /var/lib/apt/lists/* + +CMD ["php-fpm"]