The two container images a Brewless build uses. They contain no code of Brewless and no secret. Build them yourself and you can keep building and running your application without us.
| Image | What it is |
|---|---|
brewless-base:php<version> |
What an application runs on: FrankenPHP, the usual PHP extensions, pg_dump and pdftotext, a default server configuration and entrypoint |
brewless-builder:php<version> |
The base plus Composer, Node 24, crane, rclone, the PostgreSQL 18 client, pgloader and the MariaDB client; the build job in your project runs in it, and so do a file import from another S3 bucket and a database import |
Published from this repository for PHP 8.3, 8.4 and 8.5, as
ghcr.io/brewless/brewless-base:php8.4 and ghcr.io/brewless/brewless-builder:php8.4
(and likewise for the other versions). To build them yourself:
docker build --platform linux/amd64 --build-arg PHP_VERSION=8.4 --target base -t <registry>/brewless-base:php8.4 .
docker build --platform linux/amd64 --build-arg PHP_VERSION=8.4 --target builder -t <registry>/brewless-builder:php8.4 .A serverless job runs without privileges, so it cannot execute a Dockerfile. The build job runs in the builder image, installs your dependencies, builds your frontend, packs the result as one layer and puts that layer on top of the base image through the registry API. The same commit gives the same image.
An application that has docker/Caddyfile, docker/entrypoint.sh or
docker/php.ini in its repository replaces the default of that name. The
entrypoint takes a role as its first argument: web (default), worker,
scheduler, or anything else for the application's console.
MIT. See LICENSE.