diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a69f339..0b695a6d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,6 +57,20 @@ jobs: tags: [ "spryker/php:8.4", "spryker/php:8.4-alpine3.23" ] platforms: [ "linux/amd64", "linux/arm64" ] + ### Alpine 3.24 + - image: "alpine/3.24/8.2/Dockerfile" + tags: [ "spryker/php:8.2-alpine3.24" ] + platforms: [ "linux/amd64", "linux/arm64" ] + - image: "alpine/3.24/8.3/Dockerfile" + tags: [ "spryker/php:8.3-alpine3.24" ] + platforms: [ "linux/amd64", "linux/arm64" ] + - image: "alpine/3.24/8.4/Dockerfile" + tags: [ "spryker/php:8.4-alpine3.24" ] + platforms: [ "linux/amd64", "linux/arm64" ] + - image: "alpine/3.24/8.5/Dockerfile" + tags: [ "spryker/php:8.5", "spryker/php:8.5-alpine3.24" ] + platforms: [ "linux/amd64", "linux/arm64" ] + ## Debian ### Debian bullseye - image: "debian/bullseye/8.2/Dockerfile" @@ -69,6 +83,12 @@ jobs: tags: [ "spryker/php:8.4-debian" ] platforms: [ "linux/amd64", "linux/arm64" ] + ## Debian + ### Debian bookworm + - image: "debian/bookworm/8.5/Dockerfile" + tags: [ "spryker/php:8.5-debian" ] + platforms: [ "linux/amd64", "linux/arm64" ] + steps: - name: Check out repository uses: actions/checkout@v3 diff --git a/.github/workflows/ecr-scheduled-security-scan.yml b/.github/workflows/ecr-scheduled-security-scan.yml index eee458e4..7ad1e484 100644 --- a/.github/workflows/ecr-scheduled-security-scan.yml +++ b/.github/workflows/ecr-scheduled-security-scan.yml @@ -33,6 +33,10 @@ jobs: - image_tag: "8.2-alpine3.23" - image_tag: "8.3-alpine3.23" - image_tag: "8.4-alpine3.23" + - image_tag: "8.2-alpine3.24" + - image_tag: "8.3-alpine3.24" + - image_tag: "8.4-alpine3.24" + - image_tag: "8.5-alpine3.24" steps: - name: Login to DockerHub diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml index 6dccb2e2..d1e77e4d 100644 --- a/.github/workflows/release-notes.yml +++ b/.github/workflows/release-notes.yml @@ -36,6 +36,10 @@ jobs: - "8.2-alpine3.23" - "8.3-alpine3.23" - "8.4-alpine3.23" + - "8.2-alpine3.24" + - "8.3-alpine3.24" + - "8.4-alpine3.24" + - "8.5-alpine3.24" steps: - name: Checkout repository diff --git a/.github/workflows/tryvi-trufflehog-default-security-scan.yml b/.github/workflows/tryvi-trufflehog-default-security-scan.yml index bc2986c7..65ab7bae 100644 --- a/.github/workflows/tryvi-trufflehog-default-security-scan.yml +++ b/.github/workflows/tryvi-trufflehog-default-security-scan.yml @@ -45,6 +45,24 @@ jobs: tags: "8.4-alpine3.23" platforms: "linux/amd64" + ### Alpine 3.24 + - context: "alpine/3.24/8.2" + dockerfile: "Dockerfile" + tags: "8.2-alpine3.24" + platforms: "linux/amd64" + - context: "alpine/3.24/8.3" + dockerfile: "Dockerfile" + tags: "8.3-alpine3.24" + platforms: "linux/amd64" + - context: "alpine/3.24/8.4" + dockerfile: "Dockerfile" + tags: "8.4-alpine3.24" + platforms: "linux/amd64" + - context: "alpine/3.24/8.5" + dockerfile: "Dockerfile" + tags: "8.5-alpine3.24" + platforms: "linux/amd64" + steps: - name: Checkout code uses: actions/checkout@v3 diff --git a/README.md b/README.md index 922d498c..26160a37 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,9 @@ Extends official PHP Docker images with extensions and tools to be able to run S * `Alpine 3.21` * `Alpine 3.22` * `Alpine 3.23` + * `Alpine 3.24` * `Debian "bullseye"` + * `Debian "bookworm"` * Users: `root`, `spryker` * Working directory: `/data` @@ -29,24 +31,28 @@ Extends official PHP Docker images with extensions and tools to be able to run S | Tag | PHP version | Linux distribution | Details | Dockerfile | OTEL support | |:--------------------------------------------------------------------------------------------|:------------|:-------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------|:------------:| -| [spryker/php:latest](https://hub.docker.com/r/spryker/php/tags?name=latest) | 8.2.32 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:latest.svg)](https://microbadger.com/images/spryker/php:latest "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.2/Dockerfile) | ✖ | -| [spryker/php:8.4](https://hub.docker.com/r/spryker/php/tags?name=8.4) | 8.4.23 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4.svg)](https://microbadger.com/images/spryker/php:8.4 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.4/Dockerfile) | ✔ | -| [spryker/php:8.3](https://hub.docker.com/r/spryker/php/tags?name=8.3) | 8.3.32 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3.svg)](https://microbadger.com/images/spryker/php:8.3 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.3/Dockerfile) | ✔ | -| [spryker/php:8.2](https://hub.docker.com/r/spryker/php/tags?name=8.2) | 8.2.32 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2.svg)](https://microbadger.com/images/spryker/php:8.2 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.2/Dockerfile) | ✖ | -| [spryker/php:8.4-alpine3.23](https://hub.docker.com/r/spryker/php/tags?name=8.4-alpine3.23) | 8.4.23 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4-alpine3.23.svg)](https://microbadger.com/images/spryker/php:8.4-alpine3.23 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.4/Dockerfile) | ✔ | -| [spryker/php:8.3-alpine3.23](https://hub.docker.com/r/spryker/php/tags?name=8.3-alpine3.23) | 8.3.32 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3-alpine3.23.svg)](https://microbadger.com/images/spryker/php:8.3-alpine3.23 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.3/Dockerfile) | ✔ | -| [spryker/php:8.2-alpine3.23](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.23) | 8.2.32 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.23.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.23 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.2/Dockerfile) | ✖ | +| [spryker/php:latest](https://hub.docker.com/r/spryker/php/tags?name=latest) | 8.2.33 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:latest.svg)](https://microbadger.com/images/spryker/php:latest "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.2/Dockerfile) | ✖ | +| [spryker/php:8.5](https://hub.docker.com/r/spryker/php/tags?name=8.5) | 8.5.9 | Alpine 3.24 | [![](https://images.microbadger.com/badges/image/spryker/php:8.5.svg)](https://microbadger.com/images/spryker/php:8.5 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.24/8.5/Dockerfile) | ✔ | +| [spryker/php:8.4](https://hub.docker.com/r/spryker/php/tags?name=8.4) | 8.4.24 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4.svg)](https://microbadger.com/images/spryker/php:8.4 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.4/Dockerfile) | ✔ | +| [spryker/php:8.3](https://hub.docker.com/r/spryker/php/tags?name=8.3) | 8.3.33 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3.svg)](https://microbadger.com/images/spryker/php:8.3 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.3/Dockerfile) | ✔ | +| [spryker/php:8.2](https://hub.docker.com/r/spryker/php/tags?name=8.2) | 8.2.33 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2.svg)](https://microbadger.com/images/spryker/php:8.2 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.2/Dockerfile) | ✖ | +| [spryker/php:8.5-alpine3.24](https://hub.docker.com/r/spryker/php/tags?name=8.5-alpine3.24) | 8.5.9 | Alpine 3.24 | [![](https://images.microbadger.com/badges/image/spryker/php:8.5-alpine3.24.svg)](https://microbadger.com/images/spryker/php:8.5-alpine3.24 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.24/8.5/Dockerfile) | ✔ | +| [spryker/php:8.4-alpine3.24](https://hub.docker.com/r/spryker/php/tags?name=8.4-alpine3.24) | 8.4.24 | Alpine 3.24 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4-alpine3.24.svg)](https://microbadger.com/images/spryker/php:8.4-alpine3.24 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.24/8.4/Dockerfile) | ✔ | +| [spryker/php:8.3-alpine3.24](https://hub.docker.com/r/spryker/php/tags?name=8.3-alpine3.24) | 8.3.33 | Alpine 3.24 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3-alpine3.24.svg)](https://microbadger.com/images/spryker/php:8.3-alpine3.24 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.24/8.3/Dockerfile) | ✔ | +| [spryker/php:8.2-alpine3.24](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.24) | 8.2.33 | Alpine 3.24 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.24.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.24 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.24/8.2/Dockerfile) | ✖ | +| [spryker/php:8.4-alpine3.23](https://hub.docker.com/r/spryker/php/tags?name=8.4-alpine3.23) | 8.4.24 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4-alpine3.23.svg)](https://microbadger.com/images/spryker/php:8.4-alpine3.23 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.4/Dockerfile) | ✔ | +| [spryker/php:8.3-alpine3.23](https://hub.docker.com/r/spryker/php/tags?name=8.3-alpine3.23) | 8.3.33 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3-alpine3.23.svg)](https://microbadger.com/images/spryker/php:8.3-alpine3.23 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.3/Dockerfile) | ✔ | +| [spryker/php:8.2-alpine3.23](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.23) | 8.2.33 | Alpine 3.23 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.23.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.23 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.23/8.2/Dockerfile) | ✖ | | [spryker/php:8.4-alpine3.22](https://hub.docker.com/r/spryker/php/tags?name=8.4-alpine3.22) | 8.4.22 | Alpine 3.22 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4-alpine3.22.svg)](https://microbadger.com/images/spryker/php:8.4-alpine3.22 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.22/8.4/Dockerfile) | ✔ | | [spryker/php:8.3-alpine3.22](https://hub.docker.com/r/spryker/php/tags?name=8.3-alpine3.22) | 8.3.31 | Alpine 3.22 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3-alpine3.22.svg)](https://microbadger.com/images/spryker/php:8.3-alpine3.22 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.22/8.3/Dockerfile) | ✔ | | [spryker/php:8.2-alpine3.22](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.22) | 8.2.31 | Alpine 3.22 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.22.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.22 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.22/8.2/Dockerfile) | ✔ | | [spryker/php:8.4-alpine3.21](https://hub.docker.com/r/spryker/php/tags?name=8.4-alpine3.21) | 8.4.15 | Alpine 3.21 | [![](https://images.microbadger.com/badges/image/spryker/php:8.4-alpine3.21.svg)](https://microbadger.com/images/spryker/php:8.4-alpine3.21 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.21/8.4/Dockerfile) | ✔ | | [spryker/php:8.3-alpine3.21](https://hub.docker.com/r/spryker/php/tags?name=8.3-alpine3.21) | 8.3.28 | Alpine 3.21 | [![](https://images.microbadger.com/badges/image/spryker/php:8.3-alpine3.21.svg)](https://microbadger.com/images/spryker/php:8.3-alpine3.21 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.21/8.3/Dockerfile) | ✔ | | [spryker/php:8.2-alpine3.21](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.21) | 8.2.29 | Alpine 3.21 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.21.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.21 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.21/8.2/Dockerfile) | ✔ | +| [spryker/php:8.5-debian](https://hub.docker.com/r/spryker/php/tags?name=8.5-debian) | 8.5.9 | Debian "bookworm" | [![](https://images.microbadger.com/badges/image/spryker/php:8.5-debian.svg)](https://microbadger.com/images/spryker/php:8.5-debian "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/debian/bookworm/8.5/Dockerfile) | ✔ | | [spryker/php:8.4-debian](https://hub.docker.com/r/spryker/php/tags?name=8.4-debian) | 8.4.11 | Debian "bullseye" | [![](https://images.microbadger.com/badges/image/spryker/php:8.4-debian.svg)](https://microbadger.com/images/spryker/php:8.4-debian "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/debian/bullseye/8.4/Dockerfile) | ✔ | | [spryker/php:8.3-debian](https://hub.docker.com/r/spryker/php/tags?name=8.3-debian) | 8.3.24 | Debian "bullseye" | [![](https://images.microbadger.com/badges/image/spryker/php:8.3-debian.svg)](https://microbadger.com/images/spryker/php:8.3-debian "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/debian/bullseye/8.3/Dockerfile) | ✔ | | [spryker/php:8.2-debian](https://hub.docker.com/r/spryker/php/tags?name=8.2-debian) | 8.2.29 | Debian "bullseye" | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-debian.svg)](https://microbadger.com/images/spryker/php:8.2-debian "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/debian/bullseye/8.2/Dockerfile) | ✔ | -| [spryker/php:8.1-debian](https://hub.docker.com/r/spryker/php/tags?name=8.1-debian) | 8.1.33 | Debian "bullseye" | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-debian.svg)](https://microbadger.com/images/spryker/php:8.1-debian "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/debian/bullseye/8.1/Dockerfile) | ✔ | -| [spryker/php:8.0-debian](https://hub.docker.com/r/spryker/php/tags?name=8.0-debian) | 8.0.30 | Debian "bullseye" | [![](https://images.microbadger.com/badges/image/spryker/php:8.0-debian.svg)](https://microbadger.com/images/spryker/php:8.0-debian "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/debian/bullseye/8.0/Dockerfile) | ✖ | ## How to use @@ -176,13 +182,13 @@ Installed extensions Disabled extensions ==================== [ ] amqp 2.2.0 - [ ] blackfire 1.87.1~linux-musl-x64-non_zts82 - [ ] excimer 1.2.5 + [ ] blackfire 1.92.48~linux-musl-x64-non_zts83 + [ ] excimer 1.2.6 [ ] imagick 3.8.1 [ ] newrelic 12.9.0.38 [ ] otel [ ] pcov 1.0.12 - [ ] tideways 5.32.0-d1af5cc + [ ] tideways 5.42.0-d1af5cc [ ] xhprof 2.3.10 INSTALLED PACKAGES, CHANNEL PECL.PHP.NET: @@ -190,21 +196,20 @@ INSTALLED PACKAGES, CHANNEL PECL.PHP.NET: PACKAGE VERSION STATE amqp 2.2.0 stable apcu 5.1.28 stable -excimer 1.2.5 stable +excimer 1.2.6 stable imagick 3.8.1 stable pcov 1.0.12 stable redis 6.3.0 stable -xdebug 3.5.1 stable +xdebug 3.5.3 stable xhprof 2.3.10 stable Composer ==================== -Composer version 2.9.3 2025-12-30 13:40:17 -PHP version 8.2.32 (/usr/local/bin/php) +Composer version 2.10.2 2026-07-01 11:24:45 ``` ##### Run the following to get the report ```bash -$ docker run -i --rm spryker/php:8.2-alpine3.23 bash -s<<'EOF' +$ docker run -i --rm spryker/php:8.3 bash -s<<'EOF' docker-php-source extract echo "Installed extensions" echo "====================" diff --git a/alpine/3.21/8.2/Dockerfile b/alpine/3.21/8.2/Dockerfile index 216f10d2..ae0c1ea3 100644 --- a/alpine/3.21/8.2/Dockerfile +++ b/alpine/3.21/8.2/Dockerfile @@ -3,11 +3,11 @@ ARG SPRYKER_PHP_VERSION=8.2.29 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.21 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.2 ENV srcRoot /data diff --git a/alpine/3.21/8.3/Dockerfile b/alpine/3.21/8.3/Dockerfile index a0ba9810..7e5dd150 100644 --- a/alpine/3.21/8.3/Dockerfile +++ b/alpine/3.21/8.3/Dockerfile @@ -3,11 +3,11 @@ ARG SPRYKER_PHP_VERSION=8.3.28 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.21 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=83 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.3 ENV srcRoot /data diff --git a/alpine/3.21/8.4/Dockerfile b/alpine/3.21/8.4/Dockerfile index 3b12c29e..f8abcb46 100644 --- a/alpine/3.21/8.4/Dockerfile +++ b/alpine/3.21/8.4/Dockerfile @@ -3,11 +3,11 @@ ARG SPRYKER_PHP_VERSION=8.4.15 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.21 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=84 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.4 ENV srcRoot /data diff --git a/alpine/3.22/8.2/Dockerfile b/alpine/3.22/8.2/Dockerfile index 949a00e8..d71a0392 100644 --- a/alpine/3.22/8.2/Dockerfile +++ b/alpine/3.22/8.2/Dockerfile @@ -3,11 +3,11 @@ ARG SPRYKER_PHP_VERSION=8.2.31 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.22 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.2 ENV srcRoot /data diff --git a/alpine/3.22/8.3/Dockerfile b/alpine/3.22/8.3/Dockerfile index e55d5bbe..bf9a4a6a 100644 --- a/alpine/3.22/8.3/Dockerfile +++ b/alpine/3.22/8.3/Dockerfile @@ -3,11 +3,11 @@ ARG SPRYKER_PHP_VERSION=8.3.31 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.22 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=83 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.3 ENV srcRoot /data diff --git a/alpine/3.22/8.4/Dockerfile b/alpine/3.22/8.4/Dockerfile index d605dc67..fd72b8a1 100644 --- a/alpine/3.22/8.4/Dockerfile +++ b/alpine/3.22/8.4/Dockerfile @@ -3,11 +3,11 @@ ARG SPRYKER_PHP_VERSION=8.4.22 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.22 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=84 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.4 ENV srcRoot /data diff --git a/alpine/3.23/8.2/Dockerfile b/alpine/3.23/8.2/Dockerfile index d516f45e..8428b173 100644 --- a/alpine/3.23/8.2/Dockerfile +++ b/alpine/3.23/8.2/Dockerfile @@ -1,13 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.2.32 +ARG SPRYKER_PHP_VERSION=8.2.33 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.23 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.2 ENV srcRoot /data diff --git a/alpine/3.23/8.3/Dockerfile b/alpine/3.23/8.3/Dockerfile index e0287f18..d46ffc35 100644 --- a/alpine/3.23/8.3/Dockerfile +++ b/alpine/3.23/8.3/Dockerfile @@ -1,13 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.3.32 +ARG SPRYKER_PHP_VERSION=8.3.33 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.23 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=83 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.3 ENV srcRoot /data diff --git a/alpine/3.23/8.4/Dockerfile b/alpine/3.23/8.4/Dockerfile index 28785461..a618876c 100644 --- a/alpine/3.23/8.4/Dockerfile +++ b/alpine/3.23/8.4/Dockerfile @@ -1,13 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.4.23 +ARG SPRYKER_PHP_VERSION=8.4.24 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.23 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=84 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.4 ENV srcRoot /data diff --git a/alpine/3.24/8.2/Dockerfile b/alpine/3.24/8.2/Dockerfile new file mode 100644 index 00000000..ade72cf6 --- /dev/null +++ b/alpine/3.24/8.2/Dockerfile @@ -0,0 +1,216 @@ +# syntax = docker/dockerfile:1.0.2-experimental +ARG SPRYKER_PHP_VERSION=8.2.33 +FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.24 + +ARG TARGETPLATFORM +ARG COMPOSER_VERSION=2.10.2 +ARG BLACKFIRE_VERSION=1.87.1 +ARG BLACKFIRE_PHP_VERSION=82 +ARG NEWRELIC_VERSION=12.9.0.38 +ARG TIDEWAYS_VERSION=5.42.0 +ARG TIDEWAYS_PHP_VERSION=8.2 + +ENV srcRoot /data +RUN mkdir -p ${srcRoot} + +ARG PHP_RUN_DEPS="\ + freetype \ + gmp \ + gnu-libiconv \ + icu-libs \ + libbz2 \ + libc6-compat \ + libjpeg-turbo \ + libpng \ + libwebp \ + libxml2 \ + libxpm \ + libxslt \ + libzip \ + rabbitmq-c \ + imagemagick" + +ARG PHP_BUILD_DEPS="\ + autoconf \ + bzip2-dev \ + freetype-dev \ + gmp-dev \ + icu-dev \ + icu-data-full \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libxml2-dev \ + libxpm-dev \ + libzip-dev \ + postgresql-dev \ + rabbitmq-c-dev \ + g++ \ + imagemagick-dev" + +ARG PHP_EXTENSIONS="\ + bcmath \ + bz2 \ + ftp \ + gd \ + gmp \ + intl \ + mysqli \ + opcache \ + pcntl \ + pdo_mysql \ + pdo_pgsql \ + pgsql \ + soap \ + sockets \ + zip" + +ARG PHP_PECL_EXTENSIONS="\ + apcu \ + redis" + +ARG ADDITIONAL_PHP_PECL_EXTENSIONS="\ + pcov \ + xdebug \ + xhprof \ + excimer \ + amqp \ + imagick" + +ARG GRAPHVIZ_BUILD_DEPS="\ + expat-dev" + +ARG CFLAGS="-I/usr/src/php" +RUN apk update \ + && apk upgrade \ + && apk add --no-cache \ + bash \ + coreutils \ + curl \ + g++ \ + git \ + make \ + mysql-client \ + netcat-openbsd \ + openssh \ + postgresql-client \ + procps \ + python3 \ + shadow \ + unzip \ + linux-headers \ + libstdc++ \ + openssl-dev \ + zlib-dev \ + scdoc \ + ${PHP_RUN_DEPS} \ + && apk add --no-cache --virtual .php-build-deps ${PHP_BUILD_DEPS} \ + && apk add --no-cache --virtual .graphviz-build-deps ${GRAPHVIZ_BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/ \ + && cd /tmp \ + && git clone --depth 1 --branch v3.0.0_rc7 https://github.com/alpinelinux/apk-tools.git apk-tools-v3.0.0_rc7 \ + && cd apk-tools-v3.0.0_rc7 && make LUA=no && make LUA=no install \ + && cd /tmp \ + && curl -LO https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz \ + && tar xzf icu4c-74_1-src.tgz \ + && cd icu/source && ./configure --prefix=/usr && make && make install \ + && cd /tmp \ + && rm -rf /tmp/apk-tools-v3.0.0_rc7 /tmp/icu4c-74_1-src.tgz /tmp/icu \ + && docker-php-ext-configure gd \ + --disable-gd-jis-conv \ + --with-freetype=/usr \ + --with-jpeg=/usr \ + --with-webp=/usr \ + --with-xpm=/usr \ + && docker-php-ext-install -j5 ${PHP_EXTENSIONS} \ + && pecl install -o -f ${PHP_PECL_EXTENSIONS} ${ADDITIONAL_PHP_PECL_EXTENSIONS} \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable ${PHP_EXTENSIONS} ${PHP_PECL_EXTENSIONS} \ + && apk del --no-cache .php-build-deps + +# Related to https://github.com/docker-library/php/issues/240 +ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so + +# Blackfire +ENV BLACKFIRE_AGENT_SOCKET='' +RUN architecture=$(case ${TARGETPLATFORM} in "linux/amd64") echo "amd64" ;; linux/arm64) echo "arm64" ;; *) echo "amd64" ;; esac) \ + && curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_VERSION}/blackfire-php-alpine_${architecture}-php-${BLACKFIRE_PHP_VERSION}.so \ + && mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so + +# New Relic +ENV NEWRELIC_ENABLED=0 +ENV NEWRELIC_LICENSE='' +ENV NEWRELIC_APPNAME='Spryker' +ENV NEWRELIC_DISTRIBUTED_TRACING_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_ENABLED=0 +ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 +ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 + +RUN bash -c 'curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ + && export NR_INSTALL_USE_CP_NOT_LN=1 \ + && export NR_INSTALL_SILENT=1 \ + && /tmp/newrelic-php5-*/newrelic-install install \ + && rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* \ + && /usr/bin/install -d -m 777 /var/log/newrelic/ \ + && rm /usr/local/etc/php/conf.d/newrelic.ini' + +# Tideways +ENV TIDEWAYS_APIKEY='' +ENV TIDEWAYS_DAEMON_URI='' +ENV TIDEWAYS_CLI_ENABLED=0 +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +#GraphViz 7.0.5 +RUN cd /tmp && \ + curl -L https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/7.0.5/graphviz-7.0.5.tar.gz | tar -zx && \ + cd /tmp/graphviz-7.0.5 && \ + ./configure && \ + make && \ + make install && \ + rm -rf /tmp/graphviz-7.0.5 && \ + apk del --no-cache .graphviz-build-deps + +# Opcache +RUN /usr/bin/install -d -m 777 /var/run/opcache + +# Remove default FPM pool +RUN rm /usr/local/etc/php-fpm.d/www.conf && \ + rm /usr/local/etc/php-fpm.d/docker.conf && \ + rm /usr/local/etc/php-fpm.d/zz-docker.conf + +# Add FPM configs +COPY context/php/php-fpm.d/worker.conf /usr/local/etc/php-fpm.d/worker.conf +COPY context/php/php-fpm.conf /usr/local/etc/php-fpm.conf + +# Copy php.ini configuration +COPY context/php/php.ini /usr/local/etc/php/ +COPY context/php/conf.d/90-opcache.ini /usr/local/etc/php/conf.d/ +COPY context/php/conf.d/92-session.ini /usr/local/etc/php/conf.d/ +COPY context/php/disabled /usr/local/etc/php/disabled + +WORKDIR /data + +# Install composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION} + +# Create application user 'spryker' +RUN addgroup spryker && \ + adduser -h /home/spryker -s /bin/sh -G www-data -D spryker && \ + chown spryker:spryker ${srcRoot} + +USER spryker +ENV COMPOSER_MEMORY_LIMIT=-1 +RUN mkdir -p /home/spryker/.composer +RUN bash -c '[[ $COMPOSER_VERSION == "1"* ]] && composer global require hirak/prestissimo && rm -rf /home/spryker/.composer/cache || true' + +USER root + diff --git a/alpine/3.24/8.3/Dockerfile b/alpine/3.24/8.3/Dockerfile new file mode 100644 index 00000000..53ec4c06 --- /dev/null +++ b/alpine/3.24/8.3/Dockerfile @@ -0,0 +1,230 @@ +# syntax = docker/dockerfile:1.0.2-experimental +ARG SPRYKER_PHP_VERSION=8.3.33 +FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.24 + +ARG TARGETPLATFORM +ARG COMPOSER_VERSION=2.10.2 +ARG BLACKFIRE_VERSION=1.92.48 +ARG BLACKFIRE_PHP_VERSION=83 +ARG NEWRELIC_VERSION=12.9.0.38 +ARG TIDEWAYS_VERSION=5.42.0 +ARG TIDEWAYS_PHP_VERSION=8.3 + +ENV srcRoot /data +RUN mkdir -p ${srcRoot} + +ARG PHP_RUN_DEPS="\ + freetype \ + gmp \ + gnu-libiconv \ + icu-libs \ + libbz2 \ + libc6-compat \ + libjpeg-turbo \ + libpng \ + libwebp \ + libxml2 \ + libxpm \ + libxslt \ + libzip \ + rabbitmq-c \ + imagemagick" + +ARG PHP_BUILD_DEPS="\ + autoconf \ + bzip2-dev \ + freetype-dev \ + gmp-dev \ + icu-dev \ + icu-data-full \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libxml2-dev \ + libxpm-dev \ + libzip-dev \ + postgresql-dev \ + rabbitmq-c-dev \ + g++ \ + imagemagick-dev" + +ARG PHP_EXTENSIONS="\ + bcmath \ + bz2 \ + ftp \ + gd \ + gmp \ + intl \ + mysqli \ + opcache \ + pcntl \ + pdo_mysql \ + pdo_pgsql \ + pgsql \ + soap \ + sockets \ + zip" + +ARG PHP_PECL_EXTENSIONS="\ + apcu \ + redis" + +ARG ADDITIONAL_PHP_PECL_EXTENSIONS="\ + pcov \ + xdebug \ + xhprof \ + excimer \ + amqp \ + imagick" + +ARG GRAPHVIZ_BUILD_DEPS="\ + expat-dev" + +ARG CFLAGS="-I/usr/src/php" +RUN apk update \ + && apk upgrade \ + && apk add --no-cache \ + bash \ + coreutils \ + curl \ + g++ \ + git \ + make \ + mysql-client \ + netcat-openbsd \ + openssh \ + postgresql-client \ + procps \ + python3 \ + shadow \ + unzip \ + linux-headers \ + libstdc++ \ + openssl-dev \ + zlib-dev \ + scdoc \ + ${PHP_RUN_DEPS} \ + && apk add --no-cache --virtual .php-build-deps ${PHP_BUILD_DEPS} \ + && apk add --no-cache --virtual .graphviz-build-deps ${GRAPHVIZ_BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/ \ + && cd /tmp \ + && git clone --depth 1 --branch v3.0.0_rc7 https://github.com/alpinelinux/apk-tools.git apk-tools-v3.0.0_rc7 \ + && cd apk-tools-v3.0.0_rc7 && make LUA=no && make LUA=no install \ + && cd /tmp \ + && curl -LO https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz \ + && tar xzf icu4c-74_1-src.tgz \ + && cd icu/source && ./configure --prefix=/usr && make && make install \ + && cd /tmp \ + && rm -rf /tmp/apk-tools-v3.0.0_rc7 /tmp/icu4c-74_1-src.tgz /tmp/icu \ + && docker-php-ext-configure gd \ + --disable-gd-jis-conv \ + --with-freetype=/usr \ + --with-jpeg=/usr \ + --with-webp=/usr \ + --with-xpm=/usr \ + && docker-php-ext-install -j5 ${PHP_EXTENSIONS} \ + && pecl install -o -f ${PHP_PECL_EXTENSIONS} ${ADDITIONAL_PHP_PECL_EXTENSIONS} \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable ${PHP_EXTENSIONS} ${PHP_PECL_EXTENSIONS} \ + && apk del --no-cache .php-build-deps + +# Related to https://github.com/docker-library/php/issues/240 +ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so + +# Otel +RUN echo "https://dl-cdn.alpinelinux.org/alpine/v$(cut -d'.' -f1,2 /etc/alpine-release)/community" >> /etc/apk/repositories +RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && apk add --no-cache \ + php${PHP_VERSION}-pecl-grpc \ + php${PHP_VERSION}-pecl-protobuf \ + php${PHP_VERSION}-pecl-opentelemetry + +RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && EXT_DIR=$(php -r "echo ini_get('extension_dir');") \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/grpc.so $EXT_DIR/grpc.so \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/protobuf.so $EXT_DIR/protobuf.so \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/opentelemetry.so $EXT_DIR/opentelemetry.so + +## Blackfire +ENV BLACKFIRE_AGENT_SOCKET='' +RUN architecture=$(case ${TARGETPLATFORM} in "linux/amd64") echo "amd64" ;; linux/arm64) echo "arm64" ;; *) echo "amd64" ;; esac) \ + && curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_VERSION}/blackfire-php-alpine_${architecture}-php-${BLACKFIRE_PHP_VERSION}.so \ + && mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so + +# New Relic +ENV NEWRELIC_ENABLED=0 +ENV NEWRELIC_LICENSE='' +ENV NEWRELIC_APPNAME='Spryker' +ENV NEWRELIC_DISTRIBUTED_TRACING_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_ENABLED=0 +ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 +ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 + +RUN bash -c 'curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ + && export NR_INSTALL_USE_CP_NOT_LN=1 \ + && export NR_INSTALL_SILENT=1 \ + && /tmp/newrelic-php5-*/newrelic-install install \ + && rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* \ + && /usr/bin/install -d -m 777 /var/log/newrelic/ \ + && rm /usr/local/etc/php/conf.d/newrelic.ini' + +# Tideways +ENV TIDEWAYS_APIKEY='' +ENV TIDEWAYS_DAEMON_URI='' +ENV TIDEWAYS_CLI_ENABLED=0 +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +# GraphViz 7.0.5 +RUN cd /tmp && \ + curl -L https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/7.0.5/graphviz-7.0.5.tar.gz | tar -zx && \ + cd /tmp/graphviz-7.0.5 && \ + ./configure && \ + make && \ + make install && \ + rm -rf /tmp/graphviz-7.0.5 && \ + apk del --no-cache .graphviz-build-deps + +# Opcache +RUN /usr/bin/install -d -m 777 /var/run/opcache + +# Remove default FPM pool +RUN rm /usr/local/etc/php-fpm.d/www.conf && \ + rm /usr/local/etc/php-fpm.d/docker.conf && \ + rm /usr/local/etc/php-fpm.d/zz-docker.conf + +# Add FPM configs +COPY context/php/php-fpm.d/worker.conf /usr/local/etc/php-fpm.d/worker.conf +COPY context/php/php-fpm.conf /usr/local/etc/php-fpm.conf + +# Copy php.ini configuration +COPY context/php/php.ini /usr/local/etc/php/ +COPY context/php/conf.d/90-opcache.ini /usr/local/etc/php/conf.d/ +COPY context/php/conf.d/92-session.ini /usr/local/etc/php/conf.d/ +COPY context/php/disabled /usr/local/etc/php/disabled + +WORKDIR /data + +# Install composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION} + +# Create application user 'spryker' +RUN addgroup spryker && \ + adduser -h /home/spryker -s /bin/sh -G www-data -D spryker && \ + chown spryker:spryker ${srcRoot} + +USER spryker +ENV COMPOSER_MEMORY_LIMIT=-1 +RUN mkdir -p /home/spryker/.composer +RUN bash -c '[[ $COMPOSER_VERSION == "1"* ]] && composer global require hirak/prestissimo && rm -rf /home/spryker/.composer/cache || true' + +USER root + diff --git a/alpine/3.24/8.4/Dockerfile b/alpine/3.24/8.4/Dockerfile new file mode 100644 index 00000000..2ce66f63 --- /dev/null +++ b/alpine/3.24/8.4/Dockerfile @@ -0,0 +1,230 @@ +# syntax = docker/dockerfile:1.0.2-experimental +ARG SPRYKER_PHP_VERSION=8.4.24 +FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.24 + +ARG TARGETPLATFORM +ARG COMPOSER_VERSION=2.10.2 +ARG BLACKFIRE_VERSION=1.92.48 +ARG BLACKFIRE_PHP_VERSION=84 +ARG NEWRELIC_VERSION=12.9.0.38 +ARG TIDEWAYS_VERSION=5.42.0 +ARG TIDEWAYS_PHP_VERSION=8.4 + +ENV srcRoot /data +RUN mkdir -p ${srcRoot} + +ARG PHP_RUN_DEPS="\ + freetype \ + gmp \ + gnu-libiconv \ + icu-libs \ + libbz2 \ + libc6-compat \ + libjpeg-turbo \ + libpng \ + libwebp \ + libxml2 \ + libxpm \ + libxslt \ + libzip \ + rabbitmq-c \ + imagemagick" + +ARG PHP_BUILD_DEPS="\ + autoconf \ + bzip2-dev \ + freetype-dev \ + gmp-dev \ + icu-dev \ + icu-data-full \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libxml2-dev \ + libxpm-dev \ + libzip-dev \ + postgresql-dev \ + rabbitmq-c-dev \ + g++ \ + imagemagick-dev" + +ARG PHP_EXTENSIONS="\ + bcmath \ + bz2 \ + ftp \ + gd \ + gmp \ + intl \ + mysqli \ + opcache \ + pcntl \ + pdo_mysql \ + pdo_pgsql \ + pgsql \ + soap \ + sockets \ + zip" + +ARG PHP_PECL_EXTENSIONS="\ + apcu \ + redis" + +ARG ADDITIONAL_PHP_PECL_EXTENSIONS="\ + pcov \ + xdebug \ + xhprof \ + excimer \ + amqp \ + imagick" + +ARG GRAPHVIZ_BUILD_DEPS="\ + expat-dev" + +ARG CFLAGS="-I/usr/src/php" +RUN apk update \ + && apk upgrade \ + && apk add --no-cache \ + bash \ + coreutils \ + curl \ + g++ \ + git \ + make \ + mysql-client \ + netcat-openbsd \ + openssh \ + postgresql-client \ + procps \ + python3 \ + shadow \ + unzip \ + linux-headers \ + libstdc++ \ + openssl-dev \ + zlib-dev \ + scdoc \ + ${PHP_RUN_DEPS} \ + && apk add --no-cache --virtual .php-build-deps ${PHP_BUILD_DEPS} \ + && apk add --no-cache --virtual .graphviz-build-deps ${GRAPHVIZ_BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/ \ + && cd /tmp \ + && git clone --depth 1 --branch v3.0.0_rc7 https://github.com/alpinelinux/apk-tools.git apk-tools-v3.0.0_rc7 \ + && cd apk-tools-v3.0.0_rc7 && make LUA=no && make LUA=no install \ + && cd /tmp \ + && curl -LO https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz \ + && tar xzf icu4c-74_1-src.tgz \ + && cd icu/source && ./configure --prefix=/usr && make && make install \ + && cd /tmp \ + && rm -rf /tmp/apk-tools-v3.0.0_rc7 /tmp/icu4c-74_1-src.tgz /tmp/icu \ + && docker-php-ext-configure gd \ + --disable-gd-jis-conv \ + --with-freetype=/usr \ + --with-jpeg=/usr \ + --with-webp=/usr \ + --with-xpm=/usr \ + && docker-php-ext-install -j5 ${PHP_EXTENSIONS} \ + && pecl install -o -f ${PHP_PECL_EXTENSIONS} ${ADDITIONAL_PHP_PECL_EXTENSIONS} \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable ${PHP_EXTENSIONS} ${PHP_PECL_EXTENSIONS} \ + && apk del --no-cache .php-build-deps + +# Related to https://github.com/docker-library/php/issues/240 +ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so + +# Otel +RUN echo "https://dl-cdn.alpinelinux.org/alpine/v$(cut -d'.' -f1,2 /etc/alpine-release)/community" >> /etc/apk/repositories +RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && apk add --no-cache \ + php${PHP_VERSION}-pecl-grpc \ + php${PHP_VERSION}-pecl-protobuf \ + php${PHP_VERSION}-pecl-opentelemetry + +RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && EXT_DIR=$(php -r "echo ini_get('extension_dir');") \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/grpc.so $EXT_DIR/grpc.so \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/protobuf.so $EXT_DIR/protobuf.so \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/opentelemetry.so $EXT_DIR/opentelemetry.so + +## Blackfire +ENV BLACKFIRE_AGENT_SOCKET='' +RUN architecture=$(case ${TARGETPLATFORM} in "linux/amd64") echo "amd64" ;; linux/arm64) echo "arm64" ;; *) echo "amd64" ;; esac) \ + && curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_VERSION}/blackfire-php-alpine_${architecture}-php-${BLACKFIRE_PHP_VERSION}.so \ + && mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so + +# New Relic +ENV NEWRELIC_ENABLED=0 +ENV NEWRELIC_LICENSE='' +ENV NEWRELIC_APPNAME='Spryker' +ENV NEWRELIC_DISTRIBUTED_TRACING_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_ENABLED=0 +ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 +ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 + +RUN bash -c 'curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ + && export NR_INSTALL_USE_CP_NOT_LN=1 \ + && export NR_INSTALL_SILENT=1 \ + && /tmp/newrelic-php5-*/newrelic-install install \ + && rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* \ + && /usr/bin/install -d -m 777 /var/log/newrelic/ \ + && rm /usr/local/etc/php/conf.d/newrelic.ini' + +# Tideways +ENV TIDEWAYS_APIKEY='' +ENV TIDEWAYS_DAEMON_URI='' +ENV TIDEWAYS_CLI_ENABLED=0 +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +# GraphViz 7.0.5 +RUN cd /tmp && \ + curl -L https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/7.0.5/graphviz-7.0.5.tar.gz | tar -zx && \ + cd /tmp/graphviz-7.0.5 && \ + ./configure && \ + make && \ + make install && \ + rm -rf /tmp/graphviz-7.0.5 && \ + apk del --no-cache .graphviz-build-deps + +# Opcache +RUN /usr/bin/install -d -m 777 /var/run/opcache + +# Remove default FPM pool +RUN rm /usr/local/etc/php-fpm.d/www.conf && \ + rm /usr/local/etc/php-fpm.d/docker.conf && \ + rm /usr/local/etc/php-fpm.d/zz-docker.conf + +# Add FPM configs +COPY context/php/php-fpm.d/worker.conf /usr/local/etc/php-fpm.d/worker.conf +COPY context/php/php-fpm.conf /usr/local/etc/php-fpm.conf + +# Copy php.ini configuration +COPY context/php/php.ini /usr/local/etc/php/ +COPY context/php/conf.d/90-opcache.ini /usr/local/etc/php/conf.d/ +COPY context/php/conf.d/92-session.ini /usr/local/etc/php/conf.d/ +COPY context/php/disabled /usr/local/etc/php/disabled + +WORKDIR /data + +# Install composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION} + +# Create application user 'spryker' +RUN addgroup spryker && \ + adduser -h /home/spryker -s /bin/sh -G www-data -D spryker && \ + chown spryker:spryker ${srcRoot} + +USER spryker +ENV COMPOSER_MEMORY_LIMIT=-1 +RUN mkdir -p /home/spryker/.composer +RUN bash -c '[[ $COMPOSER_VERSION == "1"* ]] && composer global require hirak/prestissimo && rm -rf /home/spryker/.composer/cache || true' + +USER root + diff --git a/alpine/3.24/8.5/Dockerfile b/alpine/3.24/8.5/Dockerfile new file mode 100644 index 00000000..040ea507 --- /dev/null +++ b/alpine/3.24/8.5/Dockerfile @@ -0,0 +1,230 @@ +# syntax = docker/dockerfile:1.0.2-experimental +ARG SPRYKER_PHP_VERSION=8.5.9 +FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.24 + +ARG TARGETPLATFORM +ARG COMPOSER_VERSION=2.10.2 +ARG BLACKFIRE_VERSION=1.92.53 +ARG BLACKFIRE_PHP_VERSION=85 +ARG NEWRELIC_VERSION=12.9.0.38 +ARG TIDEWAYS_VERSION=5.42.0 +ARG TIDEWAYS_PHP_VERSION=8.5 + +ENV srcRoot /data +RUN mkdir -p ${srcRoot} + +ARG PHP_RUN_DEPS="\ + freetype \ + gmp \ + gnu-libiconv \ + icu-libs \ + libbz2 \ + libc6-compat \ + libjpeg-turbo \ + libpng \ + libwebp \ + libxml2 \ + libxpm \ + libxslt \ + libzip \ + rabbitmq-c \ + imagemagick" + +ARG PHP_BUILD_DEPS="\ + autoconf \ + bzip2-dev \ + freetype-dev \ + gmp-dev \ + icu-dev \ + icu-data-full \ + libjpeg-turbo-dev \ + libpng-dev \ + libwebp-dev \ + libxml2-dev \ + libxpm-dev \ + libzip-dev \ + postgresql-dev \ + rabbitmq-c-dev \ + g++ \ + imagemagick-dev" + +# opcache is statically linked into the PHP 8.5 binary and can no longer be built +# as a shared module, so it is not listed here; 90-opcache.ini configures the built-in one. +ARG PHP_EXTENSIONS="\ + bcmath \ + bz2 \ + ftp \ + gd \ + gmp \ + intl \ + mysqli \ + pcntl \ + pdo_mysql \ + pdo_pgsql \ + pgsql \ + soap \ + sockets \ + zip" + +ARG PHP_PECL_EXTENSIONS="\ + apcu \ + redis" + +ARG ADDITIONAL_PHP_PECL_EXTENSIONS="\ + pcov \ + xdebug \ + xhprof \ + excimer \ + amqp \ + imagick" + +ARG GRAPHVIZ_BUILD_DEPS="\ + expat-dev" + +ARG CFLAGS="-I/usr/src/php" +RUN apk update \ + && apk upgrade \ + && apk add --no-cache \ + bash \ + coreutils \ + curl \ + g++ \ + git \ + make \ + mysql-client \ + netcat-openbsd \ + openssh \ + postgresql-client \ + procps \ + python3 \ + shadow \ + unzip \ + linux-headers \ + libstdc++ \ + openssl-dev \ + zlib-dev \ + scdoc \ + ${PHP_RUN_DEPS} \ + && apk add --no-cache --virtual .php-build-deps ${PHP_BUILD_DEPS} \ + && apk add --no-cache --virtual .graphviz-build-deps ${GRAPHVIZ_BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/ \ + && cd /tmp \ + && git clone --depth 1 --branch v3.0.0_rc7 https://github.com/alpinelinux/apk-tools.git apk-tools-v3.0.0_rc7 \ + && cd apk-tools-v3.0.0_rc7 && make LUA=no && make LUA=no install \ + && cd /tmp \ + && curl -LO https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz \ + && tar xzf icu4c-74_1-src.tgz \ + && cd icu/source && ./configure --prefix=/usr && make && make install \ + && cd /tmp \ + && rm -rf /tmp/apk-tools-v3.0.0_rc7 /tmp/icu4c-74_1-src.tgz /tmp/icu \ + && docker-php-ext-configure gd \ + --disable-gd-jis-conv \ + --with-freetype=/usr \ + --with-jpeg=/usr \ + --with-webp=/usr \ + --with-xpm=/usr \ + && docker-php-ext-install -j5 ${PHP_EXTENSIONS} \ + && pecl install -o -f ${PHP_PECL_EXTENSIONS} ${ADDITIONAL_PHP_PECL_EXTENSIONS} \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable ${PHP_EXTENSIONS} ${PHP_PECL_EXTENSIONS} \ + && apk del --no-cache .php-build-deps + +# Related to https://github.com/docker-library/php/issues/240 +ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so + +# Otel +RUN echo "https://dl-cdn.alpinelinux.org/alpine/v$(cut -d'.' -f1,2 /etc/alpine-release)/community" >> /etc/apk/repositories +RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && apk add --no-cache \ + php${PHP_VERSION}-pecl-grpc \ + php${PHP_VERSION}-pecl-protobuf \ + php${PHP_VERSION}-pecl-opentelemetry + +RUN PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ + && EXT_DIR=$(php -r "echo ini_get('extension_dir');") \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/grpc.so $EXT_DIR/grpc.so \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/protobuf.so $EXT_DIR/protobuf.so \ + && ln -s /usr/lib/php${PHP_VERSION}/modules/opentelemetry.so $EXT_DIR/opentelemetry.so + +## Blackfire +ENV BLACKFIRE_AGENT_SOCKET='' +RUN architecture=$(case ${TARGETPLATFORM} in "linux/amd64") echo "amd64" ;; linux/arm64) echo "arm64" ;; *) echo "amd64" ;; esac) \ + && curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_VERSION}/blackfire-php-alpine_${architecture}-php-${BLACKFIRE_PHP_VERSION}.so \ + && mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so + +# New Relic +ENV NEWRELIC_ENABLED=0 +ENV NEWRELIC_LICENSE='' +ENV NEWRELIC_APPNAME='Spryker' +ENV NEWRELIC_DISTRIBUTED_TRACING_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_ENABLED=0 +ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 +ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 +ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 + +RUN bash -c 'curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ + && export NR_INSTALL_USE_CP_NOT_LN=1 \ + && export NR_INSTALL_SILENT=1 \ + && /tmp/newrelic-php5-*/newrelic-install install \ + && rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* \ + && /usr/bin/install -d -m 777 /var/log/newrelic/ \ + && rm /usr/local/etc/php/conf.d/newrelic.ini' + +# Tideways +ENV TIDEWAYS_APIKEY='' +ENV TIDEWAYS_DAEMON_URI='' +ENV TIDEWAYS_CLI_ENABLED=0 +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-x86_64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz" \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine-arm64.tar.gz \ + && cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-alpine-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + +# GraphViz 7.0.5 +RUN cd /tmp && \ + curl -L https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/7.0.5/graphviz-7.0.5.tar.gz | tar -zx && \ + cd /tmp/graphviz-7.0.5 && \ + ./configure && \ + make && \ + make install && \ + rm -rf /tmp/graphviz-7.0.5 && \ + apk del --no-cache .graphviz-build-deps + +# Opcache +RUN /usr/bin/install -d -m 777 /var/run/opcache + +# Remove default FPM pool +RUN rm /usr/local/etc/php-fpm.d/www.conf && \ + rm /usr/local/etc/php-fpm.d/docker.conf && \ + rm /usr/local/etc/php-fpm.d/zz-docker.conf + +# Add FPM configs +COPY context/php/php-fpm.d/worker.conf /usr/local/etc/php-fpm.d/worker.conf +COPY context/php/php-fpm.conf /usr/local/etc/php-fpm.conf + +# Copy php.ini configuration +COPY context/php/php.ini /usr/local/etc/php/ +COPY context/php/conf.d/90-opcache.ini /usr/local/etc/php/conf.d/ +COPY context/php/conf.d/92-session.ini /usr/local/etc/php/conf.d/ +COPY context/php/disabled /usr/local/etc/php/disabled + +WORKDIR /data + +# Install composer +RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION} + +# Create application user 'spryker' +RUN addgroup spryker && \ + adduser -h /home/spryker -s /bin/sh -G www-data -D spryker && \ + chown spryker:spryker ${srcRoot} + +USER spryker +ENV COMPOSER_MEMORY_LIMIT=-1 +RUN mkdir -p /home/spryker/.composer +RUN bash -c '[[ $COMPOSER_VERSION == "1"* ]] && composer global require hirak/prestissimo && rm -rf /home/spryker/.composer/cache || true' + +USER root diff --git a/debian/bullseye/8.1/Dockerfile b/debian/bookworm/8.5/Dockerfile similarity index 72% rename from debian/bullseye/8.1/Dockerfile rename to debian/bookworm/8.5/Dockerfile index d0923e2c..f6870475 100644 --- a/debian/bullseye/8.1/Dockerfile +++ b/debian/bookworm/8.5/Dockerfile @@ -1,16 +1,17 @@ # syntax=docker/dockerfile:1.7 -ARG SPRYKER_PHP_VERSION=8.1.33 +ARG SPRYKER_PHP_VERSION=8.5.9 -FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye +# PHP 8.5 is not published for "bullseye" upstream, so this image is based on "bookworm". +FROM php:${SPRYKER_PHP_VERSION}-fpm-bookworm SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 -ARG BLACKFIRE_VERSION=1.87.1 -ARG BLACKFIRE_PHP_VERSION=81 +ARG COMPOSER_VERSION=2.10.2 +ARG BLACKFIRE_VERSION=1.92.53 +ARG BLACKFIRE_PHP_VERSION=85 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 -ARG TIDEWAYS_PHP_VERSION=8.1 +ARG TIDEWAYS_VERSION=5.42.0 +ARG TIDEWAYS_PHP_VERSION=8.5 ARG GOLANG_VERSION=1.20.3 ENV srcRoot /data @@ -21,10 +22,10 @@ ARG PHP_RUN_DEPS="\ libbz2-1.0 \ libfreetype6 \ libgmp10 \ - libicu67 \ + libicu72 \ libjpeg62-turbo \ libpng16-16 \ - libwebp6 \ + libwebp7 \ libxml2 \ libxpm4 \ libxslt1.1 \ @@ -44,20 +45,23 @@ ARG PHP_BUILD_DEPS="\ libxml2-dev \ libxpm-dev \ libzip-dev \ + libssl-dev \ librabbitmq-dev \ libgrpc-dev \ libprotobuf-dev \ protobuf-compiler \ libmagickwand-dev" +# opcache is statically linked into the PHP 8.5 binary and can no longer be built +# as a shared module, so it is not listed here; 90-opcache.ini configures the built-in one. ARG PHP_EXTENSIONS="\ bcmath \ bz2 \ + ftp \ gd \ gmp \ intl \ mysqli \ - opcache \ pcntl \ pdo_mysql \ pdo_pgsql \ @@ -137,8 +141,8 @@ RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash # Blackfire ENV BLACKFIRE_AGENT_SOCKET='' RUN architecture=$(case ${TARGETPLATFORM} in "linux/amd64") echo "amd64" ;; linux/arm64) echo "arm64" ;; *) echo "amd64" ;; esac) \ - && curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_VERSION}/blackfire-php-linux_${architecture}-php-${BLACKFIRE_PHP_VERSION}.so \ - && mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so + && curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_VERSION}/blackfire-php-linux_${architecture}-php-${BLACKFIRE_PHP_VERSION}.so \ + && mv /tmp/blackfire.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so # New Relic ENV NEWRELIC_ENABLED=0 @@ -151,24 +155,24 @@ ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 RUN bash -c 'curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux.tar.gz" | tar -C /tmp -zx \ - && export NR_INSTALL_USE_CP_NOT_LN=1 \ - && export NR_INSTALL_SILENT=1 \ - && /tmp/newrelic-php5-*/newrelic-install install \ - && rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* \ - && /usr/bin/install -d -m 777 /var/log/newrelic/ \ - && rm /usr/local/etc/php/conf.d/newrelic.ini \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' + && export NR_INSTALL_USE_CP_NOT_LN=1 \ + && export NR_INSTALL_SILENT=1 \ + && /tmp/newrelic-php5-*/newrelic-install install \ + && rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* \ + && /usr/bin/install -d -m 777 /var/log/newrelic/ \ + && rm /usr/local/etc/php/conf.d/newrelic.ini \ + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-x86_64.tar.gz" && \ - tar xvzf tideways-php-${TIDEWAYS_VERSION}-x86_64.tar.gz && \ - cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-x86_64.tar.gz" && \ + tar xvzf tideways-php-${TIDEWAYS_VERSION}-x86_64.tar.gz && \ + cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-arm64.tar.gz" && \ - tar xvzf tideways-php-${TIDEWAYS_VERSION}-arm64.tar.gz && \ - cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' + wget "https://s3-eu-west-1.amazonaws.com/tideways/extension/${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_VERSION}-arm64.tar.gz" && \ + tar xvzf tideways-php-${TIDEWAYS_VERSION}-arm64.tar.gz && \ + cp ./tideways-php-${TIDEWAYS_VERSION}/tideways-php-${TIDEWAYS_PHP_VERSION}.so $(php-config --extension-dir)/tideways.so; fi' # Opcache RUN /usr/bin/install -d -m 777 /var/run/opcache diff --git a/debian/bullseye/8.2/Dockerfile b/debian/bullseye/8.2/Dockerfile index 7664c022..f7f23121 100644 --- a/debian/bullseye/8.2/Dockerfile +++ b/debian/bullseye/8.2/Dockerfile @@ -5,11 +5,11 @@ FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.2 ARG GOLANG_VERSION=1.20.3 diff --git a/debian/bullseye/8.3/Dockerfile b/debian/bullseye/8.3/Dockerfile index 86cab366..bec0f204 100644 --- a/debian/bullseye/8.3/Dockerfile +++ b/debian/bullseye/8.3/Dockerfile @@ -5,11 +5,11 @@ FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=83 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.3 ARG GOLANG_VERSION=1.20.3 diff --git a/debian/bullseye/8.4/Dockerfile b/debian/bullseye/8.4/Dockerfile index ef46e06e..30801309 100644 --- a/debian/bullseye/8.4/Dockerfile +++ b/debian/bullseye/8.4/Dockerfile @@ -5,11 +5,11 @@ FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.9.8 +ARG COMPOSER_VERSION=2.10.2 ARG BLACKFIRE_VERSION=1.92.48 ARG BLACKFIRE_PHP_VERSION=84 ARG NEWRELIC_VERSION=12.9.0.38 -ARG TIDEWAYS_VERSION=5.32.0 +ARG TIDEWAYS_VERSION=5.42.0 ARG TIDEWAYS_PHP_VERSION=8.4 ARG GOLANG_VERSION=1.20.3