From 59751afae243d62095b7f1614738288f4b0552b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Thu, 26 Oct 2023 14:49:28 +0200 Subject: [PATCH] chore: backport fixes and improvements from API Platform --- .dockerignore | 4 ++ .editorconfig | 24 ++------- .github/FUNDING.yml | 1 - .github/workflows/ci.yml | 12 ++--- Dockerfile | 2 +- ...pose.override.yml => compose.override.yaml | 1 + docker-compose.prod.yml => compose.prod.yaml | 0 docker-compose.yml => compose.yaml | 0 frankenphp/Caddyfile | 52 +++++++------------ 9 files changed, 37 insertions(+), 59 deletions(-) delete mode 100644 .github/FUNDING.yml rename docker-compose.override.yml => compose.override.yaml (98%) rename docker-compose.prod.yml => compose.prod.yaml (100%) rename docker-compose.yml => compose.yaml (100%) diff --git a/.dockerignore b/.dockerignore index 3225cf9b3..dc5a87529 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,6 +11,10 @@ **/.gitattributes **/.gitignore **/.gitmodules +**/compose.*.yaml +**/compose.*.yml +**/compose.yaml +**/compose.yml **/docker-compose.*.yaml **/docker-compose.*.yml **/docker-compose.yaml diff --git a/.editorconfig b/.editorconfig index 3ac9219bd..1ea821469 100644 --- a/.editorconfig +++ b/.editorconfig @@ -16,57 +16,43 @@ trim_trailing_whitespace = true insert_final_newline = true [*.{js,html,ts,tsx}] -indent_style = space indent_size = 2 [*.json] -indent_style = space indent_size = 2 [*.md] trim_trailing_whitespace = false -[*.php] -indent_style = space -indent_size = 4 - [*.sh] indent_style = tab -indent_size = 4 [*.xml{,.dist}] indent_style = space indent_size = 4 [*.{yaml,yml}] -indent_style = space -indent_size = 4 trim_trailing_whitespace = false [.github/workflows/*.yml] -indent_style = space indent_size = 2 [.gitmodules] indent_style = tab -indent_size = 4 [.php_cs{,.dist}] indent_style = space indent_size = 4 -[.travis.yml] -indent_style = space -indent_size = 2 - [composer.json] -indent_style = space indent_size = 4 -[docker-compose{,.*}.{yaml,yml}] +[{,docker-}compose{,.*}.{yaml,yml}] indent_style = space indent_size = 2 -[Dockerfile] +[{,*.*}Dockerfile] +indent_style = tab + +[{,*.*}Caddyfile] indent_style = tab -indent_size = 4 diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 37b0b51b4..000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: [dunglas] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d23fa9bf..546c8f21e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,19 +18,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Build Docker images - uses: docker/bake-action@v3 + uses: docker/bake-action@v4 with: pull: true load: true files: | - docker-compose.yml - docker-compose.override.yml + compose.yaml + compose.override.yaml set: | *.cache-from=type=gha,scope=${{github.ref}} *.cache-from=type=gha,scope=refs/heads/main @@ -66,7 +66,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Lint Dockerfile uses: hadolint/hadolint-action@v3.1.0 diff --git a/Dockerfile b/Dockerfile index eed139c4a..1cd3ed03e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,7 @@ ENV PATH="${PATH}:/root/.composer/vendor/bin" COPY --from=composer_upstream --link /composer /usr/bin/composer -HEALTHCHECK CMD wget --no-verbose --tries=1 --spider http://localhost:2019/metrics || exit 1 +HEALTHCHECK --start-period=60s CMD curl -f http://localhost:2019/metrics || exit 1 CMD [ "frankenphp", "run", "--config", "/etc/caddy/Caddyfile" ] # Dev FrankenPHP image diff --git a/docker-compose.override.yml b/compose.override.yaml similarity index 98% rename from docker-compose.override.yml rename to compose.override.yaml index c3c45744f..95021542c 100644 --- a/docker-compose.override.yml +++ b/compose.override.yaml @@ -20,6 +20,7 @@ services: extra_hosts: # Ensure that host.docker.internal is correctly defined on Linux - host.docker.internal:host-gateway + tty: true ###> symfony/mercure-bundle ### ###< symfony/mercure-bundle ### diff --git a/docker-compose.prod.yml b/compose.prod.yaml similarity index 100% rename from docker-compose.prod.yml rename to compose.prod.yaml diff --git a/docker-compose.yml b/compose.yaml similarity index 100% rename from docker-compose.yml rename to compose.yaml diff --git a/frankenphp/Caddyfile b/frankenphp/Caddyfile index 5f4838585..0a95f3b07 100644 --- a/frankenphp/Caddyfile +++ b/frankenphp/Caddyfile @@ -4,26 +4,31 @@ frankenphp { {$FRANKENPHP_CONFIG} } -} -{$SERVER_NAME:localhost} + # 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} -log { - # Redact the authorization query parameter that can be set by Mercure - format filter { - wrap console - fields { - uri query { - replace authorization REDACTED +{$SERVER_NAME:localhost} { + log { + # Redact the authorization query parameter that can be set by Mercure + format filter { + wrap console + fields { + uri query { + replace authorization REDACTED + } } } } -} -route { root * /app/public + encode zstd gzip + mercure { # Transport to use (default to Bolt) transport_url {$MERCURE_TRANSPORT_URL:bolt:///data/mercure.db} @@ -38,28 +43,11 @@ route { # Extra directives {$MERCURE_EXTRA_DIRECTIVES} } - vulcain - - # Add trailing slash for directory requests - @canonicalPath { - file {path}/index.php - not path */ - } - redir @canonicalPath {path}/ 308 - - # If the requested file does not exist, try index files - @indexFiles file { - try_files {path} {path}/index.php index.php - split_path .php - } - rewrite @indexFiles {http.matchers.file.relative} - # FrankenPHP! - @phpFiles path *.php - php @phpFiles + vulcain - encode zstd gzip - file_server + # Disable Topics tracking if not enabled explicitly: https://github.com/jkarlin/topics + header ?Permissions-Policy "browsing-topics=()" - respond 404 + php_server }