@@ -9,60 +9,66 @@ ENV PORT=$PORT SERVER_NAME=":80, :$PORT"
99ENV COMPOSER_ALLOW_SUPERUSER=1 COMPOSER_NO_INTERACTION=1 COMPOSER_CACHE_DIR="/tmp"
1010ENV PHP_INI_SCAN_DIR=":$PHP_INI_DIR/app.conf.d"
1111
12+ ENV EXTENSIONS="amqp apcu ast bcmath exif ffi gd gettext gmp igbinary imagick intl maxminddb mongodb opcache pcntl pdo_mysql pdo_pgsql redis sockets sysvmsg sysvsem sysvshm uuid xsl zip"
13+
14+ ENV BUILD_DEPS="make git autoconf wget"
15+
1216COPY --link --chmod=755 ./8.4-frankenphp/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
1317
1418ENTRYPOINT ["docker-entrypoint" ]
1519
1620WORKDIR /app
1721
18- RUN apt-get update && apt-get install -y --no-install-recommends \
22+ # Composer install
23+ COPY --from=composer/composer:2-bin /composer /usr/bin/composer
24+
25+ RUN apt-get update && apt-get install -y --no-install-recommends ${BUILD_DEPS} \
1926 acl \
2027 file \
2128 gettext \
22- gifsicle \
23- git \
24- imagemagick \
25- jpegoptim \
26- libexif-dev \
27- libheif-dev \
28- libvips42 \
29- optipng \
30- pngquant \
3129 procps \
3230 supervisor \
3331 unzip \
34- webp \
3532 zip \
33+ imagemagick \
34+ webp \
35+ gifsicle \
36+ jpegoptim \
37+ optipng \
38+ pngquant \
39+ libnss3-tools \
3640 && rm -rf /var/lib/apt/lists/*
3741
38- RUN set -eux; \
39- install-php-extensions \
40- @composer \
41- amqp \
42- apcu \
43- bcmath \
44- exif \
45- ffi \
46- gd \
47- gmp \
48- igbinary \
49- imagick \
50- intl \
51- maxminddb \
52- mongodb \
53- opcache \
54- pcntl \
55- pdo_mysql \
56- pdo_pgsql \
57- redis \
58- sockets \
59- sysvmsg \
60- sysvsem \
61- sysvshm \
62- uuid \
63- xsl \
64- zip \
65- ;
42+ # ###################################################################################################
43+ # Install latest libvips
44+ # @see https://github.com/dooman87/imagemagick-docker/blob/main/Dockerfile.bookworm
45+ # ###################################################################################################
46+ ARG VIPS_VERSION=8.17.0
47+ ENV VIPS_BUILD_DEPS="build-essential ninja-build meson wget pkg-config"
48+ ENV VIPS_DEPS="libvips-dev"
49+ ENV LD_LIBRARY_PATH="/usr/local/lib"
50+ ENV PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
51+
52+ RUN apt-get -y update && \
53+ apt-get -y upgrade && \
54+ apt-get remove --autoremove --purge -y libvips && \
55+ apt-get install -y --no-install-recommends ${VIPS_BUILD_DEPS} ${VIPS_DEPS} && \
56+ cd /usr/local/src && wget https://github.com/libvips/libvips/releases/download/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.xz && \
57+ xz -d -v vips-${VIPS_VERSION}.tar.xz && tar xf vips-${VIPS_VERSION}.tar && \
58+ cd vips-${VIPS_VERSION} && \
59+ meson setup build --libdir lib && meson compile -C build && meson install -C build && \
60+ apt-get remove --autoremove --purge -y ${VIPS_BUILD_DEPS} && \
61+ rm -rf /var/lib/apt/lists/* && \
62+ rm -rf /usr/local/src/vips-*
63+
64+ # Install PHP extensions
65+ RUN set -eux; install-php-extensions $EXTENSIONS
66+
67+ # Imagick version
68+ RUN php -r 'var_dump(Imagick::getVersion());'
69+
70+ # Imagick formats
71+ RUN php -r 'var_dump(Imagick::queryFormats());'
6672
6773# Copying manifest files to host
6874COPY ./8.4-frankenphp/manifest /
0 commit comments