Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 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
17 changes: 12 additions & 5 deletions src/variations/frankenphp/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG BASE_OS_VERSION='bookworm'
ARG PHP_VERSION='8.3'
ARG FRANKEN_PHP_VERSION='1.2.2'
ARG PHP_VERSION='8.4'
ARG FRANKEN_PHP_VERSION='1.5.0'
ARG PHP_VARIATION='frankenphp'
ARG BASE_IMAGE="dunglas/frankenphp:${FRANKEN_PHP_VERSION}-php${PHP_VERSION}-${BASE_OS_VERSION}"

Expand Down Expand Up @@ -29,6 +29,7 @@ ENV APP_BASE_DIR=/app \
COMPOSER_MAX_PARALLEL_HTTP=24 \
DISABLE_DEFAULT_CONFIG=false \
LOG_OUTPUT_LEVEL=warn \
HEALTHCHECK_PATH="/healthcheck" \
PHP_DATE_TIMEZONE="UTC" \
PHP_DISPLAY_ERRORS=Off \
PHP_DISPLAY_STARTUP_ERRORS=Off \
Expand All @@ -46,16 +47,18 @@ ENV APP_BASE_DIR=/app \
PHP_POST_MAX_SIZE="100M" \
PHP_SESSION_COOKIE_SECURE=false \
PHP_UPLOAD_MAX_FILE_SIZE="100M" \
SHOW_WELCOME_MESSAGE=true
SHOW_WELCOME_MESSAGE=true \
FRANKENPHP_WEBROOT=public/


# copy our scripts
COPY --chmod=755 src/common/ /
COPY --chmod=755 src/variations/frankenphp/etc/ /etc/

# install pecl extensions & dependencies
RUN docker-php-serversideup-dep-install-alpine "${DEPENDENCY_PACKAGES_ALPINE}" && \
docker-php-serversideup-dep-install-debian "${DEPENDENCY_PACKAGES_DEBIAN}" && \
docker-php-serversideup-install-php-ext-installer && \
\
# Make composer cache directory
mkdir -p "${COMPOSER_HOME}" && \
chown -R www-data:www-data "${COMPOSER_HOME}" && \
Expand All @@ -70,4 +73,8 @@ WORKDIR ${APP_BASE_DIR}

ENTRYPOINT ["docker-php-serversideup-entrypoint"]

CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]
CMD ["frankenphp", "run", "--config", "/etc/caddy/Caddyfile", "--adapter", "caddyfile"]

HEALTHCHECK --interval=5s --timeout=3s --retries=3 \
CMD [ "sh", "-c", "curl --insecure --silent --location --show-error --fail http://localhost:8080$HEALTHCHECK_PATH || exit 1" ]

78 changes: 78 additions & 0 deletions src/variations/frankenphp/etc/caddy/Caddyfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
{$CADDY_GLOBAL_OPTIONS}

http_port 8080
https_port 8443

# todo: don't automatically redirect
auto_https disable_redirects

# todo: just testing
local_certs

log {
format console
}

frankenphp {
#worker /path/to/your/worker.php
{$FRANKENPHP_CONFIG}
}
}

{$CADDY_EXTRA_CONFIG}

(common) {
log {
output stdout
}

log_skip {$HEALTHCHECK_PATH}*

#log {
# # Redact the authorization query parameter that can be set by Mercure
# format filter {
# request>uri query {
# replace authorization REDACTED
# }
# }
#}

encode zstd br gzip

root * {$FRANKENPHP_WEBROOT}

route {$HEALTHCHECK_PATH} {
respond "OK" 200
}

# Uncomment the following lines to enable Mercure and Vulcain modules
#mercure {
# # Transport to use (default to Bolt)
# transport_url {$MERCURE_TRANSPORT_URL:bolt:///data/mercure.db}
# # Publisher JWT key
# publisher_jwt {env.MERCURE_PUBLISHER_JWT_KEY} {env.MERCURE_PUBLISHER_JWT_ALG}
# # Subscriber JWT key
# subscriber_jwt {env.MERCURE_SUBSCRIBER_JWT_KEY} {env.MERCURE_SUBSCRIBER_JWT_ALG}
# # Allow anonymous subscribers (double-check that it's what you want)
# anonymous
# # Enable the subscription API (double-check that it's what you want)
# subscriptions
# # Extra directives
# {$MERCURE_EXTRA_DIRECTIVES}
#}
#vulcain

{$CADDY_SERVER_EXTRA_DIRECTIVES}

php_server
}

:8080 {
import common
}

:8443 {
tls internal
import common
}
Comment thread
jaydrogers marked this conversation as resolved.
Outdated