From 21e8f7baa1bf58761ea68149c8210836bc69b472 Mon Sep 17 00:00:00 2001 From: Joseph Ferguson Date: Wed, 22 May 2024 16:55:49 -0700 Subject: [PATCH] Add 10.3 and 11.0 pre-releases --- 10.3-rc/php8.2/apache-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.2/apache-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.2/fpm-alpine3.19/Dockerfile | 80 ++++++++++++++++++++ 10.3-rc/php8.2/fpm-alpine3.20/Dockerfile | 80 ++++++++++++++++++++ 10.3-rc/php8.2/fpm-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.2/fpm-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.3/apache-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.3/apache-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.3/fpm-alpine3.19/Dockerfile | 80 ++++++++++++++++++++ 10.3-rc/php8.3/fpm-alpine3.20/Dockerfile | 80 ++++++++++++++++++++ 10.3-rc/php8.3/fpm-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 10.3-rc/php8.3/fpm-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.2/apache-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.2/apache-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.2/fpm-alpine3.19/Dockerfile | 80 ++++++++++++++++++++ 11.0-rc/php8.2/fpm-alpine3.20/Dockerfile | 80 ++++++++++++++++++++ 11.0-rc/php8.2/fpm-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.2/fpm-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.3/apache-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.3/apache-bullseye/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.3/fpm-alpine3.19/Dockerfile | 80 ++++++++++++++++++++ 11.0-rc/php8.3/fpm-alpine3.20/Dockerfile | 80 ++++++++++++++++++++ 11.0-rc/php8.3/fpm-bookworm/Dockerfile | 91 +++++++++++++++++++++++ 11.0-rc/php8.3/fpm-bullseye/Dockerfile | 91 +++++++++++++++++++++++ versions.json | 46 ++++++++++++ 25 files changed, 2142 insertions(+) create mode 100644 10.3-rc/php8.2/apache-bookworm/Dockerfile create mode 100644 10.3-rc/php8.2/apache-bullseye/Dockerfile create mode 100644 10.3-rc/php8.2/fpm-alpine3.19/Dockerfile create mode 100644 10.3-rc/php8.2/fpm-alpine3.20/Dockerfile create mode 100644 10.3-rc/php8.2/fpm-bookworm/Dockerfile create mode 100644 10.3-rc/php8.2/fpm-bullseye/Dockerfile create mode 100644 10.3-rc/php8.3/apache-bookworm/Dockerfile create mode 100644 10.3-rc/php8.3/apache-bullseye/Dockerfile create mode 100644 10.3-rc/php8.3/fpm-alpine3.19/Dockerfile create mode 100644 10.3-rc/php8.3/fpm-alpine3.20/Dockerfile create mode 100644 10.3-rc/php8.3/fpm-bookworm/Dockerfile create mode 100644 10.3-rc/php8.3/fpm-bullseye/Dockerfile create mode 100644 11.0-rc/php8.2/apache-bookworm/Dockerfile create mode 100644 11.0-rc/php8.2/apache-bullseye/Dockerfile create mode 100644 11.0-rc/php8.2/fpm-alpine3.19/Dockerfile create mode 100644 11.0-rc/php8.2/fpm-alpine3.20/Dockerfile create mode 100644 11.0-rc/php8.2/fpm-bookworm/Dockerfile create mode 100644 11.0-rc/php8.2/fpm-bullseye/Dockerfile create mode 100644 11.0-rc/php8.3/apache-bookworm/Dockerfile create mode 100644 11.0-rc/php8.3/apache-bullseye/Dockerfile create mode 100644 11.0-rc/php8.3/fpm-alpine3.19/Dockerfile create mode 100644 11.0-rc/php8.3/fpm-alpine3.20/Dockerfile create mode 100644 11.0-rc/php8.3/fpm-bookworm/Dockerfile create mode 100644 11.0-rc/php8.3/fpm-bullseye/Dockerfile diff --git a/10.3-rc/php8.2/apache-bookworm/Dockerfile b/10.3-rc/php8.2/apache-bookworm/Dockerfile new file mode 100644 index 00000000..b13418cc --- /dev/null +++ b/10.3-rc/php8.2/apache-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-apache-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.2/apache-bullseye/Dockerfile b/10.3-rc/php8.2/apache-bullseye/Dockerfile new file mode 100644 index 00000000..44ecea16 --- /dev/null +++ b/10.3-rc/php8.2/apache-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-apache-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.2/fpm-alpine3.19/Dockerfile b/10.3-rc/php8.2/fpm-alpine3.19/Dockerfile new file mode 100644 index 00000000..8ea0880d --- /dev/null +++ b/10.3-rc/php8.2/fpm-alpine3.19/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-alpine3.19 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.2/fpm-alpine3.20/Dockerfile b/10.3-rc/php8.2/fpm-alpine3.20/Dockerfile new file mode 100644 index 00000000..653a6f50 --- /dev/null +++ b/10.3-rc/php8.2/fpm-alpine3.20/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-alpine3.20 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.2/fpm-bookworm/Dockerfile b/10.3-rc/php8.2/fpm-bookworm/Dockerfile new file mode 100644 index 00000000..6ecb6227 --- /dev/null +++ b/10.3-rc/php8.2/fpm-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.2/fpm-bullseye/Dockerfile b/10.3-rc/php8.2/fpm-bullseye/Dockerfile new file mode 100644 index 00000000..4d822c6b --- /dev/null +++ b/10.3-rc/php8.2/fpm-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.3/apache-bookworm/Dockerfile b/10.3-rc/php8.3/apache-bookworm/Dockerfile new file mode 100644 index 00000000..9a17cc66 --- /dev/null +++ b/10.3-rc/php8.3/apache-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-apache-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.3/apache-bullseye/Dockerfile b/10.3-rc/php8.3/apache-bullseye/Dockerfile new file mode 100644 index 00000000..b31739ff --- /dev/null +++ b/10.3-rc/php8.3/apache-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-apache-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.3/fpm-alpine3.19/Dockerfile b/10.3-rc/php8.3/fpm-alpine3.19/Dockerfile new file mode 100644 index 00000000..f7daa224 --- /dev/null +++ b/10.3-rc/php8.3/fpm-alpine3.19/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-alpine3.19 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.3/fpm-alpine3.20/Dockerfile b/10.3-rc/php8.3/fpm-alpine3.20/Dockerfile new file mode 100644 index 00000000..de8a7916 --- /dev/null +++ b/10.3-rc/php8.3/fpm-alpine3.20/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-alpine3.20 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.3/fpm-bookworm/Dockerfile b/10.3-rc/php8.3/fpm-bookworm/Dockerfile new file mode 100644 index 00000000..492b51f9 --- /dev/null +++ b/10.3-rc/php8.3/fpm-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/10.3-rc/php8.3/fpm-bullseye/Dockerfile b/10.3-rc/php8.3/fpm-bullseye/Dockerfile new file mode 100644 index 00000000..4d3859fa --- /dev/null +++ b/10.3-rc/php8.3/fpm-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/10.3.0-beta1 +ENV DRUPAL_VERSION 10.3.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.2/apache-bookworm/Dockerfile b/11.0-rc/php8.2/apache-bookworm/Dockerfile new file mode 100644 index 00000000..3f4f49d4 --- /dev/null +++ b/11.0-rc/php8.2/apache-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-apache-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.2/apache-bullseye/Dockerfile b/11.0-rc/php8.2/apache-bullseye/Dockerfile new file mode 100644 index 00000000..8b5a9d2d --- /dev/null +++ b/11.0-rc/php8.2/apache-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-apache-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.2/fpm-alpine3.19/Dockerfile b/11.0-rc/php8.2/fpm-alpine3.19/Dockerfile new file mode 100644 index 00000000..9d38affb --- /dev/null +++ b/11.0-rc/php8.2/fpm-alpine3.19/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-alpine3.19 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.2/fpm-alpine3.20/Dockerfile b/11.0-rc/php8.2/fpm-alpine3.20/Dockerfile new file mode 100644 index 00000000..46a2b157 --- /dev/null +++ b/11.0-rc/php8.2/fpm-alpine3.20/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-alpine3.20 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.2/fpm-bookworm/Dockerfile b/11.0-rc/php8.2/fpm-bookworm/Dockerfile new file mode 100644 index 00000000..8c4e5749 --- /dev/null +++ b/11.0-rc/php8.2/fpm-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.2/fpm-bullseye/Dockerfile b/11.0-rc/php8.2/fpm-bullseye/Dockerfile new file mode 100644 index 00000000..e887fc83 --- /dev/null +++ b/11.0-rc/php8.2/fpm-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.3/apache-bookworm/Dockerfile b/11.0-rc/php8.3/apache-bookworm/Dockerfile new file mode 100644 index 00000000..804f8e7e --- /dev/null +++ b/11.0-rc/php8.3/apache-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-apache-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.3/apache-bullseye/Dockerfile b/11.0-rc/php8.3/apache-bullseye/Dockerfile new file mode 100644 index 00000000..9df297c1 --- /dev/null +++ b/11.0-rc/php8.3/apache-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-apache-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.3/fpm-alpine3.19/Dockerfile b/11.0-rc/php8.3/fpm-alpine3.19/Dockerfile new file mode 100644 index 00000000..e3f6d034 --- /dev/null +++ b/11.0-rc/php8.3/fpm-alpine3.19/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-alpine3.19 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.3/fpm-alpine3.20/Dockerfile b/11.0-rc/php8.3/fpm-alpine3.20/Dockerfile new file mode 100644 index 00000000..3929497e --- /dev/null +++ b/11.0-rc/php8.3/fpm-alpine3.20/Dockerfile @@ -0,0 +1,80 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-alpine3.20 + +# install the PHP extensions we need +RUN set -eux; \ + \ + apk add --no-cache --virtual .build-deps \ + coreutils \ + freetype-dev \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libzip-dev \ +# postgresql-dev is needed for https://bugs.alpinelinux.org/issues/3642 + postgresql-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr/include \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ + runDeps="$( \ + scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \ + | tr ',' '\n' \ + | sort -u \ + | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ + )"; \ + apk add --no-network --virtual .drupal-phpexts-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'; \ + } > /usr/local/etc/php/conf.d/opcache-recommended.ini + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.3/fpm-bookworm/Dockerfile b/11.0-rc/php8.3/fpm-bookworm/Dockerfile new file mode 100644 index 00000000..5a157adc --- /dev/null +++ b/11.0-rc/php8.3/fpm-bookworm/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-bookworm + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/11.0-rc/php8.3/fpm-bullseye/Dockerfile b/11.0-rc/php8.3/fpm-bullseye/Dockerfile new file mode 100644 index 00000000..94237776 --- /dev/null +++ b/11.0-rc/php8.3/fpm-bullseye/Dockerfile @@ -0,0 +1,91 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-bullseye + +# install the PHP extensions we need +RUN set -eux; \ + \ + if command -v a2enmod; then \ +# https://github.com/drupal/drupal/blob/d91d8d0a6d3ffe5f0b6dde8c2fbe81404843edc5/.htaccess (references both mod_expires and mod_rewrite explicitly) + a2enmod expires rewrite; \ + fi; \ + \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libfreetype6-dev \ + libjpeg-dev \ + libpng-dev \ + libpq-dev \ + libwebp-dev \ + libzip-dev \ + ; \ + \ + docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg=/usr \ + --with-webp \ + ; \ + \ + docker-php-ext-install -j "$(nproc)" \ + gd \ + opcache \ + pdo_mysql \ + pdo_pgsql \ + zip \ + ; \ + \ +# 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 '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' \ + | 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 + +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/ + +# 2024-05-17: https://www.drupal.org/project/drupal/releases/11.0.0-beta1 +ENV DRUPAL_VERSION 11.0.0-beta1 + +# https://github.com/docker-library/drupal/pull/259 +# https://github.com/moby/buildkit/issues/4503 +# https://github.com/composer/composer/issues/11839 +# https://github.com/composer/composer/issues/11854 +# https://github.com/composer/composer/blob/94fe2945456df51e122a492b8d14ac4b54c1d2ce/src/Composer/Console/Application.php#L217-L218 +ENV COMPOSER_ALLOW_SUPERUSER 1 + +WORKDIR /opt/drupal +RUN set -eux; \ + export COMPOSER_HOME="$(mktemp -d)"; \ + composer create-project --no-interaction "drupal/recommended-project:$DRUPAL_VERSION" ./; \ + chown -R www-data:www-data web/sites web/modules web/themes; \ + rmdir /var/www/html; \ + ln -sf /opt/drupal/web /var/www/html; \ + # delete composer cache + rm -rf "$COMPOSER_HOME" + +ENV PATH=${PATH}:/opt/drupal/vendor/bin + +# vim:set ft=dockerfile: diff --git a/versions.json b/versions.json index c22d55a5..811d88bb 100644 --- a/versions.json +++ b/versions.json @@ -1,4 +1,50 @@ { + "11.0-rc": { + "version": "11.0.0-beta1", + "url": "https://ftp.drupal.org/files/projects/drupal-11.0.0-beta1.tar.gz", + "md5": "ad403fb5d06c9b8173e1a71e96a159db", + "date": 1715953266, + "notes": "https://www.drupal.org/project/drupal/releases/11.0.0-beta1", + "phpVersions": [ + "8.3", + "8.2" + ], + "variants": [ + "apache-bookworm", + "fpm-bookworm", + "apache-bullseye", + "fpm-bullseye", + "fpm-alpine3.20", + "fpm-alpine3.19" + ], + "composer": { + "version": "2" + } + }, + "11.0": null, + "10.3-rc": { + "version": "10.3.0-beta1", + "url": "https://ftp.drupal.org/files/projects/drupal-10.3.0-beta1.tar.gz", + "md5": "84fad52fe56af8c61f6857eb526c3357", + "date": 1715953149, + "notes": "https://www.drupal.org/project/drupal/releases/10.3.0-beta1", + "phpVersions": [ + "8.3", + "8.2" + ], + "variants": [ + "apache-bookworm", + "fpm-bookworm", + "apache-bullseye", + "fpm-bullseye", + "fpm-alpine3.20", + "fpm-alpine3.19" + ], + "composer": { + "version": "2" + } + }, + "10.3": null, "10.2": { "version": "10.2.6", "url": "https://ftp.drupal.org/files/projects/drupal-10.2.6.tar.gz",