From c8767b4c7948ef41b50bc1224e3a933e9250e65c Mon Sep 17 00:00:00 2001 From: Valery Maslov Date: Tue, 9 Jul 2024 15:44:27 +0300 Subject: [PATCH] Update frankenphp --- Dockerfile | 32 +++++++++++++++++--------------- compose.override.yaml | 7 +++++-- compose.yaml | 4 ++-- docs/docker.md | 2 +- frankenphp/Caddyfile | 12 ++---------- frankenphp/conf.d/app.ini | 1 - frankenphp/docker-entrypoint.sh | 2 +- symfony.lock | 6 +++--- 8 files changed, 31 insertions(+), 35 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8bc46b41..ca156aed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ #syntax=docker/dockerfile:1.4 # Versions -FROM dunglas/frankenphp:1-alpine AS frankenphp_upstream +FROM dunglas/frankenphp:1-php8.3 AS frankenphp_upstream # The different stages of this Dockerfile are meant to be built into separate images # https://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stage @@ -13,14 +13,16 @@ FROM frankenphp_upstream AS frankenphp_base WORKDIR /app +VOLUME /app/var/ + # persistent / runtime deps -# hadolint ignore=DL3018 -RUN apk add --no-cache \ - acl \ - file \ - gettext \ - git \ - ; +# hadolint ignore=DL3008 +RUN apt-get update && apt-get install -y --no-install-recommends \ + acl \ + file \ + gettext \ + git \ + && rm -rf /var/lib/apt/lists/* RUN set -eux; \ install-php-extensions \ @@ -41,15 +43,16 @@ ENV COMPOSER_ALLOW_SUPERUSER=1 ENV PANTHER_NO_SANDBOX 1 # Not mandatory, but recommended ENV PANTHER_CHROME_ARGUMENTS='--disable-dev-shm-usage' -RUN apk add --no-cache chromium chromium-chromedriver +RUN apt-get update && apt-get install -y --no-install-recommends chromium chromium-driver && rm -rf /var/lib/apt/lists/* # Firefox and geckodriver -#ARG GECKODRIVER_VERSION=0.29.0 -#RUN apk add --no-cache firefox -#RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz; \ -# tar -zxf geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz -C /usr/bin; \ -# rm geckodriver-v$GECKODRIVER_VERSION-linux64.tar.gz +#ARG GECKODRIVER_VERSION=0.34.0 +#RUN apt-get update && apt-get install -y --no-install-recommends firefox && rm -rf /var/lib/apt/lists/* +#RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v$GECKODRIVER_VERSION/geckodriver-v$GECKODRIVER_VERSION-aarch64.tar.gz; \ +# tar -zxf geckodriver-v$GECKODRIVER_VERSION-aarch64.tar.gz -C /usr/bin; \ +# rm geckodriver-v$GECKODRIVER_VERSION-aarch64.tar.gz ###< symfony/panther ### + ###> doctrine/doctrine-bundle ### RUN install-php-extensions pdo_mysql ###< doctrine/doctrine-bundle ### @@ -68,7 +71,6 @@ CMD [ "frankenphp", "run", "--config", "/etc/caddy/Caddyfile" ] FROM frankenphp_base AS frankenphp_dev ENV APP_ENV=dev XDEBUG_MODE=off -VOLUME /app/var/ RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" diff --git a/compose.override.yaml b/compose.override.yaml index 5317a972..5d29da0e 100644 --- a/compose.override.yaml +++ b/compose.override.yaml @@ -30,9 +30,12 @@ services: ###< doctrine/doctrine-bundle ### ###> symfony/mailer ### - mailhog: - image: mailhog/mailhog + mailer: + image: axllent/mailpit ports: - "1025:1025" - "8025:8025" + environment: + MP_SMTP_AUTH_ACCEPT_ANY: 1 + MP_SMTP_AUTH_ALLOW_INSECURE: 1 ###< symfony/mailer ### diff --git a/compose.yaml b/compose.yaml index c8b5d1b9..0578d538 100644 --- a/compose.yaml +++ b/compose.yaml @@ -7,12 +7,12 @@ services: MERCURE_PUBLISHER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!} MERCURE_SUBSCRIBER_JWT_KEY: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!} TRUSTED_PROXIES: ${TRUSTED_PROXIES:-127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16} - TRUSTED_HOSTS: ^${SERVER_NAME:-example\.com|localhost}|php$$ + TRUSTED_HOSTS: ${TRUSTED_HOSTS:-^${SERVER_NAME:-example\.com|localhost}|php$$} # Run "composer require symfony/orm-pack" to install and configure Doctrine ORM DATABASE_URL: mysql://${MYSQL_USER:-app}:${MYSQL_PASSWORD:-!ChangeMe!}@mysql:3306/${MYSQL_DATABASE:-app}?serverVersion=${MYSQL_VERSION:-8.0.35}&charset=utf8mb4 # Run "composer require symfony/mercure-bundle" to install and configure the Mercure integration MERCURE_URL: ${CADDY_MERCURE_URL:-http://php/.well-known/mercure} - MERCURE_PUBLIC_URL: https://${SERVER_NAME:-localhost}/.well-known/mercure + MERCURE_PUBLIC_URL: ${CADDY_MERCURE_PUBLIC_URL:-https://${SERVER_NAME:-localhost}/.well-known/mercure} MERCURE_JWT_SECRET: ${CADDY_MERCURE_JWT_SECRET:-!ChangeThisMercureHubJWTSecretKey!} # The two next lines can be removed after initial installation SYMFONY_VERSION: ${SYMFONY_VERSION:-} diff --git a/docs/docker.md b/docs/docker.md index 7c2e615a..fd6b2acd 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -31,6 +31,6 @@ docker compose exec -T php bin/phpunit Additional services: - PhpMyAdmin http://localhost:8081 -- MailHog http://localhost:8025 +- Mailpit http://localhost:8025 See more detailed documentation here https://github.com/dunglas/symfony-docker diff --git a/frankenphp/Caddyfile b/frankenphp/Caddyfile index 83839304..b8bb57db 100644 --- a/frankenphp/Caddyfile +++ b/frankenphp/Caddyfile @@ -4,11 +4,6 @@ frankenphp { {$FRANKENPHP_CONFIG} } - - # https://caddyserver.com/docs/caddyfile/directives#sorting-algorithm - order mercure after encode - order vulcain after reverse_proxy - order php_server before file_server } {$CADDY_EXTRA_CONFIG} @@ -17,11 +12,8 @@ log { # Redact the authorization query parameter that can be set by Mercure format filter { - wrap console - fields { - uri query { - replace authorization REDACTED - } + request>uri query { + replace authorization REDACTED } } } diff --git a/frankenphp/conf.d/app.ini b/frankenphp/conf.d/app.ini index 9c16d647..497bc884 100644 --- a/frankenphp/conf.d/app.ini +++ b/frankenphp/conf.d/app.ini @@ -1,4 +1,3 @@ -variables_order = EGPCS expose_php = 0 date.timezone = UTC apc.enable_cli = 1 diff --git a/frankenphp/docker-entrypoint.sh b/frankenphp/docker-entrypoint.sh index bdddc3ac..9823560f 100644 --- a/frankenphp/docker-entrypoint.sh +++ b/frankenphp/docker-entrypoint.sh @@ -49,7 +49,7 @@ if [ "$1" = 'frankenphp' ] || [ "$1" = 'php' ] || [ "$1" = 'bin/console' ]; then fi if [ "$( find ./migrations -iname '*.php' -print -quit )" ]; then - php bin/console doctrine:migrations:migrate --no-interaction + php bin/console doctrine:migrations:migrate --no-interaction --all-or-nothing fi fi diff --git a/symfony.lock b/symfony.lock index 6fffb4ce..7a524c6d 100644 --- a/symfony.lock +++ b/symfony.lock @@ -178,12 +178,12 @@ ] }, "symfony/mailer": { - "version": "6.4", + "version": "7.0", "recipe": { "repo": "github.com/symfony/recipes", "branch": "main", "version": "4.3", - "ref": "2bf89438209656b85b9a49238c4467bff1b1f939" + "ref": "df66ee1f226c46f01e85c29c2f7acce0596ba35a" }, "files": [ "config/packages/mailer.yaml" @@ -240,7 +240,7 @@ "repo": "github.com/symfony/recipes", "branch": "main", "version": "1.0", - "ref": "292a3236e81f55b545b09b9954ab097248972ab3" + "ref": "673836afb0eac2b0ec36c44f2ff0379e5a4b2177" } }, "symfony/phpunit-bridge": {