Add imagick php extension

There is a warning issued in Nextcloud 15 about 'imagick' php extension not
being present. They highly recommend that it be installed.

Fixes #574, fixes #263

Signed-off-by: Robert Dailey <rcdailey@gmail.com>
This commit is contained in:
Robert Dailey 2018-12-10 18:06:21 -06:00
parent 783232840a
commit 2f90715d31
No known key found for this signature in database
GPG Key ID: 97751323F0627314
15 changed files with 41 additions and 11 deletions

View File

@ -32,11 +32,6 @@ The required steps for each optional/recommended package that is not already in
#### PHP Module bz2 #### PHP Module bz2
`docker-php-ext-install bz2` `docker-php-ext-install bz2`
#### PHP Module imagick
`apt install libmagickwand-dev`
`pecl install imagick`
`docker-php-ext-enable imagick`
#### PHP Module imap #### PHP Module imap
`apt install libc-client-dev libkrb5-dev` `apt install libc-client-dev libkrb5-dev`
`docker-php-ext-configure imap --with-kerberos --with-imap-ssl` `docker-php-ext-configure imap --with-kerberos --with-imap-ssl`

View File

@ -4,7 +4,7 @@ RUN mkdir -p /usr/share/man/man1 \
&& apt-get update && apt-get install -y \ && apt-get update && apt-get install -y \
supervisor \ supervisor \
ffmpeg \ ffmpeg \
libmagickwand-dev \ libbz2-dev \
libgmp3-dev \ libgmp3-dev \
libc-client-dev \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
@ -15,8 +15,8 @@ RUN mkdir -p /usr/share/man/man1 \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \ && ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \
&& docker-php-ext-install bz2 gmp imap \ && docker-php-ext-install bz2 gmp imap \
&& pecl install imagick smbclient \ && pecl install smbclient \
&& docker-php-ext-enable imagick smbclient \ && docker-php-ext-enable smbclient \
&& mkdir /var/log/supervisord /var/run/supervisord && mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /etc/supervisor/supervisord.conf COPY supervisord.conf /etc/supervisor/supervisord.conf

View File

@ -4,7 +4,7 @@ RUN mkdir -p /usr/share/man/man1 \
&& apt-get update && apt-get install -y \ && apt-get update && apt-get install -y \
supervisor \ supervisor \
ffmpeg \ ffmpeg \
libmagickwand-dev \ libbz2-dev \
libgmp3-dev \ libgmp3-dev \
libc-client-dev \ libc-client-dev \
libkrb5-dev \ libkrb5-dev \
@ -15,8 +15,8 @@ RUN mkdir -p /usr/share/man/man1 \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \ && ln -s "/usr/include/$(dpkg-architecture --query DEB_BUILD_MULTIARCH)/gmp.h" /usr/include/gmp.h \
&& docker-php-ext-install bz2 gmp imap \ && docker-php-ext-install bz2 gmp imap \
&& pecl install imagick smbclient \ && pecl install smbclient \
&& docker-php-ext-enable imagick smbclient \ && docker-php-ext-enable smbclient \
&& mkdir /var/log/supervisord /var/run/supervisord && mkdir /var/log/supervisord /var/run/supervisord
COPY supervisord.conf /etc/supervisor/supervisord.conf COPY supervisord.conf /etc/supervisor/supervisord.conf

View File

@ -33,6 +33,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -54,11 +55,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -28,6 +28,7 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
pcre-dev \ pcre-dev \
postgresql-dev \ postgresql-dev \
imagemagick-dev \
; \ ; \
\ \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \
@ -48,11 +49,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
runDeps="$( \ runDeps="$( \

View File

@ -33,6 +33,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -54,11 +55,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -33,6 +33,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -54,11 +55,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -28,6 +28,7 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
pcre-dev \ pcre-dev \
postgresql-dev \ postgresql-dev \
imagemagick-dev \
; \ ; \
\ \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \
@ -48,11 +49,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
runDeps="$( \ runDeps="$( \

View File

@ -33,6 +33,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -54,11 +55,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -33,6 +33,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -54,11 +55,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -28,6 +28,7 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
pcre-dev \ pcre-dev \
postgresql-dev \ postgresql-dev \
imagemagick-dev \
; \ ; \
\ \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \
@ -48,11 +49,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
runDeps="$( \ runDeps="$( \

View File

@ -33,6 +33,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -54,11 +55,13 @@ RUN set -ex; \
pecl install APCu-5.1.15; \ pecl install APCu-5.1.15; \
pecl install memcached-3.0.4; \ pecl install memcached-3.0.4; \
pecl install redis-4.2.0; \ pecl install redis-4.2.0; \
pecl install imagick-3.4.3; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -27,6 +27,7 @@ RUN set -ex; \
openldap-dev \ openldap-dev \
pcre-dev \ pcre-dev \
postgresql-dev \ postgresql-dev \
imagemagick-dev \
; \ ; \
\ \
docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \
@ -47,11 +48,13 @@ RUN set -ex; \
pecl install APCu-%%APCU_VERSION%%; \ pecl install APCu-%%APCU_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%%; \ pecl install memcached-%%MEMCACHED_VERSION%%; \
pecl install redis-%%REDIS_VERSION%%; \ pecl install redis-%%REDIS_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
runDeps="$( \ runDeps="$( \

View File

@ -32,6 +32,7 @@ RUN set -ex; \
libpng-dev \ libpng-dev \
libpq-dev \ libpq-dev \
libxml2-dev \ libxml2-dev \
libmagickwand-dev \
; \ ; \
\ \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
@ -53,11 +54,13 @@ RUN set -ex; \
pecl install APCu-%%APCU_VERSION%%; \ pecl install APCu-%%APCU_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%%; \ pecl install memcached-%%MEMCACHED_VERSION%%; \
pecl install redis-%%REDIS_VERSION%%; \ pecl install redis-%%REDIS_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
memcached \ memcached \
redis \ redis \
imagick \
; \ ; \
\ \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies

View File

@ -28,6 +28,7 @@ declare -A pecl_versions=(
[APCu]='5.1.15' [APCu]='5.1.15'
[memcached]='3.0.4' [memcached]='3.0.4'
[redis]='4.2.0' [redis]='4.2.0'
[imagick]='3.4.3'
) )
variants=( variants=(
@ -78,6 +79,7 @@ function create_variant() {
s/%%APCU_VERSION%%/'"${pecl_versions[APCu]}"'/g; s/%%APCU_VERSION%%/'"${pecl_versions[APCu]}"'/g;
s/%%MEMCACHED_VERSION%%/'"${pecl_versions[memcached]}"'/g; s/%%MEMCACHED_VERSION%%/'"${pecl_versions[memcached]}"'/g;
s/%%REDIS_VERSION%%/'"${pecl_versions[redis]}"'/g; s/%%REDIS_VERSION%%/'"${pecl_versions[redis]}"'/g;
s/%%IMAGICK_VERSION%%/'"${pecl_versions[imagick]}"'/g;
' "$dir/Dockerfile" ' "$dir/Dockerfile"
# Copy the shell scripts # Copy the shell scripts