diff --git a/28/apache/Dockerfile b/28/apache/Dockerfile index 2060d4b0..343dcb98 100644 --- a/28/apache/Dockerfile +++ b/28/apache/Dockerfile @@ -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; \ @@ -171,4 +187,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["apache2-foreground"] +CMD ["apache2-foreground"] \ No newline at end of file diff --git a/28/fpm-alpine/Dockerfile b/28/fpm-alpine/Dockerfile index 02cd4a23..773b4313 100644 --- a/28/fpm-alpine/Dockerfile +++ b/28/fpm-alpine/Dockerfile @@ -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; \ @@ -147,4 +160,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] +CMD ["php-fpm"] \ No newline at end of file diff --git a/28/fpm/Dockerfile b/28/fpm/Dockerfile index 3bf63e27..47f92228 100644 --- a/28/fpm/Dockerfile +++ b/28/fpm/Dockerfile @@ -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; \ @@ -156,4 +172,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] +CMD ["php-fpm"] \ No newline at end of file diff --git a/29/apache/Dockerfile b/29/apache/Dockerfile index a4367003..0f12015e 100644 --- a/29/apache/Dockerfile +++ b/29/apache/Dockerfile @@ -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; \ @@ -171,4 +187,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["apache2-foreground"] +CMD ["apache2-foreground"] \ No newline at end of file diff --git a/29/fpm-alpine/Dockerfile b/29/fpm-alpine/Dockerfile index 4e147a5c..394ddbd3 100644 --- a/29/fpm-alpine/Dockerfile +++ b/29/fpm-alpine/Dockerfile @@ -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; \ @@ -147,4 +160,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] +CMD ["php-fpm"] \ No newline at end of file diff --git a/29/fpm/Dockerfile b/29/fpm/Dockerfile index d18949cd..edcc270a 100644 --- a/29/fpm/Dockerfile +++ b/29/fpm/Dockerfile @@ -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; \ @@ -156,4 +172,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] +CMD ["php-fpm"] \ No newline at end of file diff --git a/30/apache/Dockerfile b/30/apache/Dockerfile index 73ac6ccc..2f696297 100644 --- a/30/apache/Dockerfile +++ b/30/apache/Dockerfile @@ -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; \ @@ -171,4 +187,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["apache2-foreground"] +CMD ["apache2-foreground"] \ No newline at end of file diff --git a/30/fpm-alpine/Dockerfile b/30/fpm-alpine/Dockerfile index 52ea716c..c0ac5ef1 100644 --- a/30/fpm-alpine/Dockerfile +++ b/30/fpm-alpine/Dockerfile @@ -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; \ @@ -147,4 +160,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] +CMD ["php-fpm"] \ No newline at end of file diff --git a/30/fpm/Dockerfile b/30/fpm/Dockerfile index dfe49612..5912e173 100644 --- a/30/fpm/Dockerfile +++ b/30/fpm/Dockerfile @@ -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; \ @@ -156,4 +172,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] +CMD ["php-fpm"] \ No newline at end of file diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index de69eef2..5dd20382 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -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 \ @@ -146,4 +159,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["%%CMD%%"] +CMD ["%%CMD%%"] \ No newline at end of file diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 8b66dd34..3fdd71c0 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -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 \ @@ -155,4 +171,4 @@ COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ ENTRYPOINT ["/entrypoint.sh"] -CMD ["%%CMD%%"] +CMD ["%%CMD%%"] \ No newline at end of file diff --git a/update.sh b/update.sh index 6e576238..88def314 100755 --- a/update.sh +++ b/update.sh @@ -10,7 +10,7 @@ declare -A debian_version=( ) declare -A php_version=( - [default]='8.2' + [default]='8.3' ) declare -A cmd=( diff --git a/versions.json b/versions.json index ec8b3ca9..a240ecaa 100644 --- a/versions.json +++ b/versions.json @@ -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" } } }