Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Which versions?
ARG PHP_MINOR_VERSION=8.4
ARG PHP_VERSION=${PHP_MINOR_VERSION}.20
ARG PHP_MINOR_VERSION=8.5
ARG PHP_VERSION=${PHP_MINOR_VERSION}.5
ARG REDIS_EXT_VERSION=6.3.0
ARG IMAGICK_EXT_VERSION=3.8.1
ARG PCOV_EXT_VERSION=1.0.12
ARG HTTPD_VERSION=2.4.66
ARG NGINX_VERSION=1.30.0
ARG NODE_VERSION=24.14.1
ARG COMPOSER_VERSION=2.9.7
ARG PLAYWRIGHT_VERSION=1.59.1

# Inherit from Heroku's stack
FROM --platform=linux/amd64 heroku/heroku:24-build AS stage-amd64
Expand All @@ -20,6 +21,7 @@ ARG HTTPD_VERSION
ARG NGINX_VERSION
ARG NODE_VERSION
ARG COMPOSER_VERSION
ARG PLAYWRIGHT_VERSION

# Create some needed directories
USER root
Expand Down Expand Up @@ -55,6 +57,7 @@ ARG HTTPD_VERSION
ARG NGINX_VERSION
ARG NODE_VERSION
ARG COMPOSER_VERSION
ARG PLAYWRIGHT_VERSION

# Create some needed directories
USER root
Expand Down Expand Up @@ -140,6 +143,9 @@ RUN echo "\n\
ENV COREPACK_ENABLE_AUTO_PIN=0
RUN corepack enable --install-directory /app/.heroku/node/bin/

# Install Chromium via Playwright
RUN npx playwright@$PLAYWRIGHT_VERSION install --with-deps chromium

# copy dep files first so Docker caches the install step if they don't change
ONBUILD COPY composer.json composer.lock /app/user/

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ Usage: `FROM ghcr.io/robuust/heroku-php`
* Heroku 24
* Apache
* Nginx
* PHP 8.4.x with Redis, Imagick and PCov
* PHP 8.5.x with Redis, Imagick and PCov
* Composer 2
* Node 24.x
* Yarn 4.x
* Playwright 1.x with Chromium