0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-04-16 09:26:08 +02:00

Add workaround and update php to 8.3

Signed-off-by: HowRuck <ertus123123@gmail.com>
This commit is contained in:
HowRuck 2024-12-16 11:26:57 +01:00
parent 035003969a
commit 7bc9f22463
No known key found for this signature in database
GPG key ID: A951D20CFB8BFE5C
13 changed files with 230 additions and 66 deletions

View file

@ -1,5 +1,8 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.2-apache-bookworm
FROM php:8.3-apache-bookworm
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -66,9 +69,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
pecl install -o redis-6.1.0; \
# pecl install imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -154,8 +170,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-28.0.14.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.2-fpm-alpine3.20
FROM php:8.3-fpm-alpine3.20
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -64,9 +64,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
# pecl install -o imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apk add --no-cache --virtual .git-build-deps git \
&& git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick \
&& cd /tmp/imagick \
&& git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} \
&& git checkout ${IMAGICK_COMMIT_HASH} \
&& sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH:0:7}/" php_imagick.h \
&& phpize && ./configure && make && make install; \
apk del .git-build-deps; \
cd && rm -r /tmp/imagick; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -132,8 +145,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-28.0.14.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,8 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.2-fpm-bookworm
FROM php:8.3-fpm-bookworm
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -66,9 +69,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
pecl install -o redis-6.1.0; \
# pecl install imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -139,8 +155,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-28.0.14.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,8 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.2-apache-bookworm
FROM php:8.3-apache-bookworm
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -66,9 +69,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
pecl install -o redis-6.1.0; \
# pecl install imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -154,8 +170,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.10.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.2-fpm-alpine3.20
FROM php:8.3-fpm-alpine3.20
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -64,9 +64,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
# pecl install -o imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apk add --no-cache --virtual .git-build-deps git \
&& git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick \
&& cd /tmp/imagick \
&& git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} \
&& git checkout ${IMAGICK_COMMIT_HASH} \
&& sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH:0:7}/" php_imagick.h \
&& phpize && ./configure && make && make install; \
apk del .git-build-deps; \
cd && rm -r /tmp/imagick; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -132,8 +145,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.10.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,8 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.2-fpm-bookworm
FROM php:8.3-fpm-bookworm
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -66,9 +69,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
pecl install -o redis-6.1.0; \
# pecl install imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -139,8 +155,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.10.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,8 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.2-apache-bookworm
FROM php:8.3-apache-bookworm
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -66,9 +69,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
pecl install -o redis-6.1.0; \
# pecl install imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -154,8 +170,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.4.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.2-fpm-alpine3.20
FROM php:8.3-fpm-alpine3.20
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -64,9 +64,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
# pecl install -o imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apk add --no-cache --virtual .git-build-deps git \
&& git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick \
&& cd /tmp/imagick \
&& git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} \
&& git checkout ${IMAGICK_COMMIT_HASH} \
&& sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH:0:7}/" php_imagick.h \
&& phpize && ./configure && make && make install; \
apk del .git-build-deps; \
cd && rm -r /tmp/imagick; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -132,8 +145,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.4.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -1,5 +1,8 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.2-fpm-bookworm
FROM php:8.3-fpm-bookworm
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -66,9 +69,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \
pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \
pecl install redis-6.1.0; \
pecl install -o redis-6.1.0; \
# pecl install imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \
@ -139,8 +155,8 @@ RUN set -ex; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.4.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
#gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
#gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \
tar -xjf nextcloud.tar.bz2 -C /usr/src/; \
gpgconf --kill all; \
rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \

View file

@ -63,9 +63,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-%%APCU_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%%; \
pecl install redis-%%REDIS_VERSION%%; \
# pecl install -o imagick-3.7.0; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apk add --no-cache --virtual .git-build-deps git \
&& git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick \
&& cd /tmp/imagick \
&& git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} \
&& git checkout ${IMAGICK_COMMIT_HASH} \
&& sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH:0:7}/" php_imagick.h \
&& phpize && ./configure && make && make install; \
apk del .git-build-deps; \
cd && rm -r /tmp/imagick; \
# <- End workaround
\
docker-php-ext-enable \
apcu \

View file

@ -1,5 +1,8 @@
FROM php:%%PHP_VERSION%%-%%VARIANT%%-%%DEBIAN_VERSION%%
# Define the commit hash for imagick as a variable
ARG IMAGICK_COMMIT_HASH=28f27044e435a2b203e32675e942eb8de620ee58
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
\
@ -65,9 +68,22 @@ RUN set -ex; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-%%APCU_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%%; \
pecl install redis-%%REDIS_VERSION%%; \
pecl install -o redis-%%REDIS_VERSION%%; \
# pecl install imagick-%%IMAGICK_VERSION%%; \
# Begin workaround ->
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
apt-get install -y --no-install-recommends git libmagickwand-dev && \
git clone https://github.com/imagick/imagick.git --depth 1 /tmp/imagick && \
cd /tmp/imagick && \
git fetch --depth 1 origin ${IMAGICK_COMMIT_HASH} && \
git checkout ${IMAGICK_COMMIT_HASH} && \
sed -i "s/@PACKAGE_VERSION@/git-${IMAGICK_COMMIT_HASH} | cut -c 1-7f/" php_imagick.h && \
phpize && ./configure && make && make install && \
cd && rm -r /tmp/imagick; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false git libmagickwand-dev; \
# <- End workaround
\
docker-php-ext-enable \
apcu \

View file

@ -10,7 +10,7 @@ declare -A debian_version=(
)
declare -A php_version=(
[default]='8.2'
[default]='8.3'
)
declare -A cmd=(

View file

@ -9,19 +9,19 @@
"variant": "apache",
"base": "debian",
"baseVersion": "bookworm",
"phpVersion": "8.2"
"phpVersion": "8.3"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bookworm",
"phpVersion": "8.2"
"phpVersion": "8.3"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.20",
"phpVersion": "8.2"
"phpVersion": "8.3"
}
}
},
@ -35,19 +35,19 @@
"variant": "apache",
"base": "debian",
"baseVersion": "bookworm",
"phpVersion": "8.2"
"phpVersion": "8.3"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bookworm",
"phpVersion": "8.2"
"phpVersion": "8.3"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.20",
"phpVersion": "8.2"
"phpVersion": "8.3"
}
}
},
@ -61,19 +61,19 @@
"variant": "apache",
"base": "debian",
"baseVersion": "bookworm",
"phpVersion": "8.2"
"phpVersion": "8.3"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bookworm",
"phpVersion": "8.2"
"phpVersion": "8.3"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.20",
"phpVersion": "8.2"
"phpVersion": "8.3"
}
}
}