| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 1 | FROM php:8.2-fpm-alpine3.24 |
| 2 | |
| 3 | LABEL maintainer = "The Infrastructure Company GmbH <info@servercow.de>" |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 4 | |
| Matthias Andreas Benkard | d63fe56 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 5 | # renovate: datasource=github-tags depName=krakjoe/apcu versioning=semver-coerced extractVersion=^v(?<version>.*)$ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 6 | ARG APCU_PECL_VERSION=5.1.28 |
| Matthias Andreas Benkard | 9dabdab | 2024-03-06 13:12:09 +0100 | [diff] [blame] | 7 | # renovate: datasource=github-tags depName=Imagick/imagick versioning=semver-coerced extractVersion=(?<version>.*)$ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 8 | ARG IMAGICK_PECL_VERSION=3.8.1 |
| Matthias Andreas Benkard | d63fe56 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 9 | # renovate: datasource=github-tags depName=php/pecl-mail-mailparse versioning=semver-coerced extractVersion=^v(?<version>.*)$ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 10 | ARG MAILPARSE_PECL_VERSION=3.2.0 |
| Matthias Andreas Benkard | d63fe56 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 11 | # renovate: datasource=github-tags depName=php-memcached-dev/php-memcached versioning=semver-coerced extractVersion=^v(?<version>.*)$ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 12 | ARG MEMCACHED_PECL_VERSION=3.4.0 |
| Matthias Andreas Benkard | 9dabdab | 2024-03-06 13:12:09 +0100 | [diff] [blame] | 13 | # renovate: datasource=github-tags depName=phpredis/phpredis versioning=semver-coerced extractVersion=(?<version>.*)$ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 14 | ARG REDIS_PECL_VERSION=6.3.0 |
| Matthias Andreas Benkard | 9dabdab | 2024-03-06 13:12:09 +0100 | [diff] [blame] | 15 | # renovate: datasource=github-tags depName=composer/composer versioning=semver-coerced extractVersion=(?<version>.*)$ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 16 | ARG COMPOSER_VERSION=2.10.2 |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 17 | |
| 18 | RUN 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 Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 28 | gettext \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 29 | 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 Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 38 | libavif \ |
| 39 | libavif-dev \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 40 | libjpeg-turbo \ |
| 41 | libjpeg-turbo-dev \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 42 | libmemcached \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 43 | libmemcached-dev \ |
| 44 | libpng \ |
| 45 | libpng-dev \ |
| 46 | libressl \ |
| 47 | libressl-dev \ |
| 48 | librsvg \ |
| 49 | libtool \ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 50 | libwebp \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 51 | libwebp-dev \ |
| 52 | libxml2-dev \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 53 | libxpm \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 54 | libxpm-dev \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 55 | libzip \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 56 | libzip-dev \ |
| Matthias Andreas Benkard | d63fe56 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 57 | linux-headers \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 58 | make \ |
| 59 | mysql-client \ |
| 60 | openldap-dev \ |
| 61 | pcre-dev \ |
| 62 | re2c \ |
| 63 | redis \ |
| 64 | samba-client \ |
| 65 | zlib-dev \ |
| 66 | tzdata \ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 67 | && 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 Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 77 | && 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 Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 81 | --with-webp \ |
| 82 | --with-xpm \ |
| 83 | --with-avif \ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 84 | && docker-php-ext-install -j 4 exif gd gettext intl ldap opcache pcntl pdo pdo_mysql pspell soap sockets zip bcmath gmp \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 85 | && docker-php-ext-configure imap --with-imap --with-imap-ssl \ |
| 86 | && docker-php-ext-install -j 4 imap \ |
| Matthias Andreas Benkard | d63fe56 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 87 | && curl --silent --show-error https://getcomposer.org/installer | php -- --version=${COMPOSER_VERSION} \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 88 | && mv composer.phar /usr/local/bin/composer \ |
| 89 | && chmod +x /usr/local/bin/composer \ |
| Matthias Andreas Benkard | 97f1202 | 2026-10-23 08:46:40 +0200 | [diff] [blame^] | 90 | && docker-php-source delete \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 91 | && apk del --purge autoconf \ |
| 92 | aspell-dev \ |
| 93 | cyrus-sasl-dev \ |
| 94 | freetype-dev \ |
| 95 | g++ \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 96 | gettext-dev \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 97 | icu-dev \ |
| 98 | imagemagick-dev \ |
| 99 | imap-dev \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 100 | libavif-dev \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 101 | libjpeg-turbo-dev \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 102 | libmemcached-dev \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 103 | libpng-dev \ |
| 104 | libressl-dev \ |
| 105 | libwebp-dev \ |
| 106 | libxml2-dev \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 107 | libxpm-dev \ |
| 108 | libzip-dev \ |
| Matthias Andreas Benkard | d63fe56 | 2023-11-18 13:18:30 +0100 | [diff] [blame] | 109 | linux-headers \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 110 | make \ |
| Matthias Andreas Benkard | 3c18a08 | 2022-12-27 17:32:58 +0100 | [diff] [blame] | 111 | openldap-dev \ |
| Matthias Andreas Benkard | 4edeb9f | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 112 | pcre-dev \ |
| 113 | zlib-dev |
| 114 | |
| 115 | COPY ./docker-entrypoint.sh / |
| 116 | |
| 117 | ENTRYPOINT ["/docker-entrypoint.sh"] |
| 118 | |
| 119 | CMD ["php-fpm"] |