From 806598944fc8e148f7e5479b6b9a0e17aa4e16c9 Mon Sep 17 00:00:00 2001 From: "Sakith B." Date: Thu, 2 Oct 2025 17:38:08 +0530 Subject: [PATCH 1/4] docker final build --- Dockerfile | 16 +++++++++++++-- meta/image/prod/Caddyfile.prod | 35 ++++++++++++++++++++++++++++++++ meta/image/prod/run.prod | 3 +++ meta/image/prod/supervisord.conf | 27 ++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 meta/image/prod/Caddyfile.prod create mode 100644 meta/image/prod/run.prod create mode 100644 meta/image/prod/supervisord.conf diff --git a/Dockerfile b/Dockerfile index d63d65e..803876a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,5 +71,17 @@ COPY meta/image/dev/run.dev /app/run CMD ["sh", "/app/run"] ################################################### -# FROM backend-base AS final -# TODO +FROM backend-base AS final + +COPY backend /app/backend + +RUN composer install --no-interaction --no-dev --optimize-autoloader --classmap-authoritative + +COPY --from=frontend-prod /app/frontend/build /app/static + +COPY meta/image/prod/Caddyfile.prod /etc/caddy/Caddyfile +COPY meta/image/prod/supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY meta/image/prod/run.prod /app/run + +EXPOSE 80 +CMD ["sh", "/app/run"] diff --git a/meta/image/prod/Caddyfile.prod b/meta/image/prod/Caddyfile.prod new file mode 100644 index 0000000..0e3b094 --- /dev/null +++ b/meta/image/prod/Caddyfile.prod @@ -0,0 +1,35 @@ +{ + frankenphp { + worker "/app/backend/public/index.php" {$WORKERS:0} + } +} + +:80 { + @backend { + path /api/* + } + handle @backend { + root * /app/backend/public + php_server { + file_server off + try_files index.php + } + } + + handle { + root * /app/static + file_server { + pass_thru + } + encode zstd gzip + try_files {path} {path}.html + } + + handle { + root * /app/static + encode zstd gzip + file_server + header Cache-Control "no-store, no-cache, must-revalidate, max-age=0" + rewrite * /fallback.html + } +} diff --git a/meta/image/prod/run.prod b/meta/image/prod/run.prod new file mode 100644 index 0000000..44c0e94 --- /dev/null +++ b/meta/image/prod/run.prod @@ -0,0 +1,3 @@ +#!/bin/sh +bin/console doctrine:migrations:migrate --no-interaction +/usr/bin/supervisord diff --git a/meta/image/prod/supervisord.conf b/meta/image/prod/supervisord.conf new file mode 100644 index 0000000..507b4fe --- /dev/null +++ b/meta/image/prod/supervisord.conf @@ -0,0 +1,27 @@ +[supervisord] +nodaemon=true +logfile=/dev/null +logfile_maxbytes=0 +pidfile=/run/supervisor.pid + +[program:frankenphp] +command=php bin/console frankenphp:run +stdout_logfile=/dev/stdout +stderr_logfile=/dev/stderr +stdout_logfile_maxbytes=0 +stderr_logfile_maxbytes=0 + +[program:messenger-worker-default] +command=php bin/console messenger:consume async -v +stdout_logfile=/dev/stdout +stderr_logfile=/dev/stderr +stdout_logfile_maxbytes=0 +stderr_logfile_maxbytes=0 + +[program:scheduler-consumer] +command=php bin/console scheduler:consume -vv +stdout_logfile=/dev/stdout +stderr_logfile=/dev/stderr +stdout_logfile_maxbytes=0 +stderr_logfile_maxbytes=0 + From e79e07b90acfb2cc18b7719b2f85505e2bb7a393 Mon Sep 17 00:00:00 2001 From: "Sakith B." Date: Sat, 4 Oct 2025 13:57:59 +0530 Subject: [PATCH 2/4] wip --- Dockerfile | 5 +- backend/composer.json | 8 +- backend/composer.lock | 392 +++++++++--------- .../(marketing)/learn/[[slug]]/+page.ts | 2 +- meta/image/prod/supervisord.conf | 9 +- 5 files changed, 204 insertions(+), 212 deletions(-) diff --git a/Dockerfile b/Dockerfile index 803876a..74081c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -73,9 +73,12 @@ CMD ["sh", "/app/run"] ################################################### FROM backend-base AS final +ENV APP_ENV=prod \ + APP_DEBUG=0 + COPY backend /app/backend -RUN composer install --no-interaction --no-dev --optimize-autoloader --classmap-authoritative +RUN composer install --no-interaction --no-dev --optimize-autoloader --classmap-authoritative --no-scripts COPY --from=frontend-prod /app/frontend/build /app/static diff --git a/backend/composer.json b/backend/composer.json index 3a2492a..714ceab 100644 --- a/backend/composer.json +++ b/backend/composer.json @@ -67,13 +67,7 @@ "auto-scripts": { "cache:clear": "symfony-cmd", "assets:install %PUBLIC_DIR%": "symfony-cmd" - }, - "post-install-cmd": [ - "@auto-scripts" - ], - "post-update-cmd": [ - "@auto-scripts" - ] + } }, "conflict": { "symfony/symfony": "*" diff --git a/backend/composer.lock b/backend/composer.lock index 9011479..bef635c 100644 --- a/backend/composer.lock +++ b/backend/composer.lock @@ -1589,16 +1589,16 @@ }, { "name": "hyvor/internal", - "version": "3.1.5", + "version": "3.1.7", "source": { "type": "git", "url": "https://github.com/hyvor/internal.git", - "reference": "f45f734609727e47d3366c0a946482bef8b2e1d0" + "reference": "76f233d951363187b84b8238d6bec6808f79ef0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyvor/internal/zipball/f45f734609727e47d3366c0a946482bef8b2e1d0", - "reference": "f45f734609727e47d3366c0a946482bef8b2e1d0", + "url": "https://api.github.com/repos/hyvor/internal/zipball/76f233d951363187b84b8238d6bec6808f79ef0c", + "reference": "76f233d951363187b84b8238d6bec6808f79ef0c", "shasum": "" }, "require": { @@ -1657,22 +1657,22 @@ "description": "Internal Package for HYVOR Applications", "support": { "issues": "https://github.com/hyvor/internal/issues", - "source": "https://github.com/hyvor/internal/tree/3.1.5" + "source": "https://github.com/hyvor/internal/tree/3.1.7" }, - "time": "2025-09-17T19:10:08+00:00" + "time": "2025-09-27T08:16:58+00:00" }, { "name": "illuminate/collections", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", - "reference": "0683d7b5210b18a2e00bc2dbc5f856a611e1f152" + "reference": "d47aaf15c55dd1c252688fdc7adbee129bd2ff0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/0683d7b5210b18a2e00bc2dbc5f856a611e1f152", - "reference": "0683d7b5210b18a2e00bc2dbc5f856a611e1f152", + "url": "https://api.github.com/repos/illuminate/collections/zipball/d47aaf15c55dd1c252688fdc7adbee129bd2ff0b", + "reference": "d47aaf15c55dd1c252688fdc7adbee129bd2ff0b", "shasum": "" }, "require": { @@ -1718,11 +1718,11 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-09-23T13:51:52+00:00" + "time": "2025-09-28T12:52:25+00:00" }, { "name": "illuminate/conditionable", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", @@ -1768,7 +1768,7 @@ }, { "name": "illuminate/contracts", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", @@ -1816,7 +1816,7 @@ }, { "name": "illuminate/encryption", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/encryption.git", @@ -1867,7 +1867,7 @@ }, { "name": "illuminate/log", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/log.git", @@ -1920,7 +1920,7 @@ }, { "name": "illuminate/macroable", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -1966,16 +1966,16 @@ }, { "name": "illuminate/support", - "version": "v12.31.1", + "version": "v12.32.5", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "3abe3b6866701c3c8d2b8724d51a435c5236c106" + "reference": "648bbaf51b108771e0c3297dc251953fd03a4243" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/3abe3b6866701c3c8d2b8724d51a435c5236c106", - "reference": "3abe3b6866701c3c8d2b8724d51a435c5236c106", + "url": "https://api.github.com/repos/illuminate/support/zipball/648bbaf51b108771e0c3297dc251953fd03a4243", + "reference": "648bbaf51b108771e0c3297dc251953fd03a4243", "shasum": "" }, "require": { @@ -2041,7 +2041,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-09-23T13:51:52+00:00" + "time": "2025-09-29T18:49:19+00:00" }, { "name": "monolog/monolog", @@ -3032,16 +3032,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.57", + "version": "10.5.58", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "8e7598bbb17bb5cd80728f4831d3f83223d3a6b3" + "reference": "e24fb46da450d8e6a5788670513c1af1424f16ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e7598bbb17bb5cd80728f4831d3f83223d3a6b3", - "reference": "8e7598bbb17bb5cd80728f4831d3f83223d3a6b3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e24fb46da450d8e6a5788670513c1af1424f16ca", + "reference": "e24fb46da450d8e6a5788670513c1af1424f16ca", "shasum": "" }, "require": { @@ -3113,7 +3113,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.57" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.58" }, "funding": [ { @@ -3137,7 +3137,7 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:30:38+00:00" + "time": "2025-09-28T12:04:46+00:00" }, { "name": "promphp/prometheus_client_php", @@ -4719,16 +4719,16 @@ }, { "name": "symfony/cache", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "6621a2bee5373e3e972b2ae5dbedd5ac899d8cb6" + "reference": "bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/6621a2bee5373e3e972b2ae5dbedd5ac899d8cb6", - "reference": "6621a2bee5373e3e972b2ae5dbedd5ac899d8cb6", + "url": "https://api.github.com/repos/symfony/cache/zipball/bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f", + "reference": "bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f", "shasum": "" }, "require": { @@ -4797,7 +4797,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.3.2" + "source": "https://github.com/symfony/cache/tree/v7.3.4" }, "funding": [ { @@ -4817,7 +4817,7 @@ "type": "tidelift" } ], - "time": "2025-07-30T17:13:41+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/cache-contracts", @@ -4971,16 +4971,16 @@ }, { "name": "symfony/config", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "faef36e271bbeb74a9d733be4b56419b157762e2" + "reference": "8a09223170046d2cfda3d2e11af01df2c641e961" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/faef36e271bbeb74a9d733be4b56419b157762e2", - "reference": "faef36e271bbeb74a9d733be4b56419b157762e2", + "url": "https://api.github.com/repos/symfony/config/zipball/8a09223170046d2cfda3d2e11af01df2c641e961", + "reference": "8a09223170046d2cfda3d2e11af01df2c641e961", "shasum": "" }, "require": { @@ -5026,7 +5026,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v7.3.2" + "source": "https://github.com/symfony/config/tree/v7.3.4" }, "funding": [ { @@ -5046,20 +5046,20 @@ "type": "tidelift" } ], - "time": "2025-07-26T13:55:06+00:00" + "time": "2025-09-22T12:46:16+00:00" }, { "name": "symfony/console", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7" + "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", - "reference": "cb0102a1c5ac3807cf3fdf8bea96007df7fdbea7", + "url": "https://api.github.com/repos/symfony/console/zipball/2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", + "reference": "2b9c5fafbac0399a20a2e82429e2bd735dcfb7db", "shasum": "" }, "require": { @@ -5124,7 +5124,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.3" + "source": "https://github.com/symfony/console/tree/v7.3.4" }, "funding": [ { @@ -5144,20 +5144,20 @@ "type": "tidelift" } ], - "time": "2025-08-25T06:35:40+00:00" + "time": "2025-09-22T15:31:00+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "ab6c38dad5da9b15b1f7afb2f5c5814112e70261" + "reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ab6c38dad5da9b15b1f7afb2f5c5814112e70261", - "reference": "ab6c38dad5da9b15b1f7afb2f5c5814112e70261", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/82119812ab0bf3425c1234d413efd1b19bb92ae4", + "reference": "82119812ab0bf3425c1234d413efd1b19bb92ae4", "shasum": "" }, "require": { @@ -5208,7 +5208,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.3.3" + "source": "https://github.com/symfony/dependency-injection/tree/v7.3.4" }, "funding": [ { @@ -5228,7 +5228,7 @@ "type": "tidelift" } ], - "time": "2025-08-14T09:54:27+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5299,16 +5299,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "b371ded46da25415e1a3a7422e4acd2ec34214c5" + "reference": "21cd48c34a47a0d0e303a590a67c3450fde55888" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b371ded46da25415e1a3a7422e4acd2ec34214c5", - "reference": "b371ded46da25415e1a3a7422e4acd2ec34214c5", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/21cd48c34a47a0d0e303a590a67c3450fde55888", + "reference": "21cd48c34a47a0d0e303a590a67c3450fde55888", "shasum": "" }, "require": { @@ -5388,7 +5388,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v7.3.3" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.3.4" }, "funding": [ { @@ -5408,20 +5408,20 @@ "type": "tidelift" } ], - "time": "2025-08-18T13:10:53+00:00" + "time": "2025-09-24T09:56:23+00:00" }, { "name": "symfony/doctrine-messenger", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-messenger.git", - "reference": "4d77230ef2d99aa630cf931621d0afb54ce10636" + "reference": "064159484ab330590b7b477f6c8835812f2e340f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/4d77230ef2d99aa630cf931621d0afb54ce10636", - "reference": "4d77230ef2d99aa630cf931621d0afb54ce10636", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/064159484ab330590b7b477f6c8835812f2e340f", + "reference": "064159484ab330590b7b477f6c8835812f2e340f", "shasum": "" }, "require": { @@ -5464,7 +5464,7 @@ "description": "Symfony Doctrine Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-messenger/tree/v7.3.3" + "source": "https://github.com/symfony/doctrine-messenger/tree/v7.3.4" }, "funding": [ { @@ -5484,7 +5484,7 @@ "type": "tidelift" } ], - "time": "2025-08-23T06:38:36+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/dotenv", @@ -5566,16 +5566,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3" + "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/0b31a944fcd8759ae294da4d2808cbc53aebd0c3", - "reference": "0b31a944fcd8759ae294da4d2808cbc53aebd0c3", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/99f81bc944ab8e5dae4f21b4ca9972698bbad0e4", + "reference": "99f81bc944ab8e5dae4f21b4ca9972698bbad0e4", "shasum": "" }, "require": { @@ -5623,7 +5623,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.3.2" + "source": "https://github.com/symfony/error-handler/tree/v7.3.4" }, "funding": [ { @@ -5643,7 +5643,7 @@ "type": "tidelift" } ], - "time": "2025-07-07T08:17:57+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/event-dispatcher", @@ -6085,16 +6085,16 @@ }, { "name": "symfony/framework-bundle", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "19ec4ab6be90322ed190e041e2404a976ed22571" + "reference": "b13e7cec5a144c8dba6f4233a2c53c00bc29e140" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/19ec4ab6be90322ed190e041e2404a976ed22571", - "reference": "19ec4ab6be90322ed190e041e2404a976ed22571", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/b13e7cec5a144c8dba6f4233a2c53c00bc29e140", + "reference": "b13e7cec5a144c8dba6f4233a2c53c00bc29e140", "shasum": "" }, "require": { @@ -6219,7 +6219,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v7.3.3" + "source": "https://github.com/symfony/framework-bundle/tree/v7.3.4" }, "funding": [ { @@ -6239,20 +6239,20 @@ "type": "tidelift" } ], - "time": "2025-08-27T07:45:05+00:00" + "time": "2025-09-17T05:51:54+00:00" }, { "name": "symfony/http-client", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019" + "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019", - "reference": "333b9bd7639cbdaecd25a3a48a9d2dcfaa86e019", + "url": "https://api.github.com/repos/symfony/http-client/zipball/4b62871a01c49457cf2a8e560af7ee8a94b87a62", + "reference": "4b62871a01c49457cf2a8e560af7ee8a94b87a62", "shasum": "" }, "require": { @@ -6319,7 +6319,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.3" + "source": "https://github.com/symfony/http-client/tree/v7.3.4" }, "funding": [ { @@ -6339,7 +6339,7 @@ "type": "tidelift" } ], - "time": "2025-08-27T07:45:05+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/http-client-contracts", @@ -6421,16 +6421,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00" + "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7475561ec27020196c49bb7c4f178d33d7d3dc00", - "reference": "7475561ec27020196c49bb7c4f178d33d7d3dc00", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6", + "reference": "c061c7c18918b1b64268771aad04b40be41dd2e6", "shasum": "" }, "require": { @@ -6480,7 +6480,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.3.3" + "source": "https://github.com/symfony/http-foundation/tree/v7.3.4" }, "funding": [ { @@ -6500,20 +6500,20 @@ "type": "tidelift" } ], - "time": "2025-08-20T08:04:18+00:00" + "time": "2025-09-16T08:38:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b" + "reference": "b796dffea7821f035047235e076b60ca2446e3cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/72c304de37e1a1cec6d5d12b81187ebd4850a17b", - "reference": "72c304de37e1a1cec6d5d12b81187ebd4850a17b", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b796dffea7821f035047235e076b60ca2446e3cf", + "reference": "b796dffea7821f035047235e076b60ca2446e3cf", "shasum": "" }, "require": { @@ -6598,7 +6598,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.3.3" + "source": "https://github.com/symfony/http-kernel/tree/v7.3.4" }, "funding": [ { @@ -6618,20 +6618,20 @@ "type": "tidelift" } ], - "time": "2025-08-29T08:23:45+00:00" + "time": "2025-09-27T12:32:17+00:00" }, { "name": "symfony/lock", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "a78a7956599ae25176053f7a2894f8c084da977a" + "reference": "e025f32cfd1fa8e3a4485a8d810544474aac26da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/a78a7956599ae25176053f7a2894f8c084da977a", - "reference": "a78a7956599ae25176053f7a2894f8c084da977a", + "url": "https://api.github.com/repos/symfony/lock/zipball/e025f32cfd1fa8e3a4485a8d810544474aac26da", + "reference": "e025f32cfd1fa8e3a4485a8d810544474aac26da", "shasum": "" }, "require": { @@ -6680,7 +6680,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v7.3.2" + "source": "https://github.com/symfony/lock/tree/v7.3.4" }, "funding": [ { @@ -6700,7 +6700,7 @@ "type": "tidelift" } ], - "time": "2025-07-30T17:13:41+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/messenger", @@ -7501,16 +7501,16 @@ }, { "name": "symfony/property-info", - "version": "v7.3.1", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "90586acbf2a6dd13bee4f09f09111c8bd4773970" + "reference": "7b6db23f23d13ada41e1cb484748a8ec028fbace" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/90586acbf2a6dd13bee4f09f09111c8bd4773970", - "reference": "90586acbf2a6dd13bee4f09f09111c8bd4773970", + "url": "https://api.github.com/repos/symfony/property-info/zipball/7b6db23f23d13ada41e1cb484748a8ec028fbace", + "reference": "7b6db23f23d13ada41e1cb484748a8ec028fbace", "shasum": "" }, "require": { @@ -7567,7 +7567,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.3.1" + "source": "https://github.com/symfony/property-info/tree/v7.3.4" }, "funding": [ { @@ -7578,25 +7578,29 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-27T19:55:54+00:00" + "time": "2025-09-15T13:55:54+00:00" }, { "name": "symfony/routing", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4" + "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/7614b8ca5fa89b9cd233e21b627bfc5774f586e4", - "reference": "7614b8ca5fa89b9cd233e21b627bfc5774f586e4", + "url": "https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c", + "reference": "8dc648e159e9bac02b703b9fbd937f19ba13d07c", "shasum": "" }, "require": { @@ -7648,7 +7652,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.3.2" + "source": "https://github.com/symfony/routing/tree/v7.3.4" }, "funding": [ { @@ -7668,20 +7672,20 @@ "type": "tidelift" } ], - "time": "2025-07-15T11:36:08+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/runtime", - "version": "v7.3.1", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "9516056d432f8acdac9458eb41b80097da7a05c9" + "reference": "3550e2711e30bfa5d808514781cd52d1cc1d9e9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/9516056d432f8acdac9458eb41b80097da7a05c9", - "reference": "9516056d432f8acdac9458eb41b80097da7a05c9", + "url": "https://api.github.com/repos/symfony/runtime/zipball/3550e2711e30bfa5d808514781cd52d1cc1d9e9f", + "reference": "3550e2711e30bfa5d808514781cd52d1cc1d9e9f", "shasum": "" }, "require": { @@ -7731,7 +7735,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v7.3.1" + "source": "https://github.com/symfony/runtime/tree/v7.3.4" }, "funding": [ { @@ -7742,12 +7746,16 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-06-13T07:48:40+00:00" + "time": "2025-09-11T15:31:28+00:00" }, { "name": "symfony/scheduler", @@ -7836,16 +7844,16 @@ }, { "name": "symfony/serializer", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "5608b04d8daaf29432d76ecc618b0fac169c2dfb" + "reference": "0df5af266c6fe9a855af7db4fea86e13b9ca3ab1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/5608b04d8daaf29432d76ecc618b0fac169c2dfb", - "reference": "5608b04d8daaf29432d76ecc618b0fac169c2dfb", + "url": "https://api.github.com/repos/symfony/serializer/zipball/0df5af266c6fe9a855af7db4fea86e13b9ca3ab1", + "reference": "0df5af266c6fe9a855af7db4fea86e13b9ca3ab1", "shasum": "" }, "require": { @@ -7915,7 +7923,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v7.3.3" + "source": "https://github.com/symfony/serializer/tree/v7.3.4" }, "funding": [ { @@ -7935,7 +7943,7 @@ "type": "tidelift" } ], - "time": "2025-08-27T11:34:33+00:00" + "time": "2025-09-15T13:39:02+00:00" }, { "name": "symfony/serializer-pack", @@ -8135,16 +8143,16 @@ }, { "name": "symfony/string", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c" + "reference": "f96476035142921000338bad71e5247fbc138872" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", - "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c", + "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", + "reference": "f96476035142921000338bad71e5247fbc138872", "shasum": "" }, "require": { @@ -8159,7 +8167,6 @@ }, "require-dev": { "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0", "symfony/translation-contracts": "^2.5|^3.0", @@ -8202,7 +8209,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.3" + "source": "https://github.com/symfony/string/tree/v7.3.4" }, "funding": [ { @@ -8222,20 +8229,20 @@ "type": "tidelift" } ], - "time": "2025-08-25T06:35:40+00:00" + "time": "2025-09-11T14:36:48+00:00" }, { "name": "symfony/translation", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e0837b4cbcef63c754d89a4806575cada743a38d" + "reference": "ec25870502d0c7072d086e8ffba1420c85965174" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e0837b4cbcef63c754d89a4806575cada743a38d", - "reference": "e0837b4cbcef63c754d89a4806575cada743a38d", + "url": "https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174", + "reference": "ec25870502d0c7072d086e8ffba1420c85965174", "shasum": "" }, "require": { @@ -8302,7 +8309,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.3.3" + "source": "https://github.com/symfony/translation/tree/v7.3.4" }, "funding": [ { @@ -8322,7 +8329,7 @@ "type": "tidelift" } ], - "time": "2025-08-01T21:02:37+00:00" + "time": "2025-09-07T11:39:36+00:00" }, { "name": "symfony/translation-contracts", @@ -8519,16 +8526,16 @@ }, { "name": "symfony/twig-bundle", - "version": "v7.3.2", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "5d85220df4d8d79e6a9ca57eea6f70004de39657" + "reference": "da5c778a8416fcce5318737c4d944f6fa2bb3f81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/5d85220df4d8d79e6a9ca57eea6f70004de39657", - "reference": "5d85220df4d8d79e6a9ca57eea6f70004de39657", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/da5c778a8416fcce5318737c4d944f6fa2bb3f81", + "reference": "da5c778a8416fcce5318737c4d944f6fa2bb3f81", "shasum": "" }, "require": { @@ -8583,7 +8590,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v7.3.2" + "source": "https://github.com/symfony/twig-bundle/tree/v7.3.4" }, "funding": [ { @@ -8603,20 +8610,20 @@ "type": "tidelift" } ], - "time": "2025-07-10T08:47:49+00:00" + "time": "2025-09-10T12:00:31+00:00" }, { "name": "symfony/type-info", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/type-info.git", - "reference": "aa64b58ed04517d4d730202dd035895743c23273" + "reference": "d34eaeb57f39c8a9c97eb72a977c423207dfa35b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/type-info/zipball/aa64b58ed04517d4d730202dd035895743c23273", - "reference": "aa64b58ed04517d4d730202dd035895743c23273", + "url": "https://api.github.com/repos/symfony/type-info/zipball/d34eaeb57f39c8a9c97eb72a977c423207dfa35b", + "reference": "d34eaeb57f39c8a9c97eb72a977c423207dfa35b", "shasum": "" }, "require": { @@ -8666,7 +8673,7 @@ "type" ], "support": { - "source": "https://github.com/symfony/type-info/tree/v7.3.3" + "source": "https://github.com/symfony/type-info/tree/v7.3.4" }, "funding": [ { @@ -8686,7 +8693,7 @@ "type": "tidelift" } ], - "time": "2025-08-28T09:38:04+00:00" + "time": "2025-09-11T15:33:27+00:00" }, { "name": "symfony/uid", @@ -8851,16 +8858,16 @@ }, { "name": "symfony/validator", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "a2f26d7c122393db75a2d41435ad8251250f8bc6" + "reference": "5e29a348b5fac2227b6938a54db006d673bb813a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/a2f26d7c122393db75a2d41435ad8251250f8bc6", - "reference": "a2f26d7c122393db75a2d41435ad8251250f8bc6", + "url": "https://api.github.com/repos/symfony/validator/zipball/5e29a348b5fac2227b6938a54db006d673bb813a", + "reference": "5e29a348b5fac2227b6938a54db006d673bb813a", "shasum": "" }, "require": { @@ -8929,7 +8936,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.3.3" + "source": "https://github.com/symfony/validator/tree/v7.3.4" }, "funding": [ { @@ -8949,20 +8956,20 @@ "type": "tidelift" } ], - "time": "2025-08-27T11:34:33+00:00" + "time": "2025-09-24T06:32:27+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f" + "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", - "reference": "34d8d4c4b9597347306d1ec8eb4e1319b1e6986f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb", + "reference": "b8abe7daf2730d07dfd4b2ee1cecbf0dd2fbdabb", "shasum": "" }, "require": { @@ -9016,7 +9023,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.3.3" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.4" }, "funding": [ { @@ -9036,20 +9043,20 @@ "type": "tidelift" } ], - "time": "2025-08-13T11:49:31+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137" + "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/d4dfcd2a822cbedd7612eb6fbd260e46f87b7137", - "reference": "d4dfcd2a822cbedd7612eb6fbd260e46f87b7137", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f020b544a30a7fe8ba972e53ee48a74c0bc87f4", + "reference": "0f020b544a30a7fe8ba972e53ee48a74c0bc87f4", "shasum": "" }, "require": { @@ -9097,7 +9104,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.3.3" + "source": "https://github.com/symfony/var-exporter/tree/v7.3.4" }, "funding": [ { @@ -9117,7 +9124,7 @@ "type": "tidelift" } ], - "time": "2025-08-18T13:10:53+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "symfony/yaml", @@ -9719,16 +9726,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.28", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "578fa296a166605d97b94091f724f1257185d278" - }, + "version": "2.1.30", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/578fa296a166605d97b94091f724f1257185d278", - "reference": "578fa296a166605d97b94091f724f1257185d278", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/a4a7f159927983dd4f7c8020ed227d80b7f39d7d", + "reference": "a4a7f159927983dd4f7c8020ed227d80b7f39d7d", "shasum": "" }, "require": { @@ -9773,7 +9775,7 @@ "type": "github" } ], - "time": "2025-09-19T08:58:49+00:00" + "time": "2025-10-02T16:07:52+00:00" }, { "name": "symfony/browser-kit", @@ -10078,16 +10080,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "7954e563ed14f924593169f6c4645d58d9d9ac77" + "reference": "ed77a629c13979e051b7000a317966474d566398" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/7954e563ed14f924593169f6c4645d58d9d9ac77", - "reference": "7954e563ed14f924593169f6c4645d58d9d9ac77", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/ed77a629c13979e051b7000a317966474d566398", + "reference": "ed77a629c13979e051b7000a317966474d566398", "shasum": "" }, "require": { @@ -10143,7 +10145,7 @@ "testing" ], "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v7.3.3" + "source": "https://github.com/symfony/phpunit-bridge/tree/v7.3.4" }, "funding": [ { @@ -10163,20 +10165,20 @@ "type": "tidelift" } ], - "time": "2025-08-04T15:15:28+00:00" + "time": "2025-09-12T12:18:52+00:00" }, { "name": "symfony/process", - "version": "v7.3.3", + "version": "v7.3.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "32241012d521e2e8a9d713adb0812bb773b907f1" + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/32241012d521e2e8a9d713adb0812bb773b907f1", - "reference": "32241012d521e2e8a9d713adb0812bb773b907f1", + "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", "shasum": "" }, "require": { @@ -10208,7 +10210,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.3" + "source": "https://github.com/symfony/process/tree/v7.3.4" }, "funding": [ { @@ -10228,7 +10230,7 @@ "type": "tidelift" } ], - "time": "2025-08-18T09:42:54+00:00" + "time": "2025-09-11T10:12:26+00:00" }, { "name": "zenstruck/assert", @@ -10291,16 +10293,16 @@ }, { "name": "zenstruck/foundry", - "version": "v2.7.1", + "version": "v2.7.2", "source": { "type": "git", "url": "https://github.com/zenstruck/foundry.git", - "reference": "854b581e1f43b6a4b0420c5ab249015f8b583a1c" + "reference": "2c84cb0c2e09679562cd33e90e66559dae014d7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zenstruck/foundry/zipball/854b581e1f43b6a4b0420c5ab249015f8b583a1c", - "reference": "854b581e1f43b6a4b0420c5ab249015f8b583a1c", + "url": "https://api.github.com/repos/zenstruck/foundry/zipball/2c84cb0c2e09679562cd33e90e66559dae014d7b", + "reference": "2c84cb0c2e09679562cd33e90e66559dae014d7b", "shasum": "" }, "require": { @@ -10394,7 +10396,7 @@ ], "support": { "issues": "https://github.com/zenstruck/foundry/issues", - "source": "https://github.com/zenstruck/foundry/tree/v2.7.1" + "source": "https://github.com/zenstruck/foundry/tree/v2.7.2" }, "funding": [ { @@ -10406,7 +10408,7 @@ "type": "github" } ], - "time": "2025-09-24T15:50:00+00:00" + "time": "2025-09-25T05:36:26+00:00" }, { "name": "zenstruck/messenger-test", @@ -10483,7 +10485,7 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": { @@ -10493,6 +10495,6 @@ "ext-iconv": "*", "ext-libxml": "*" }, - "platform-dev": {}, + "platform-dev": [], "plugin-api-version": "2.6.0" } diff --git a/frontend/src/routes/(marketing)/learn/[[slug]]/+page.ts b/frontend/src/routes/(marketing)/learn/[[slug]]/+page.ts index aa9d645..cb07309 100644 --- a/frontend/src/routes/(marketing)/learn/[[slug]]/+page.ts +++ b/frontend/src/routes/(marketing)/learn/[[slug]]/+page.ts @@ -24,6 +24,6 @@ export async function load({ params }) { return { slug: params.slug, - content: nav[fileName], + content: nav[fileName] ?? Index, } } \ No newline at end of file diff --git a/meta/image/prod/supervisord.conf b/meta/image/prod/supervisord.conf index 507b4fe..8ad44b9 100644 --- a/meta/image/prod/supervisord.conf +++ b/meta/image/prod/supervisord.conf @@ -5,7 +5,7 @@ logfile_maxbytes=0 pidfile=/run/supervisor.pid [program:frankenphp] -command=php bin/console frankenphp:run +command=/usr/local/bin/frankenphp run --config /etc/caddy/Caddyfile stdout_logfile=/dev/stdout stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 @@ -18,10 +18,3 @@ stderr_logfile=/dev/stderr stdout_logfile_maxbytes=0 stderr_logfile_maxbytes=0 -[program:scheduler-consumer] -command=php bin/console scheduler:consume -vv -stdout_logfile=/dev/stdout -stderr_logfile=/dev/stderr -stdout_logfile_maxbytes=0 -stderr_logfile_maxbytes=0 - From dc98fdef74a19645c2ae2655f5a1dec961d7fab3 Mon Sep 17 00:00:00 2001 From: "Sakith B." Date: Sat, 4 Oct 2025 14:38:42 +0530 Subject: [PATCH 3/4] add .env.dev --- backend/.env | 12 +++++------- backend/.env.dev | 10 ++++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 backend/.env.dev diff --git a/backend/.env b/backend/.env index 758771c..53e2b95 100644 --- a/backend/.env +++ b/backend/.env @@ -1,17 +1,15 @@ +APP_ENV=dev ###> symfony/framework-bundle ### -APP_SECRET=Qgg+kph9o0lULpebas4C9xa+tvoNC5b94rCjRf/5gAY= +APP_SECRET= ###< symfony/framework-bundle ### -DATABASE_URL="postgresql://postgres:postgres@hyvor-service-pgsql:5432/hyvor_reader?serverVersion=16&charset=utf8" -HYVOR_FAKE=1 +DATABASE_URL= ###> symfony/messenger ### -MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0 +MESSENGER_TRANSPORT_DSN= ###< symfony/messenger ### ###> symfony/lock ### -# Choose one of the stores below -# postgresql+advisory://db_user:db_password@localhost/db_name -LOCK_DSN=flock +LOCK_DSN= ###< symfony/lock ### diff --git a/backend/.env.dev b/backend/.env.dev new file mode 100644 index 0000000..2c3774d --- /dev/null +++ b/backend/.env.dev @@ -0,0 +1,10 @@ +APP_ENV=dev + +APP_SECRET=Qgg+kph9o0lULpebas4C9xa+tvoNC5b94rCjRf/5gAY= + +DATABASE_URL="postgresql://postgres:postgres@hyvor-service-pgsql:5432/hyvor_reader?serverVersion=16&charset=utf8" +HYVOR_FAKE=1 + +MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0 + +LOCK_DSN=flock From 5c1471e761176a6a59565b6f7e88cd920a0ba01f Mon Sep 17 00:00:00 2001 From: "Sakith B." Date: Mon, 6 Oct 2025 16:24:28 +0530 Subject: [PATCH 4/4] add monolog (#51) --- backend/composer.json | 3 +- backend/composer.lock | 165 +++++++++++++++++++++++++++- backend/config/bundles.php | 1 + backend/config/packages/monolog.php | 31 ++++++ backend/symfony.lock | 12 ++ 5 files changed, 210 insertions(+), 2 deletions(-) create mode 100644 backend/config/packages/monolog.php diff --git a/backend/composer.json b/backend/composer.json index 714ceab..5ca8939 100644 --- a/backend/composer.json +++ b/backend/composer.json @@ -13,8 +13,8 @@ "doctrine/doctrine-bundle": "^2.15", "doctrine/doctrine-migrations-bundle": "^3.4.2", "doctrine/orm": "^3.5.0", - "nesbot/carbon": "^3.10.1", "hyvor/internal": "^3.1.4", + "nesbot/carbon": "^3.10.1", "phpdocumentor/reflection-docblock": "^5.6", "phpstan/phpdoc-parser": "^2.3", "runtime/frankenphp-symfony": "^0.2.0", @@ -26,6 +26,7 @@ "symfony/http-client": "7.3.*", "symfony/lock": "7.3.*", "symfony/messenger": "7.3.*", + "symfony/monolog-bundle": "^3.10", "symfony/property-access": "7.3.*", "symfony/property-info": "7.3.*", "symfony/runtime": "7.3.*", diff --git a/backend/composer.lock b/backend/composer.lock index bef635c..86df7ed 100644 --- a/backend/composer.lock +++ b/backend/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "53ad0a3374364a5038765a93c18672f1", + "content-hash": "544dc38cc3d28767105c08301fee5f05", "packages": [ { "name": "carbonphp/carbon-doctrine-types", @@ -6795,6 +6795,169 @@ ], "time": "2025-08-13T11:49:31+00:00" }, + { + "name": "symfony/monolog-bridge", + "version": "v7.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bridge.git", + "reference": "7acf2abe23e5019451399ba69fc8ed3d61d4d8f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/7acf2abe23e5019451399ba69fc8ed3d61d4d8f0", + "reference": "7acf2abe23e5019451399ba69fc8ed3d61d4d8f0", + "shasum": "" + }, + "require": { + "monolog/monolog": "^3", + "php": ">=8.2", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/console": "<6.4", + "symfony/http-foundation": "<6.4", + "symfony/security-core": "<6.4" + }, + "require-dev": { + "symfony/console": "^6.4|^7.0", + "symfony/http-client": "^6.4|^7.0", + "symfony/mailer": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/security-core": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Monolog\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides integration for Monolog with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/monolog-bridge/tree/v7.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-09-24T16:45:39+00:00" + }, + { + "name": "symfony/monolog-bundle", + "version": "v3.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bundle.git", + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "shasum": "" + }, + "require": { + "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0", + "php": ">=7.2.5", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", + "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0" + }, + "require-dev": { + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.3 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MonologBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony MonologBundle", + "homepage": "https://symfony.com", + "keywords": [ + "log", + "logging" + ], + "support": { + "issues": "https://github.com/symfony/monolog-bundle/issues", + "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T17:08:13+00:00" + }, { "name": "symfony/orm-pack", "version": "v2.4.1", diff --git a/backend/config/bundles.php b/backend/config/bundles.php index 87b0947..db959f8 100644 --- a/backend/config/bundles.php +++ b/backend/config/bundles.php @@ -9,4 +9,5 @@ Zenstruck\Foundry\ZenstruckFoundryBundle::class => ['dev' => true, 'test' => true], Zenstruck\Messenger\Test\ZenstruckMessengerTestBundle::class => ['test' => true], DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true], + Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true], ]; diff --git a/backend/config/packages/monolog.php b/backend/config/packages/monolog.php new file mode 100644 index 0000000..5f07b52 --- /dev/null +++ b/backend/config/packages/monolog.php @@ -0,0 +1,31 @@ +env() !== 'test') { + $monolog->handler('app') + ->type('buffer') + ->handler('final') + ->level("%env(LOG_LEVEL)%") + ->bubble(false) + ->channels()->elements(['app']); + $monolog->handler('non_app') + ->type('buffer') + ->handler('final') + ->level('error') + ->bubble(false) + ->channels()->elements(['!app']); + $monolog->handler('final') + ->type('stream') + ->path('php://stderr') + ->formatter('monolog.formatter.json'); + } else { + $monolog->handler('test') + ->type('test') + ->level('info'); + } +}; + + diff --git a/backend/symfony.lock b/backend/symfony.lock index bf4528e..ee7f053 100644 --- a/backend/symfony.lock +++ b/backend/symfony.lock @@ -153,6 +153,18 @@ "config/packages/messenger.yaml" ] }, + "symfony/monolog-bundle": { + "version": "3.10", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "3.7", + "ref": "aff23899c4440dd995907613c1dd709b6f59503f" + }, + "files": [ + "config/packages/monolog.yaml" + ] + }, "symfony/phpunit-bridge": { "version": "7.2", "recipe": {