Skip to content
Open
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
73 changes: 73 additions & 0 deletions frankenphp-build.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# FrankenPHP build configuration. This file is never overwritten.
# It is loaded as POSIX shell code; do not add untrusted content.

# Active profile: production or development.
BUILD_PROFILE="production"

# Versions/ref. FRANKENPHP_REF may be a tag (v1.9.1), branch, or commit.
FRANKENPHP_REPOSITORY="https://github.com/php/frankenphp.git"
FRANKENPHP_REF="main"
PHP_VERSION="8.4"

# gnu: mostly-static binary for Linux/glibc (recommended on Ubuntu/Debian).
# musl: fully static binary; it cannot load .so extensions afterward.
BUILD_FLAVOR="gnu"
DOCKER_PLATFORM="linux/amd64"
DOCKER_IMAGE_TAG="local/frankenphp-custom:latest"
DOCKER_PULL="true"
NO_CACHE="false"

# Paths. SOURCE_DIR must be reserved exclusively for this script.
# PROJECT_DIR defaults to the directory where the script is invoked.
# FRANKENPHP_PROJECT_DIR can override it without modifying this file.
PROJECT_DIR=${FRANKENPHP_PROJECT_DIR:-"$(pwd -P)"}
SOURCE_DIR="${PROJECT_DIR}/.frankenphp-build/source"
FINAL_BINARY="${PROJECT_DIR}/frankenphp"
BACKUP_DIR="${PROJECT_DIR}/storage/frankenphp/backups"

# Base list shared by both profiles. Use spaces or line breaks as separators.
COMMON_EXTENSIONS="
apcu bcmath bz2 calendar ctype curl dom exif fileinfo filter ftp gd gettext
grpc iconv igbinary intl mbregex mbstring mysqli mysqlnd opcache opentelemetry
openssl password-argon2 pcntl pdo pdo_mysql phar posix readline redis
session simplexml soap sockets sodium tokenizer xml xmlreader xmlwriter xsl zip zlib
"

# Add production-only extensions here.
PRODUCTION_EXTENSIONS="
"

# Additional development extensions. Remove xdebug if it is not needed.
DEVELOPMENT_EXTENSIONS="
xdebug
"

# Additional libraries for optional extension features.
# Examples: libjpeg libwebp freetype. Leave empty when not needed.
PHP_EXTENSION_LIBS="
"

# Extensions the build must contain; verification fails if any are missing.
REQUIRED_EXTENSIONS="
grpc opentelemetry
"

# Repository and output behavior.
UPDATE_SOURCE="true"
ALLOW_DIRTY_SOURCE="false"
KEEP_DOCKER_IMAGE="true"
CREATE_BACKUP="true"

# Final binary owner and mode. Empty values preserve the current user.
FINAL_OWNER=""
FINAL_GROUP=""
FINAL_MODE="0755"

# Optional application check.
LARAVEL_PROJECT_DIR="${PROJECT_DIR}"
COMPOSER_BINARY="/usr/local/bin/composer"
RUN_COMPOSER_PLATFORM_CHECK="false"

# Extra docker build arguments separated by whitespace, in NAME=value format.
# Values containing whitespace are not supported. Avoid storing secrets here.
EXTRA_BUILD_ARGS=""
Loading
Loading