diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b68f40f2..7977d35a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,10 +32,18 @@ jobs: ### Alpine 3.17 - image: "alpine/3.17/8.1/Dockerfile" - tags: [ "spryker/php:8.1", "spryker/php:8.1-alpine3.17" ] + tags: [ "spryker/php:8.1-alpine3.17" ] platforms: [ "linux/amd64", "linux/arm64" ] - image: "alpine/3.17/8.2/Dockerfile" - tags: [ "spryker/php:latest", "spryker/php:8.2", "spryker/php:8.2-alpine3.17" ] + tags: [ "spryker/php:8.2-alpine3.17" ] + platforms: [ "linux/amd64", "linux/arm64" ] + + ### Alpine 3.18 + - image: "alpine/3.18/8.1/Dockerfile" + tags: [ "spryker/php:8.1", "spryker/php:8.1-alpine3.18" ] + platforms: [ "linux/amd64", "linux/arm64" ] + - image: "alpine/3.18/8.2/Dockerfile" + tags: [ "spryker/php:latest", "spryker/php:8.2", "spryker/php:8.2-alpine3.18" ] platforms: [ "linux/amd64", "linux/arm64" ] ## Debian diff --git a/.gitignore b/.gitignore index 485dee64..b7ee0178 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea +utils.sh diff --git a/README.md b/README.md index 8c2daa08..4c5ca574 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ Extends official PHP Docker images with extensions and tools to be able to run S * `Alpine 3.15` * `Alpine 3.16` * `Alpine 3.17` + * `Alpine 3.18` * `Debian "bullseye"` * Users: `root`, `spryker` @@ -29,15 +30,17 @@ Extends official PHP Docker images with extensions and tools to be able to run S | Tag | PHP version | Linux distribution | Details | Dockerfile | |:--------------------------------------------------------------------------------------------|:------------|:-------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------| -| [spryker/php:latest](https://hub.docker.com/r/spryker/php/tags?name=latest) | 8.2.5 | Alpine 3.17 | [![](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.17/8.2/Dockerfile) | -| [spryker/php:8.2](https://hub.docker.com/r/spryker/php/tags?name=8.2) | 8.2.5 | Alpine 3.17 | [![](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.17/8.2/Dockerfile) | -| [spryker/php:8.1](https://hub.docker.com/r/spryker/php/tags?name=8.1) | 8.1.18 | Alpine 3.17 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1.svg)](https://microbadger.com/images/spryker/php:8.1 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.17/8.1/Dockerfile) | +| [spryker/php:latest](https://hub.docker.com/r/spryker/php/tags?name=latest) | 8.2.9 | Alpine 3.18 | [![](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.18/8.2/Dockerfile) | +| [spryker/php:8.2](https://hub.docker.com/r/spryker/php/tags?name=8.2) | 8.2.9 | Alpine 3.18 | [![](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.18/8.2/Dockerfile) | +| [spryker/php:8.1](https://hub.docker.com/r/spryker/php/tags?name=8.1) | 8.1.22 | Alpine 3.18 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1.svg)](https://microbadger.com/images/spryker/php:8.1 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.18/8.1/Dockerfile) | | [spryker/php:8.0](https://hub.docker.com/r/spryker/php/tags?name=8.0) | 8.0.28 | Alpine 3.16 | [![](https://images.microbadger.com/badges/image/spryker/php:8.0.svg)](https://microbadger.com/images/spryker/php:8.0 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.0/Dockerfile) | -| [spryker/php:8.2-alpine3.17](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.17) | 8.2.5 | Alpine 3.17 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.17.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.17 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.17/8.2/Dockerfile) | -| [spryker/php:8.1-alpine3.17](https://hub.docker.com/r/spryker/php/tags?name=8.1-alpine3.17) | 8.1.18 | Alpine 3.17 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-alpine3.17.svg)](https://microbadger.com/images/spryker/php:8.1-alpine3.17 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.1/Dockerfile) | +| [spryker/php:8.2-alpine3.18](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.18) | 8.2.9 | Alpine 3.18 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.18.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.18 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.18/8.2/Dockerfile) | +| [spryker/php:8.1-alpine3.18](https://hub.docker.com/r/spryker/php/tags?name=8.1-alpine3.18) | 8.1.22 | Alpine 3.18 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-alpine3.18.svg)](https://microbadger.com/images/spryker/php:8.1-alpine3.18 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.18/8.1/Dockerfile) | +| [spryker/php:8.2-alpine3.17](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.17) | 8.2.9 | Alpine 3.17 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.17.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.17 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.17/8.2/Dockerfile) | +| [spryker/php:8.1-alpine3.17](https://hub.docker.com/r/spryker/php/tags?name=8.1-alpine3.17) | 8.1.22 | Alpine 3.17 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-alpine3.17.svg)](https://microbadger.com/images/spryker/php:8.1-alpine3.17 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.1/Dockerfile) | | [spryker/php:8.2-alpine3.16](https://hub.docker.com/r/spryker/php/tags?name=8.2-alpine3.16) | 8.2.5 | Alpine 3.16 | [![](https://images.microbadger.com/badges/image/spryker/php:8.2-alpine3.16.svg)](https://microbadger.com/images/spryker/php:8.2-alpine3.16 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.2/Dockerfile) | -| [spryker/php:8.1-alpine3.16](https://hub.docker.com/r/spryker/php/tags?name=8.1-alpine3.16) | 8.1.18 | Alpine 3.16 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-alpine3.16.svg)](https://microbadger.com/images/spryker/php:8.1-alpine3.16 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.1/Dockerfile) | -| [spryker/php:8.0-alpine3.16](https://hub.docker.com/r/spryker/php/tags?name=8.0-alpine3.16) | 8.0.28 | Alpine 3.16 | [![](https://images.microbadger.com/badges/image/spryker/php:8.0-alpine3.16.svg)](https://microbadger.com/images/spryker/php:8.0-alpine3.16 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.0/Dockerfile) | +| [spryker/php:8.1-alpine3.16](https://hub.docker.com/r/spryker/php/tags?name=8.1-alpine3.16) | 8.1.22 | Alpine 3.16 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-alpine3.16.svg)](https://microbadger.com/images/spryker/php:8.1-alpine3.16 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.1/Dockerfile) | +| [spryker/php:8.0-alpine3.16](https://hub.docker.com/r/spryker/php/tags?name=8.0-alpine3.16) | 8.0.30 | Alpine 3.16 | [![](https://images.microbadger.com/badges/image/spryker/php:8.0-alpine3.16.svg)](https://microbadger.com/images/spryker/php:8.0-alpine3.16 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.16/8.0/Dockerfile) | | [spryker/php:8.1-alpine3.15](https://hub.docker.com/r/spryker/php/tags?name=8.1-alpine3.15) | 8.1.13 | Alpine 3.15 | [![](https://images.microbadger.com/badges/image/spryker/php:8.1-alpine3.15.svg)](https://microbadger.com/images/spryker/php:8.1-alpine3.15 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.15/8.1/Dockerfile) | | [spryker/php:8.0-alpine3.15](https://hub.docker.com/r/spryker/php/tags?name=8.0-alpine3.15) | 8.0.26 | Alpine 3.15 | [![](https://images.microbadger.com/badges/image/spryker/php:8.0-alpine3.15.svg)](https://microbadger.com/images/spryker/php:8.0-alpine3.15 "Get your own image badge on microbadger.com") | [:link:](https://github.com/spryker/docker-php/blob/master/alpine/3.15/8.0/Dockerfile) | | [spryker/php:8.2-debian](https://hub.docker.com/r/spryker/php/tags?name=8.2-debian) | 8.2.5 | 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) | @@ -170,8 +173,8 @@ Installed extensions Disabled extensions ==================== - [ ] blackfire 1.86.4~linux-x64-non_zts82 - [ ] newrelic 10.9.0.324 + [ ] blackfire 1.87.1 + [ ] newrelic 10.11.0.3 [ ] pcov 1.0.11 [ ] tideways 5.5.14 [ ] xhprof 2.3.9 @@ -182,12 +185,12 @@ PACKAGE VERSION STATE apcu 5.1.22 stable pcov 1.0.11 stable redis 5.3.7 stable -xdebug 3.2.1 stable +xdebug 3.2.2 stable xhprof 2.3.9 stable Composer ==================== -Composer version 2.5.5 2023-03-21 11:50:05 +Composer version 2.5.8 2023-06-09 17:13:21 ``` ##### Run the following to get the report ```bash diff --git a/alpine/3.15/8.0/Dockerfile b/alpine/3.15/8.0/Dockerfile index 95e9e393..05b2a727 100644 --- a/alpine/3.15/8.0/Dockerfile +++ b/alpine/3.15/8.0/Dockerfile @@ -1,16 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental ARG SPRYKER_PHP_VERSION=8.0.26 -ARG NEWRELIC_VERSION=10.6.0.318 - -FROM spryker/newrelic-extension:${NEWRELIC_VERSION}-php8.0 as spyker-newrelic-arm FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.15 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=80 -ARG NEWRELIC_VERSION=10.6.0.318 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.8 ARG TIDEWAYS_PHP_VERSION=8.0 @@ -87,7 +84,7 @@ RUN apk update \ mysql-client \ netcat-openbsd \ openssh \ - openssl=1.1.1t-r3 \ + openssl \ postgresql-client \ procps \ python3 \ @@ -131,22 +128,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.15/8.1/Dockerfile b/alpine/3.15/8.1/Dockerfile index 7dc57783..a65b18bf 100644 --- a/alpine/3.15/8.1/Dockerfile +++ b/alpine/3.15/8.1/Dockerfile @@ -1,16 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental ARG SPRYKER_PHP_VERSION=8.1.13 -ARG NEWRELIC_VERSION=10.6.0.318 - -FROM spryker/newrelic-extension:${NEWRELIC_VERSION}-php8.1 as spyker-newrelic-arm FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.15 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=81 -ARG NEWRELIC_VERSION=10.6.0.318 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.8 ARG TIDEWAYS_PHP_VERSION=8.1 @@ -87,7 +84,7 @@ RUN apk update \ mysql-client \ netcat-openbsd \ openssh \ - openssl=1.1.1t-r3 \ + openssl \ postgresql-client \ procps \ python3 \ @@ -130,22 +127,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.16/8.0/Dockerfile b/alpine/3.16/8.0/Dockerfile index 607957b8..fd944bed 100644 --- a/alpine/3.16/8.0/Dockerfile +++ b/alpine/3.16/8.0/Dockerfile @@ -1,16 +1,14 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.0.28 +ARG SPRYKER_PHP_VERSION=8.0.30 ARG NEWRELIC_VERSION=10.6.0.318 -FROM spryker/newrelic-extension:${NEWRELIC_VERSION}-php8.0 as spyker-newrelic-arm - FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.16 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=80 -ARG NEWRELIC_VERSION=10.6.0.318 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.8 ARG TIDEWAYS_PHP_VERSION=8.0 @@ -88,7 +86,7 @@ RUN apk update \ mysql-client \ netcat-openbsd \ openssh \ - openssl=1.1.1t-r2 \ + openssl \ postgresql-client \ procps \ python3 \ @@ -131,22 +129,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.16/8.1/Dockerfile b/alpine/3.16/8.1/Dockerfile index 903c5d62..a6e9f2f4 100644 --- a/alpine/3.16/8.1/Dockerfile +++ b/alpine/3.16/8.1/Dockerfile @@ -1,16 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.1.18 -ARG NEWRELIC_VERSION=10.6.0.318 - -FROM spryker/newrelic-extension:${NEWRELIC_VERSION}-php8.1 as spyker-newrelic-arm +ARG SPRYKER_PHP_VERSION=8.1.22 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.16 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=81 -ARG NEWRELIC_VERSION=10.6.0.318 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.8 ARG TIDEWAYS_PHP_VERSION=8.1 @@ -88,7 +85,7 @@ RUN apk update \ mysql-client \ netcat-openbsd \ openssh \ - openssl=1.1.1t-r2 \ + openssl \ postgresql-client \ procps \ python3 \ @@ -131,22 +128,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.16/8.2/Dockerfile b/alpine/3.16/8.2/Dockerfile index 2baa8e7f..15f3fba5 100644 --- a/alpine/3.16/8.2/Dockerfile +++ b/alpine/3.16/8.2/Dockerfile @@ -1,15 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental ARG SPRYKER_PHP_VERSION=8.2.5 -FROM spryker/newrelic-extension:10.9.0.324-php8.2 as spyker-newrelic-arm - FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.16 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 -ARG NEWRELIC_VERSION=10.9.0.324 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.14 ARG TIDEWAYS_PHP_VERSION=8.2 @@ -129,22 +127,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.17/8.1/Dockerfile b/alpine/3.17/8.1/Dockerfile index 917c839d..2d9301f0 100644 --- a/alpine/3.17/8.1/Dockerfile +++ b/alpine/3.17/8.1/Dockerfile @@ -1,15 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.1.18 - -FROM spryker/newrelic-extension:10.6.0.318-php8.1 as spyker-newrelic-arm +ARG SPRYKER_PHP_VERSION=8.1.22 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.17 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=81 -ARG NEWRELIC_VERSION=10.9.0.324 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.14 ARG TIDEWAYS_PHP_VERSION=8.1 @@ -129,22 +127,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.17/8.2/Dockerfile b/alpine/3.17/8.2/Dockerfile index 73a5b7a4..4859a463 100644 --- a/alpine/3.17/8.2/Dockerfile +++ b/alpine/3.17/8.2/Dockerfile @@ -1,15 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental -ARG SPRYKER_PHP_VERSION=8.2.5 - -FROM spryker/newrelic-extension:10.9.0.324-php8.2 as spyker-newrelic-arm +ARG SPRYKER_PHP_VERSION=8.2.9 FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.17 ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 -ARG NEWRELIC_VERSION=10.9.0.324 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.14 ARG TIDEWAYS_PHP_VERSION=8.2 @@ -129,22 +127,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux-musl.tar.gz" | tar -C /tmp -zx \ +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 \ - && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2; fi' - -COPY --from=spyker-newrelic-arm /newrelic.so /tmp/newrelic.so -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cp /tmp/newrelic.so $(php-config --extension-dir)/newrelic.so \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' # Tideways ENV TIDEWAYS_APIKEY='' diff --git a/alpine/3.18/8.1/Dockerfile b/alpine/3.18/8.1/Dockerfile new file mode 100644 index 00000000..c78e00c6 --- /dev/null +++ b/alpine/3.18/8.1/Dockerfile @@ -0,0 +1,194 @@ +# syntax = docker/dockerfile:1.0.2-experimental +ARG SPRYKER_PHP_VERSION=8.1.22 + +FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.18 + +ARG TARGETPLATFORM +ARG COMPOSER_VERSION=2.5.8 +ARG BLACKFIRE_VERSION=1.87.1 +ARG BLACKFIRE_PHP_VERSION=81 +ARG NEWRELIC_VERSION=10.11.0.3 +ARG TIDEWAYS_VERSION=5.5.14 +ARG TIDEWAYS_PHP_VERSION=8.1 + +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" + + +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" + +ARG PHP_EXTENSIONS="\ + bcmath \ + bz2 \ + 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" + +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 \ + ${PHP_RUN_DEPS} \ + && \ + apk add --no-cache --virtual .php-build-deps ${PHP_BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/ \ + && \ + 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 \ + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' + +# 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.tar.gz \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine.tar.gz \ + && cp ./build/dist/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 ./build/dist/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 + +# 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.18/8.2/Dockerfile b/alpine/3.18/8.2/Dockerfile new file mode 100644 index 00000000..89f5ccc2 --- /dev/null +++ b/alpine/3.18/8.2/Dockerfile @@ -0,0 +1,194 @@ +# syntax = docker/dockerfile:1.0.2-experimental +ARG SPRYKER_PHP_VERSION=8.2.9 + +FROM php:${SPRYKER_PHP_VERSION}-fpm-alpine3.18 + +ARG TARGETPLATFORM +ARG COMPOSER_VERSION=2.5.8 +ARG BLACKFIRE_VERSION=1.87.1 +ARG BLACKFIRE_PHP_VERSION=82 +ARG NEWRELIC_VERSION=10.11.0.3 +ARG TIDEWAYS_VERSION=5.5.14 +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" + + +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" + +ARG PHP_EXTENSIONS="\ + bcmath \ + bz2 \ + 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" + +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 \ + ${PHP_RUN_DEPS} \ + && \ + apk add --no-cache --virtual .php-build-deps ${PHP_BUILD_DEPS} \ + && rm -rf /var/lib/apt/lists/ \ + && \ + 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 \ + && ln -s /lib64/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2' + +# 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.tar.gz \ + && tar xvzf tideways-php-${TIDEWAYS_VERSION}-alpine.tar.gz \ + && cp ./build/dist/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 ./build/dist/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 + +# 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.0/Dockerfile b/debian/bullseye/8.0/Dockerfile index 7fd90b7b..abe5c2b8 100644 --- a/debian/bullseye/8.0/Dockerfile +++ b/debian/bullseye/8.0/Dockerfile @@ -1,16 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental ARG SPRYKER_PHP_VERSION=8.0.28 -ARG NEWRELIC_VERSION=10.6.0.318 - -FROM spryker/newrelic-extension:${NEWRELIC_VERSION}-php8.0 as spyker-newrelic-arm FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=80 -ARG NEWRELIC_VERSION=10.6.0.318 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.8 ARG TIDEWAYS_PHP_VERSION=8.0 ARG GOLANG_VERSION=1.20.3 @@ -140,25 +137,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux.tar.gz" | tar -C /tmp -zx \ +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; fi' - -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cd /tmp \ - && git clone https://github.com/newrelic/newrelic-php-agent.git newrelic-php-agent \ - && cd newrelic-php-agent \ - && make agent-install \ - && rm -rf /tmp/newrelic-php-agent \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && 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 \ diff --git a/debian/bullseye/8.1/Dockerfile b/debian/bullseye/8.1/Dockerfile index 8320dc66..982ea4a5 100644 --- a/debian/bullseye/8.1/Dockerfile +++ b/debian/bullseye/8.1/Dockerfile @@ -1,16 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental ARG SPRYKER_PHP_VERSION=8.1.18 -ARG NEWRELIC_VERSION=10.6.0.318 - -FROM spryker/newrelic-extension:${NEWRELIC_VERSION}-php8.1 as spyker-newrelic-arm FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=81 -ARG NEWRELIC_VERSION=10.6.0.318 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.8 ARG TIDEWAYS_PHP_VERSION=8.1 ARG GOLANG_VERSION=1.20.3 @@ -140,25 +137,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux.tar.gz" | tar -C /tmp -zx \ +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; fi' - -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cd /tmp \ - && git clone https://github.com/newrelic/newrelic-php-agent.git newrelic-php-agent \ - && cd newrelic-php-agent \ - && make agent-install \ - && rm -rf /tmp/newrelic-php-agent \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && 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 \ diff --git a/debian/bullseye/8.2/Dockerfile b/debian/bullseye/8.2/Dockerfile index d36dcb98..e985dc49 100644 --- a/debian/bullseye/8.2/Dockerfile +++ b/debian/bullseye/8.2/Dockerfile @@ -1,15 +1,13 @@ # syntax = docker/dockerfile:1.0.2-experimental ARG SPRYKER_PHP_VERSION=8.2.5 -FROM spryker/newrelic-extension:10.9.0.324-php8.2 as spyker-newrelic-arm - FROM php:${SPRYKER_PHP_VERSION}-fpm-bullseye ARG TARGETPLATFORM -ARG COMPOSER_VERSION=2.5.5 +ARG COMPOSER_VERSION=2.5.8 ARG BLACKFIRE_VERSION=1.87.1 ARG BLACKFIRE_PHP_VERSION=82 -ARG NEWRELIC_VERSION=10.9.0.324 +ARG NEWRELIC_VERSION=10.11.0.3 ARG TIDEWAYS_VERSION=5.5.14 ARG TIDEWAYS_PHP_VERSION=8.2 ARG GOLANG_VERSION=1.20.3 @@ -139,25 +137,14 @@ ENV NEWRELIC_SPAN_EVENTS_ENABLED=0 ENV NEWRELIC_TRANSACTION_TRACER_THRESHOLD=0 ENV NEWRELIC_DISTRIBUTED_TRACING_EXCLUDE_NEWRELIC_HEADER=0 -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/amd64" ]; then \ - curl -L "https://download.newrelic.com/php_agent/archive/${NEWRELIC_VERSION}/newrelic-php5-${NEWRELIC_VERSION}-linux.tar.gz" | tar -C /tmp -zx \ +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; fi' - -COPY --from=spyker-newrelic-arm /newrelic-daemon /tmp/newrelic-daemon - -RUN bash -c 'if [ "${TARGETPLATFORM}" == "linux/arm64" ]; then \ - cd /tmp \ - && git clone https://github.com/newrelic/newrelic-php-agent.git newrelic-php-agent \ - && cd newrelic-php-agent \ - && make agent-install \ - && rm -rf /tmp/newrelic-php-agent \ - && cp /tmp/newrelic-daemon /usr/bin/newrelic-daemon; fi' + && 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 \