From decc26fb250c0e9ff41c0424aa2462a64bb954fb Mon Sep 17 00:00:00 2001 From: Joseph Ferguson Date: Mon, 4 Dec 2023 13:02:22 -0800 Subject: [PATCH 1/2] Drop eol 9 series --- 9.5/php8.1/apache-bookworm/Dockerfile | 84 --------------------------- 9.5/php8.1/apache-bullseye/Dockerfile | 84 --------------------------- 9.5/php8.1/fpm-alpine3.17/Dockerfile | 73 ----------------------- 9.5/php8.1/fpm-alpine3.18/Dockerfile | 73 ----------------------- 9.5/php8.1/fpm-bookworm/Dockerfile | 84 --------------------------- 9.5/php8.1/fpm-bullseye/Dockerfile | 84 --------------------------- 9.5/php8.2/apache-bookworm/Dockerfile | 84 --------------------------- 9.5/php8.2/apache-bullseye/Dockerfile | 84 --------------------------- 9.5/php8.2/fpm-alpine3.17/Dockerfile | 73 ----------------------- 9.5/php8.2/fpm-alpine3.18/Dockerfile | 73 ----------------------- 9.5/php8.2/fpm-bookworm/Dockerfile | 84 --------------------------- 9.5/php8.2/fpm-bullseye/Dockerfile | 84 --------------------------- generate-stackbrew-library.sh | 4 +- versions.json | 18 ------ versions.sh | 4 +- 15 files changed, 3 insertions(+), 987 deletions(-) delete mode 100644 9.5/php8.1/apache-bookworm/Dockerfile delete mode 100644 9.5/php8.1/apache-bullseye/Dockerfile delete mode 100644 9.5/php8.1/fpm-alpine3.17/Dockerfile delete mode 100644 9.5/php8.1/fpm-alpine3.18/Dockerfile delete mode 100644 9.5/php8.1/fpm-bookworm/Dockerfile delete mode 100644 9.5/php8.1/fpm-bullseye/Dockerfile delete mode 100644 9.5/php8.2/apache-bookworm/Dockerfile delete mode 100644 9.5/php8.2/apache-bullseye/Dockerfile delete mode 100644 9.5/php8.2/fpm-alpine3.17/Dockerfile delete mode 100644 9.5/php8.2/fpm-alpine3.18/Dockerfile delete mode 100644 9.5/php8.2/fpm-bookworm/Dockerfile delete mode 100644 9.5/php8.2/fpm-bullseye/Dockerfile diff --git a/9.5/php8.1/apache-bookworm/Dockerfile b/9.5/php8.1/apache-bookworm/Dockerfile deleted file mode 100644 index 1ffd09c08..000000000 --- a/9.5/php8.1/apache-bookworm/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.1-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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.1/apache-bullseye/Dockerfile b/9.5/php8.1/apache-bullseye/Dockerfile deleted file mode 100644 index bd164c793..000000000 --- a/9.5/php8.1/apache-bullseye/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.1-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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.1/fpm-alpine3.17/Dockerfile b/9.5/php8.1/fpm-alpine3.17/Dockerfile deleted file mode 100644 index d7e8bf526..000000000 --- a/9.5/php8.1/fpm-alpine3.17/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.1-fpm-alpine3.17 - -# 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.1/fpm-alpine3.18/Dockerfile b/9.5/php8.1/fpm-alpine3.18/Dockerfile deleted file mode 100644 index 41f076b30..000000000 --- a/9.5/php8.1/fpm-alpine3.18/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.1-fpm-alpine3.18 - -# 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.1/fpm-bookworm/Dockerfile b/9.5/php8.1/fpm-bookworm/Dockerfile deleted file mode 100644 index b1c4319f3..000000000 --- a/9.5/php8.1/fpm-bookworm/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.1-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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.1/fpm-bullseye/Dockerfile b/9.5/php8.1/fpm-bullseye/Dockerfile deleted file mode 100644 index a7f262eb7..000000000 --- a/9.5/php8.1/fpm-bullseye/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.1-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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.2/apache-bookworm/Dockerfile b/9.5/php8.2/apache-bookworm/Dockerfile deleted file mode 100644 index 8c900ae70..000000000 --- a/9.5/php8.2/apache-bookworm/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from 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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.2/apache-bullseye/Dockerfile b/9.5/php8.2/apache-bullseye/Dockerfile deleted file mode 100644 index ec36077eb..000000000 --- a/9.5/php8.2/apache-bullseye/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from 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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.2/fpm-alpine3.17/Dockerfile b/9.5/php8.2/fpm-alpine3.17/Dockerfile deleted file mode 100644 index 746e50364..000000000 --- a/9.5/php8.2/fpm-alpine3.17/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.2-fpm-alpine3.17 - -# 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.2/fpm-alpine3.18/Dockerfile b/9.5/php8.2/fpm-alpine3.18/Dockerfile deleted file mode 100644 index 4ec4c0c2c..000000000 --- a/9.5/php8.2/fpm-alpine3.18/Dockerfile +++ /dev/null @@ -1,73 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from https://www.drupal.org/docs/system-requirements/php-requirements -FROM php:8.2-fpm-alpine3.18 - -# 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.2/fpm-bookworm/Dockerfile b/9.5/php8.2/fpm-bookworm/Dockerfile deleted file mode 100644 index d9f3515f5..000000000 --- a/9.5/php8.2/fpm-bookworm/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from 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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/9.5/php8.2/fpm-bullseye/Dockerfile b/9.5/php8.2/fpm-bullseye/Dockerfile deleted file mode 100644 index f6ef342df..000000000 --- a/9.5/php8.2/fpm-bullseye/Dockerfile +++ /dev/null @@ -1,84 +0,0 @@ -# -# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" -# -# PLEASE DO NOT EDIT IT DIRECTLY. -# - -# from 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); print 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/ - -# https://www.drupal.org/node/3060/release -ENV DRUPAL_VERSION 9.5.11 - -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/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index ac8fbd52a..9f140c602 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -2,14 +2,13 @@ set -Eeuo pipefail declare -A aliases=( - [9.5]='9' [10.1]='10 latest' [10.2-rc]='rc' ) defaultDebianSuite='bookworm' declare -A debianSuites=( - #[9.2]='buster' + #[10.0]='bullseye' ) defaultPhpVersion='php8.2' @@ -17,7 +16,6 @@ declare -A defaultPhpVersions=( # https://www.drupal.org/docs/7/system-requirements/php-requirements#php_required [7]='php8.1' # PHP 7.4 & 8.0 are EOL, so we don't have a choice but to update the default # https://www.drupal.org/docs/system-requirements/php-requirements - [9.5]='php8.1' ) self="$(basename "$BASH_SOURCE")" diff --git a/versions.json b/versions.json index 4768130dc..78a2b9f56 100644 --- a/versions.json +++ b/versions.json @@ -50,23 +50,5 @@ "fpm-alpine3.17" ], "version": "7.98" - }, - "9.5": { - "composer": { - "version": "2" - }, - "phpVersions": [ - "8.2", - "8.1" - ], - "variants": [ - "apache-bookworm", - "fpm-bookworm", - "apache-bullseye", - "fpm-bullseye", - "fpm-alpine3.18", - "fpm-alpine3.17" - ], - "version": "9.5.11" } } diff --git a/versions.sh b/versions.sh index bf5add3cf..77eb6e6bf 100755 --- a/versions.sh +++ b/versions.sh @@ -29,8 +29,8 @@ for version in "${versions[@]}"; do drupalRelease="${rcVersion%%.*}.x" ;; *) - # there is no https://updates.drupal.org/release-history/drupal/9.x - # (07/2020) current could also be used for 8.9, 9.x + # there is no https://updates.drupal.org/release-history/drupal/10.x + # (12/2023) current can be used for 10.x: "10.0.,10.1.,10.2." drupalRelease='current' ;; esac From 9df694cb38d4ed1e62cd3b5738f7e48bdf589ca8 Mon Sep 17 00:00:00 2001 From: Joseph Ferguson Date: Mon, 4 Dec 2023 13:05:10 -0800 Subject: [PATCH 2/2] Add 10.2-rc --- 10.2-rc/php8.2/apache-bookworm/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.2/apache-bullseye/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.2/fpm-alpine3.17/Dockerfile | 73 ++++++++++++++++++++ 10.2-rc/php8.2/fpm-alpine3.18/Dockerfile | 73 ++++++++++++++++++++ 10.2-rc/php8.2/fpm-bookworm/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.2/fpm-bullseye/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.3/apache-bookworm/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.3/apache-bullseye/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.3/fpm-alpine3.17/Dockerfile | 73 ++++++++++++++++++++ 10.2-rc/php8.3/fpm-alpine3.18/Dockerfile | 73 ++++++++++++++++++++ 10.2-rc/php8.3/fpm-bookworm/Dockerfile | 84 +++++++++++++++++++++++ 10.2-rc/php8.3/fpm-bullseye/Dockerfile | 84 +++++++++++++++++++++++ versions.json | 18 +++++ versions.sh | 5 +- 14 files changed, 986 insertions(+), 1 deletion(-) create mode 100644 10.2-rc/php8.2/apache-bookworm/Dockerfile create mode 100644 10.2-rc/php8.2/apache-bullseye/Dockerfile create mode 100644 10.2-rc/php8.2/fpm-alpine3.17/Dockerfile create mode 100644 10.2-rc/php8.2/fpm-alpine3.18/Dockerfile create mode 100644 10.2-rc/php8.2/fpm-bookworm/Dockerfile create mode 100644 10.2-rc/php8.2/fpm-bullseye/Dockerfile create mode 100644 10.2-rc/php8.3/apache-bookworm/Dockerfile create mode 100644 10.2-rc/php8.3/apache-bullseye/Dockerfile create mode 100644 10.2-rc/php8.3/fpm-alpine3.17/Dockerfile create mode 100644 10.2-rc/php8.3/fpm-alpine3.18/Dockerfile create mode 100644 10.2-rc/php8.3/fpm-bookworm/Dockerfile create mode 100644 10.2-rc/php8.3/fpm-bullseye/Dockerfile diff --git a/10.2-rc/php8.2/apache-bookworm/Dockerfile b/10.2-rc/php8.2/apache-bookworm/Dockerfile new file mode 100644 index 000000000..7a7689ac3 --- /dev/null +++ b/10.2-rc/php8.2/apache-bookworm/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.2/apache-bullseye/Dockerfile b/10.2-rc/php8.2/apache-bullseye/Dockerfile new file mode 100644 index 000000000..27d9afea9 --- /dev/null +++ b/10.2-rc/php8.2/apache-bullseye/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.2/fpm-alpine3.17/Dockerfile b/10.2-rc/php8.2/fpm-alpine3.17/Dockerfile new file mode 100644 index 000000000..f8af34047 --- /dev/null +++ b/10.2-rc/php8.2/fpm-alpine3.17/Dockerfile @@ -0,0 +1,73 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-alpine3.17 + +# 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.2/fpm-alpine3.18/Dockerfile b/10.2-rc/php8.2/fpm-alpine3.18/Dockerfile new file mode 100644 index 000000000..337352cf6 --- /dev/null +++ b/10.2-rc/php8.2/fpm-alpine3.18/Dockerfile @@ -0,0 +1,73 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.2-fpm-alpine3.18 + +# 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.2/fpm-bookworm/Dockerfile b/10.2-rc/php8.2/fpm-bookworm/Dockerfile new file mode 100644 index 000000000..1b68f7836 --- /dev/null +++ b/10.2-rc/php8.2/fpm-bookworm/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.2/fpm-bullseye/Dockerfile b/10.2-rc/php8.2/fpm-bullseye/Dockerfile new file mode 100644 index 000000000..7f8306cd5 --- /dev/null +++ b/10.2-rc/php8.2/fpm-bullseye/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.3/apache-bookworm/Dockerfile b/10.2-rc/php8.3/apache-bookworm/Dockerfile new file mode 100644 index 000000000..7ea0d7b87 --- /dev/null +++ b/10.2-rc/php8.3/apache-bookworm/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.3/apache-bullseye/Dockerfile b/10.2-rc/php8.3/apache-bullseye/Dockerfile new file mode 100644 index 000000000..e8f95f2e3 --- /dev/null +++ b/10.2-rc/php8.3/apache-bullseye/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.3/fpm-alpine3.17/Dockerfile b/10.2-rc/php8.3/fpm-alpine3.17/Dockerfile new file mode 100644 index 000000000..beb5a503c --- /dev/null +++ b/10.2-rc/php8.3/fpm-alpine3.17/Dockerfile @@ -0,0 +1,73 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-alpine3.17 + +# 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.3/fpm-alpine3.18/Dockerfile b/10.2-rc/php8.3/fpm-alpine3.18/Dockerfile new file mode 100644 index 000000000..8ad865220 --- /dev/null +++ b/10.2-rc/php8.3/fpm-alpine3.18/Dockerfile @@ -0,0 +1,73 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from https://www.drupal.org/docs/system-requirements/php-requirements +FROM php:8.3-fpm-alpine3.18 + +# 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.3/fpm-bookworm/Dockerfile b/10.2-rc/php8.3/fpm-bookworm/Dockerfile new file mode 100644 index 000000000..370c68101 --- /dev/null +++ b/10.2-rc/php8.3/fpm-bookworm/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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.2-rc/php8.3/fpm-bullseye/Dockerfile b/10.2-rc/php8.3/fpm-bullseye/Dockerfile new file mode 100644 index 000000000..02ea68431 --- /dev/null +++ b/10.2-rc/php8.3/fpm-bullseye/Dockerfile @@ -0,0 +1,84 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +# from 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); print 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/ + +# https://www.drupal.org/node/3060/release +ENV DRUPAL_VERSION 10.2.0-rc1 + +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 78a2b9f56..9f2e020b1 100644 --- a/versions.json +++ b/versions.json @@ -35,6 +35,24 @@ ], "version": "10.1.6" }, + "10.2-rc": { + "composer": { + "version": "2" + }, + "phpVersions": [ + "8.3", + "8.2" + ], + "variants": [ + "apache-bookworm", + "fpm-bookworm", + "apache-bullseye", + "fpm-bullseye", + "fpm-alpine3.18", + "fpm-alpine3.17" + ], + "version": "10.2.0-rc1" + }, "7": { "md5": "4139f0feecb44a53645242194809b73a", "phpVersions": [ diff --git a/versions.sh b/versions.sh index 77eb6e6bf..9c52e64f1 100755 --- a/versions.sh +++ b/versions.sh @@ -89,8 +89,11 @@ for version in "${versions[@]}"; do version: env.fullVersion, phpVersions: ( [ + # https://www.drupal.org/project/drupal/releases/10.2.0-rc1#php-deps + # Drupal now supports PHP 8.3 and recommends at least PHP 8.2. + if [ "7", "10.0", "10.1" ] | index(env.version) then empty else "8.3" end, "8.2", - "8.1", + if [ "7", "10.0", "10.1" ] | index(env.version) then "8.1" else empty end, # https://www.drupal.org/docs/system-requirements/php-requirements # https://www.drupal.org/docs/7/system-requirements/php-requirements empty