blob: af23bc2eceecde39696786d8acf676761404757c [file] [log] [blame]
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +02001FROM php:8.2-fpm-alpine3.24
2
3LABEL maintainer = "The Infrastructure Company GmbH <info@servercow.de>"
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +01004
Matthias Andreas Benkardd63fe562023-11-18 13:18:30 +01005# renovate: datasource=github-tags depName=krakjoe/apcu versioning=semver-coerced extractVersion=^v(?<version>.*)$
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +02006ARG APCU_PECL_VERSION=5.1.28
Matthias Andreas Benkard9dabdab2024-03-06 13:12:09 +01007# renovate: datasource=github-tags depName=Imagick/imagick versioning=semver-coerced extractVersion=(?<version>.*)$
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +02008ARG IMAGICK_PECL_VERSION=3.8.1
Matthias Andreas Benkardd63fe562023-11-18 13:18:30 +01009# renovate: datasource=github-tags depName=php/pecl-mail-mailparse versioning=semver-coerced extractVersion=^v(?<version>.*)$
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020010ARG MAILPARSE_PECL_VERSION=3.2.0
Matthias Andreas Benkardd63fe562023-11-18 13:18:30 +010011# renovate: datasource=github-tags depName=php-memcached-dev/php-memcached versioning=semver-coerced extractVersion=^v(?<version>.*)$
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020012ARG MEMCACHED_PECL_VERSION=3.4.0
Matthias Andreas Benkard9dabdab2024-03-06 13:12:09 +010013# renovate: datasource=github-tags depName=phpredis/phpredis versioning=semver-coerced extractVersion=(?<version>.*)$
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020014ARG REDIS_PECL_VERSION=6.3.0
Matthias Andreas Benkard9dabdab2024-03-06 13:12:09 +010015# renovate: datasource=github-tags depName=composer/composer versioning=semver-coerced extractVersion=(?<version>.*)$
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020016ARG COMPOSER_VERSION=2.10.2
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010017
18RUN apk add -U --no-cache autoconf \
19 aspell-dev \
20 aspell-libs \
21 bash \
22 c-client \
23 cyrus-sasl-dev \
24 freetype \
25 freetype-dev \
26 g++ \
27 git \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010028 gettext \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010029 gettext-dev \
30 gmp-dev \
31 gnupg \
32 icu-dev \
33 icu-libs \
34 imagemagick \
35 imagemagick-dev \
36 imap-dev \
37 jq \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010038 libavif \
39 libavif-dev \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010040 libjpeg-turbo \
41 libjpeg-turbo-dev \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010042 libmemcached \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010043 libmemcached-dev \
44 libpng \
45 libpng-dev \
46 libressl \
47 libressl-dev \
48 librsvg \
49 libtool \
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020050 libwebp \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010051 libwebp-dev \
52 libxml2-dev \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010053 libxpm \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010054 libxpm-dev \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010055 libzip \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010056 libzip-dev \
Matthias Andreas Benkardd63fe562023-11-18 13:18:30 +010057 linux-headers \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010058 make \
59 mysql-client \
60 openldap-dev \
61 pcre-dev \
62 re2c \
63 redis \
64 samba-client \
65 zlib-dev \
66 tzdata \
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020067 && docker-php-source extract \
68 # PECL extensions from their GitHub tags (pecl.php.net is not reliable enough for builds)
69 && mkdir -p /usr/src/php/ext/apcu /usr/src/php/ext/imagick /usr/src/php/ext/mailparse /usr/src/php/ext/memcached /usr/src/php/ext/redis \
70 && curl -fsSL https://github.com/krakjoe/apcu/archive/refs/tags/v${APCU_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/apcu \
71 && curl -fsSL https://github.com/Imagick/imagick/archive/refs/tags/${IMAGICK_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/imagick \
72 && sed -i "s/@PACKAGE_VERSION@/${IMAGICK_PECL_VERSION}/" /usr/src/php/ext/imagick/php_imagick.h \
73 && curl -fsSL https://github.com/php/pecl-mail-mailparse/archive/refs/tags/v${MAILPARSE_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/mailparse \
74 && curl -fsSL https://github.com/php-memcached-dev/php-memcached/archive/refs/tags/v${MEMCACHED_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/memcached \
75 && curl -fsSL https://github.com/phpredis/phpredis/archive/refs/tags/${REDIS_PECL_VERSION}.tar.gz | tar -xz --strip-components=1 -C /usr/src/php/ext/redis \
76 && docker-php-ext-install -j 4 apcu imagick mailparse memcached redis \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010077 && docker-php-ext-configure intl \
78 && docker-php-ext-configure exif \
79 && docker-php-ext-configure gd --with-freetype=/usr/include/ \
80 --with-jpeg=/usr/include/ \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010081 --with-webp \
82 --with-xpm \
83 --with-avif \
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020084 && docker-php-ext-install -j 4 exif gd gettext intl ldap opcache pcntl pdo pdo_mysql pspell soap sockets zip bcmath gmp \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010085 && docker-php-ext-configure imap --with-imap --with-imap-ssl \
86 && docker-php-ext-install -j 4 imap \
Matthias Andreas Benkardd63fe562023-11-18 13:18:30 +010087 && curl --silent --show-error https://getcomposer.org/installer | php -- --version=${COMPOSER_VERSION} \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010088 && mv composer.phar /usr/local/bin/composer \
89 && chmod +x /usr/local/bin/composer \
Matthias Andreas Benkard97f12022026-10-23 08:46:40 +020090 && docker-php-source delete \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010091 && apk del --purge autoconf \
92 aspell-dev \
93 cyrus-sasl-dev \
94 freetype-dev \
95 g++ \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +010096 gettext-dev \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +010097 icu-dev \
98 imagemagick-dev \
99 imap-dev \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +0100100 libavif-dev \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +0100101 libjpeg-turbo-dev \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +0100102 libmemcached-dev \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +0100103 libpng-dev \
104 libressl-dev \
105 libwebp-dev \
106 libxml2-dev \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +0100107 libxpm-dev \
108 libzip-dev \
Matthias Andreas Benkardd63fe562023-11-18 13:18:30 +0100109 linux-headers \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +0100110 make \
Matthias Andreas Benkard3c18a082022-12-27 17:32:58 +0100111 openldap-dev \
Matthias Andreas Benkard4edeb9f2021-01-02 15:32:21 +0100112 pcre-dev \
113 zlib-dev
114
115COPY ./docker-entrypoint.sh /
116
117ENTRYPOINT ["/docker-entrypoint.sh"]
118
119CMD ["php-fpm"]