From 3ce42f895037e47e61a7da363e0fa483dca1f3e7 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Mon, 4 Jul 2022 01:25:46 +0300 Subject: [PATCH 1/5] unfinished --- docker/Dockerfile => Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) rename docker/Dockerfile => Dockerfile (56%) diff --git a/docker/Dockerfile b/Dockerfile similarity index 56% rename from docker/Dockerfile rename to Dockerfile index 0c13ebc..7d4b622 100644 --- a/docker/Dockerfile +++ b/Dockerfile @@ -1,11 +1,17 @@ -FROM php:7.4-fpm-alpine +FROM php:8.1-fpm-alpine ENV PHP_TIMEZONE Europe/Moscow RUN apk update && \ apk add postgresql-dev libpq && \ + docker-php-ext-configure igbinary && \ + docker-php-ext-configure intl && \ docker-php-ext-configure pdo_pgsql && \ + docker-php-ext-install -j$(nproc) igbinary && \ + docker-php-ext-install -j$(nproc) instl && \ docker-php-ext-install -j$(nproc) pdo_pgsql && \ + pecl install redis-5.3.7 && \ + docker-php-ext-enable redis && \ apk del postgresql-dev && \ mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" && \ echo "date.timezone = $PHP_TIMEZONE" > $PHP_INI_DIR/conf.d/timezone.ini -- 2.43.5 From d4cd2bae5ab33d10aa0173a4706ec89c0d124fd7 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Wed, 6 Jul 2022 02:15:58 +0300 Subject: [PATCH 2/5] Removing WebServerBundle (deprecated). Downgrading symfony/* packages to 5.4 to avoid compatibility problems. --- .gitignore | 5 - composer.json | 6 +- composer.lock | 590 ++++++++++++++++++--------------------------- config/bundles.php | 2 +- symfony.lock | 12 - 5 files changed, 240 insertions(+), 375 deletions(-) diff --git a/.gitignore b/.gitignore index 2c6339e..aec5241 100644 --- a/.gitignore +++ b/.gitignore @@ -9,11 +9,6 @@ /var/ /vendor/ ###< symfony/framework-bundle ### - -###> symfony/web-server-bundle ### -/.web-server-pid -###< symfony/web-server-bundle ### - ###> baldinof/roadrunner-bundle ### /bin/rr ###< baldinof/roadrunner-bundle ### diff --git a/composer.json b/composer.json index 1d6c558..fcc2374 100644 --- a/composer.json +++ b/composer.json @@ -53,8 +53,7 @@ "symfony/yaml": "^5.4" }, "require-dev": { - "symfony/web-profiler-bundle": "^5.4", - "symfony/web-server-bundle": "^4.1" + "symfony/web-profiler-bundle": "^5.4" }, "config": { "preferred-install": { @@ -100,7 +99,8 @@ }, "extra": { "symfony": { - "allow-contrib": false + "allow-contrib": false, + "require": "5.4.*" } } } diff --git a/composer.lock b/composer.lock index 503111c..7161ed4 100644 --- a/composer.lock +++ b/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": "a73ab7580901f6ec9553791cc6b3a72c", + "content-hash": "bfa726a8284bf45a7ccbbb6600e02128", "packages": [ { "name": "babdev/pagerfanta-bundle", @@ -3235,16 +3235,16 @@ }, { "name": "psr/cache", - "version": "3.0.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", "shasum": "" }, "require": { @@ -3278,9 +3278,9 @@ "psr-6" ], "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" + "source": "https://github.com/php-fig/cache/tree/2.0.0" }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2021-02-03T23:23:37+00:00" }, { "name": "psr/container", @@ -4411,57 +4411,58 @@ }, { "name": "symfony/cache", - "version": "v6.1.2", + "version": "v5.4.10", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "7d8415956df68c8dcbc9468e119945e39bacead1" + "reference": "c4e387b739022fd4b20abd8edb2143c44c5daa14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/7d8415956df68c8dcbc9468e119945e39bacead1", - "reference": "7d8415956df68c8dcbc9468e119945e39bacead1", + "url": "https://api.github.com/repos/symfony/cache/zipball/c4e387b739022fd4b20abd8edb2143c44c5daa14", + "reference": "c4e387b739022fd4b20abd8edb2143c44c5daa14", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/cache": "^2.0|^3.0", + "php": ">=7.2.5", + "psr/cache": "^1.0|^2.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^1.1.7|^2|^3", + "symfony/cache-contracts": "^1.1.7|^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2|^3", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/var-exporter": "^4.4|^5.0|^6.0" }, "conflict": { "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/var-dumper": "<5.4" + "symfony/dependency-injection": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/var-dumper": "<4.4" }, "provide": { - "psr/cache-implementation": "2.0|3.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0", - "symfony/cache-implementation": "1.1|2.0|3.0" + "psr/cache-implementation": "1.0|2.0", + "psr/simple-cache-implementation": "1.0|2.0", + "symfony/cache-implementation": "1.0|2.0" }, "require-dev": { "cache/integration-tests": "dev-master", + "doctrine/cache": "^1.6|^2.0", "doctrine/dbal": "^2.13.1|^3.0", "predis/predis": "^1.1", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "psr/simple-cache": "^1.0|^2.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, - "classmap": [ - "Traits/ValueWrapper.php" - ], "exclude-from-classmap": [ "/Tests/" ] @@ -4487,7 +4488,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.1.2" + "source": "https://github.com/symfony/cache/tree/v5.4.10" }, "funding": [ { @@ -4503,25 +4504,25 @@ "type": "tidelift" } ], - "time": "2022-06-19T13:21:48+00:00" + "time": "2022-06-19T12:03:50+00:00" }, { "name": "symfony/cache-contracts", - "version": "v3.1.1", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "2eab7fa459af6d75c6463e63e633b667a9b761d3" + "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/2eab7fa459af6d75c6463e63e633b667a9b761d3", - "reference": "2eab7fa459af6d75c6463e63e633b667a9b761d3", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", + "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/cache": "^3.0" + "php": ">=7.2.5", + "psr/cache": "^1.0|^2.0|^3.0" }, "suggest": { "symfony/cache-implementation": "" @@ -4529,7 +4530,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4566,7 +4567,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.1.1" + "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2" }, "funding": [ { @@ -4582,7 +4583,7 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/config", @@ -5108,27 +5109,27 @@ }, { "name": "symfony/error-handler", - "version": "v6.1.0", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "d02c662651e5de760bb7d5e94437113309e8f8a0" + "reference": "c116cda1f51c678782768dce89a45f13c949455d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/d02c662651e5de760bb7d5e94437113309e8f8a0", - "reference": "d02c662651e5de760bb7d5e94437113309e8f8a0", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c116cda1f51c678782768dce89a45f13c949455d", + "reference": "c116cda1f51c678782768dce89a45f13c949455d", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=7.2.5", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "require-dev": { "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -5159,7 +5160,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/v6.1.0" + "source": "https://github.com/symfony/error-handler/tree/v5.4.9" }, "funding": [ { @@ -5175,42 +5176,44 @@ "type": "tidelift" } ], - "time": "2022-05-23T10:32:57+00:00" + "time": "2022-05-21T13:57:48+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.1.0", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347" + "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0449a7ad7daa0f7c0acd508259f80544ab5a347", - "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", + "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/event-dispatcher-contracts": "^2|^3" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^2|^3", + "symfony/polyfill-php80": "^1.16" }, "conflict": { - "symfony/dependency-injection": "<5.4" + "symfony/dependency-injection": "<4.4" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^5.4|^6.0" + "symfony/stopwatch": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/dependency-injection": "", @@ -5242,7 +5245,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.1.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.9" }, "funding": [ { @@ -5258,7 +5261,7 @@ "type": "tidelift" } ], - "time": "2022-05-05T16:51:07+00:00" + "time": "2022-05-05T16:45:39+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5404,22 +5407,23 @@ }, { "name": "symfony/filesystem", - "version": "v6.1.0", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "3132d2f43ca799c2aa099f9738d98228c56baa5d" + "reference": "36a017fa4cce1eff1b8e8129ff53513abcef05ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/3132d2f43ca799c2aa099f9738d98228c56baa5d", - "reference": "3132d2f43ca799c2aa099f9738d98228c56baa5d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/36a017fa4cce1eff1b8e8129ff53513abcef05ba", + "reference": "36a017fa4cce1eff1b8e8129ff53513abcef05ba", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -5447,7 +5451,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.1.0" + "source": "https://github.com/symfony/filesystem/tree/v5.4.9" }, "funding": [ { @@ -5463,27 +5467,26 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:34:40+00:00" + "time": "2022-05-20T13:55:35+00:00" }, { "name": "symfony/finder", - "version": "v6.1.0", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "45b8beb69d6eb3b05a65689ebfd4222326773f8f" + "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/45b8beb69d6eb3b05a65689ebfd4222326773f8f", - "reference": "45b8beb69d6eb3b05a65689ebfd4222326773f8f", + "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9", + "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9", "shasum": "" }, "require": { - "php": ">=8.1" - }, - "require-dev": { - "symfony/filesystem": "^6.0" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -5511,7 +5514,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.1.0" + "source": "https://github.com/symfony/finder/tree/v5.4.8" }, "funding": [ { @@ -5527,7 +5530,7 @@ "type": "tidelift" } ], - "time": "2022-04-15T08:08:08+00:00" + "time": "2022-04-15T08:07:45+00:00" }, { "name": "symfony/flex", @@ -6015,28 +6018,29 @@ }, { "name": "symfony/http-foundation", - "version": "v6.1.2", + "version": "v5.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "86119d294e51afe4d8e07da96b63332bd1f3f52c" + "reference": "e7793b7906f72a8cc51054fbca9dcff7a8af1c1e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/86119d294e51afe4d8e07da96b63332bd1f3f52c", - "reference": "86119d294e51afe4d8e07da96b63332bd1f3f52c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e7793b7906f72a8cc51054fbca9dcff7a8af1c1e", + "reference": "e7793b7906f72a8cc51054fbca9dcff7a8af1c1e", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1" + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { "predis/predis": "~1.0", - "symfony/cache": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0" + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/mime": "To use the file extension guesser" @@ -6067,7 +6071,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.1.2" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.10" }, "funding": [ { @@ -6083,7 +6087,7 @@ "type": "tidelift" } ], - "time": "2022-06-19T13:21:48+00:00" + "time": "2022-06-19T13:13:40+00:00" }, { "name": "symfony/http-kernel", @@ -6275,36 +6279,38 @@ }, { "name": "symfony/mime", - "version": "v6.1.1", + "version": "v5.4.10", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "56508865dd883dce3c863af11b3e8053adab30d7" + "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/56508865dd883dce3c863af11b3e8053adab30d7", - "reference": "56508865dd883dce3c863af11b3e8053adab30d7", + "url": "https://api.github.com/repos/symfony/mime/zipball/02265e1e5111c3cd7480387af25e82378b7ab9cc", + "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4" + "symfony/mailer": "<4.4" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.1|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/serializer": "^5.2|^6.0" }, "type": "library", "autoload": { @@ -6336,7 +6342,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.1.1" + "source": "https://github.com/symfony/mime/tree/v5.4.10" }, "funding": [ { @@ -6352,7 +6358,7 @@ "type": "tidelift" } ], - "time": "2022-06-09T12:51:38+00:00" + "time": "2022-06-09T12:22:40+00:00" }, { "name": "symfony/monolog-bridge", @@ -6521,21 +6527,23 @@ }, { "name": "symfony/options-resolver", - "version": "v6.1.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "a3016f5442e28386ded73c43a32a5b68586dd1c4" + "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a3016f5442e28386ded73c43a32a5b68586dd1c4", - "reference": "a3016f5442e28386ded73c43a32a5b68586dd1c4", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/cc1147cb11af1b43f503ac18f31aa3bec213aba8", + "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -6568,7 +6576,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.1.0" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.3" }, "funding": [ { @@ -6584,31 +6592,32 @@ "type": "tidelift" } ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/password-hasher", - "version": "v6.1.0", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "655b2b92281977edc880fffbaa3a9ceb176834db" + "reference": "bc9c982b25c0292aa4e009b3e9cc9835e4d1e94f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/655b2b92281977edc880fffbaa3a9ceb176834db", - "reference": "655b2b92281977edc880fffbaa3a9ceb176834db", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/bc9c982b25c0292aa4e009b3e9cc9835e4d1e94f", + "reference": "bc9c982b25c0292aa4e009b3e9cc9835e4d1e94f", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/security-core": "<5.4" + "symfony/security-core": "<5.3" }, "require-dev": { - "symfony/console": "^5.4|^6.0", - "symfony/security-core": "^5.4|^6.0" + "symfony/console": "^5.3|^6.0", + "symfony/security-core": "^5.3|^6.0" }, "type": "library", "autoload": { @@ -6640,7 +6649,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v6.1.0" + "source": "https://github.com/symfony/password-hasher/tree/v5.4.8" }, "funding": [ { @@ -6656,7 +6665,7 @@ "type": "tidelift" } ], - "time": "2022-04-15T14:25:02+00:00" + "time": "2022-04-15T13:57:25+00:00" }, { "name": "symfony/polyfill-intl-grapheme", @@ -7741,35 +7750,37 @@ }, { "name": "symfony/routing", - "version": "v6.1.1", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "8f068b792e515b25e26855ac8dc7fe800399f3e5" + "reference": "e07817bb6244ea33ef5ad31abc4a9288bef3f2f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/8f068b792e515b25e26855ac8dc7fe800399f3e5", - "reference": "8f068b792e515b25e26855ac8dc7fe800399f3e5", + "url": "https://api.github.com/repos/symfony/routing/zipball/e07817bb6244ea33ef5ad31abc4a9288bef3f2f7", + "reference": "e07817bb6244ea33ef5ad31abc4a9288bef3f2f7", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "doctrine/annotations": "<1.12", - "symfony/config": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" }, "require-dev": { "doctrine/annotations": "^1.12", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/config": "For using the all-in-one router or any loader", @@ -7809,7 +7820,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.1.1" + "source": "https://github.com/symfony/routing/tree/v5.4.8" }, "funding": [ { @@ -7825,7 +7836,7 @@ "type": "tidelift" } ], - "time": "2022-06-08T12:21:15+00:00" + "time": "2022-04-18T21:45:37+00:00" }, { "name": "symfony/runtime", @@ -8101,27 +8112,28 @@ }, { "name": "symfony/security-csrf", - "version": "v6.1.0", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "b44d74295a5651298de8c2760ba50bef3b97f34b" + "reference": "ac64013bba1c7a6555b3dc4e701f058cf9f7eb64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/b44d74295a5651298de8c2760ba50bef3b97f34b", - "reference": "b44d74295a5651298de8c2760ba50bef3b97f34b", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/ac64013bba1c7a6555b3dc4e701f058cf9f7eb64", + "reference": "ac64013bba1c7a6555b3dc4e701f058cf9f7eb64", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/security-core": "^5.4|^6.0" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16", + "symfony/security-core": "^4.4|^5.0|^6.0" }, "conflict": { - "symfony/http-foundation": "<5.4" + "symfony/http-foundation": "<5.3" }, "require-dev": { - "symfony/http-foundation": "^5.4|^6.0" + "symfony/http-foundation": "^5.3|^6.0" }, "suggest": { "symfony/http-foundation": "For using the class SessionTokenStorage." @@ -8152,7 +8164,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v6.1.0" + "source": "https://github.com/symfony/security-csrf/tree/v5.4.9" }, "funding": [ { @@ -8168,7 +8180,7 @@ "type": "tidelift" } ], - "time": "2022-05-14T12:53:54+00:00" + "time": "2022-05-11T16:54:42+00:00" }, { "name": "symfony/security-guard", @@ -8572,33 +8584,34 @@ }, { "name": "symfony/string", - "version": "v6.1.2", + "version": "v5.4.10", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "1903f2879875280c5af944625e8246d81c2f0604" + "reference": "4432bc7df82a554b3e413a8570ce2fea90e94097" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/1903f2879875280c5af944625e8246d81c2f0604", - "reference": "1903f2879875280c5af944625e8246d81c2f0604", + "url": "https://api.github.com/repos/symfony/string/zipball/4432bc7df82a554b3e413a8570ce2fea90e94097", + "reference": "4432bc7df82a554b3e413a8570ce2fea90e94097", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" }, "conflict": { - "symfony/translation-contracts": "<2.0" + "symfony/translation-contracts": ">=3.0" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/translation-contracts": "^2.0|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0|^6.0" }, "type": "library", "autoload": { @@ -8637,7 +8650,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.1.2" + "source": "https://github.com/symfony/string/tree/v5.4.10" }, "funding": [ { @@ -8653,7 +8666,7 @@ "type": "tidelift" } ], - "time": "2022-06-26T16:35:04+00:00" + "time": "2022-06-26T15:57:47+00:00" }, { "name": "symfony/translation", @@ -8832,60 +8845,61 @@ }, { "name": "symfony/twig-bridge", - "version": "v6.0.10", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "4eae2e2a08d737bdd293fb4fa53239a655c4ea80" + "reference": "fd13c89a1abdbaa7ee2e655d9a11405adcb7a6cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/4eae2e2a08d737bdd293fb4fa53239a655c4ea80", - "reference": "4eae2e2a08d737bdd293fb4fa53239a655c4ea80", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/fd13c89a1abdbaa7ee2e655d9a11405adcb7a6cf", + "reference": "fd13c89a1abdbaa7ee2e655d9a11405adcb7a6cf", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16", "symfony/translation-contracts": "^1.1|^2|^3", "twig/twig": "^2.13|^3.0.4" }, "conflict": { "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.4", - "symfony/form": "<5.4", - "symfony/http-foundation": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/translation": "<5.4", - "symfony/workflow": "<5.4" + "symfony/console": "<5.3", + "symfony/form": "<5.3", + "symfony/http-foundation": "<5.3", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.2", + "symfony/workflow": "<5.2" }, "require-dev": { "doctrine/annotations": "^1.12", "egulias/email-validator": "^2.1.10|^3", "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/form": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/intl": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0", + "symfony/asset": "^4.4|^5.0|^6.0", + "symfony/console": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/form": "^5.3|^6.0", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/mime": "^5.2|^6.0", "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/routing": "^5.4|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^5.4|^6.0", - "symfony/security-csrf": "^5.4|^6.0", - "symfony/security-http": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", - "symfony/web-link": "^5.4|^6.0", - "symfony/workflow": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0", + "symfony/security-core": "^4.4|^5.0|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/security-http": "^4.4|^5.0|^6.0", + "symfony/serializer": "^5.2|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.2|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/workflow": "^5.2|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", "twig/cssinliner-extra": "^2.12|^3", "twig/inky-extra": "^2.12|^3", "twig/markdown-extra": "^2.12|^3" @@ -8932,7 +8946,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v6.0.10" + "source": "https://github.com/symfony/twig-bridge/tree/v5.4.9" }, "funding": [ { @@ -8948,7 +8962,7 @@ "type": "tidelift" } ], - "time": "2022-06-17T15:20:52+00:00" + "time": "2022-05-21T10:24:18+00:00" }, { "name": "symfony/twig-bundle", @@ -9154,31 +9168,32 @@ }, { "name": "symfony/var-dumper", - "version": "v6.1.0", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "98587d939cb783aa04e828e8fa857edaca24c212" + "reference": "af52239a330fafd192c773795520dc2dd62b5657" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/98587d939cb783aa04e828e8fa857edaca24c212", - "reference": "98587d939cb783aa04e828e8fa857edaca24c212", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af52239a330fafd192c773795520dc2dd62b5657", + "reference": "af52239a330fafd192c773795520dc2dd62b5657", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "phpunit/phpunit": "<5.4.3", - "symfony/console": "<5.4" + "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", "twig/twig": "^2.13|^3.0.4" }, "suggest": { @@ -9222,7 +9237,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.1.0" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.9" }, "funding": [ { @@ -9238,27 +9253,28 @@ "type": "tidelift" } ], - "time": "2022-05-21T13:34:40+00:00" + "time": "2022-05-21T10:24:18+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.1.1", + "version": "v5.4.10", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "ce1452317b1210ddfe18d143fa8a09c18f034b89" + "reference": "8fc03ee75eeece3d9be1ef47d26d79bea1afb340" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/ce1452317b1210ddfe18d143fa8a09c18f034b89", - "reference": "ce1452317b1210ddfe18d143fa8a09c18f034b89", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/8fc03ee75eeece3d9be1ef47d26d79bea1afb340", + "reference": "8fc03ee75eeece3d9be1ef47d26d79bea1afb340", "shasum": "" }, "require": { - "php": ">=8.1" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "symfony/var-dumper": "^5.4|^6.0" + "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" }, "type": "library", "autoload": { @@ -9294,7 +9310,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.1.1" + "source": "https://github.com/symfony/var-exporter/tree/v5.4.10" }, "funding": [ { @@ -9310,7 +9326,7 @@ "type": "tidelift" } ], - "time": "2022-05-27T12:58:07+00:00" + "time": "2022-05-27T12:56:18+00:00" }, { "name": "symfony/yaml", @@ -9523,68 +9539,6 @@ } ], "packages-dev": [ - { - "name": "symfony/process", - "version": "v5.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", - "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "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": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v5.4.8" - }, - "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": "2022-04-08T05:07:18+00:00" - }, { "name": "symfony/web-profiler-bundle", "version": "v5.4.10", @@ -9664,78 +9618,6 @@ } ], "time": "2022-06-06T19:10:58+00:00" - }, - { - "name": "symfony/web-server-bundle", - "version": "v4.4.37", - "source": { - "type": "git", - "url": "https://github.com/symfony/web-server-bundle.git", - "reference": "8cbf9d741b57f4dc298478768865d2e8385552c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/8cbf9d741b57f4dc298478768865d2e8385552c0", - "reference": "8cbf9d741b57f4dc298478768865d2e8385552c0", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/console": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/http-kernel": "^3.4|^4.0|^5.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/process": "^3.4.2|^4.0.2|^5.0" - }, - "suggest": { - "symfony/expression-language": "For using the filter option of the log server.", - "symfony/monolog-bridge": "For using the log server." - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "Symfony\\Bundle\\WebServerBundle\\": "" - }, - "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 commands for running applications using the PHP built-in web server", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/web-server-bundle/tree/v4.4.37" - }, - "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": "2022-01-02T09:41:36+00:00" } ], "aliases": [], diff --git a/config/bundles.php b/config/bundles.php index 2e59001..35b3bf2 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -1,11 +1,11 @@ ['all' => true], Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true], Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true], - Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true], Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], BabDev\PagerfantaBundle\BabDevPagerfantaBundle::class => ['all' => true], Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true], diff --git a/symfony.lock b/symfony.lock index 362d077..582c927 100644 --- a/symfony.lock +++ b/symfony.lock @@ -370,9 +370,6 @@ "symfony/polyfill-uuid": { "version": "v1.13.1" }, - "symfony/process": { - "version": "v4.1.0" - }, "symfony/property-access": { "version": "v4.1.0" }, @@ -475,15 +472,6 @@ "ref": "6bdfa1a95f6b2e677ab985cd1af2eae35d62e0f6" } }, - "symfony/web-server-bundle": { - "version": "3.3", - "recipe": { - "repo": "github.com/symfony/recipes", - "branch": "master", - "version": "3.3", - "ref": "dae9b39fd6717970be7601101ce5aa960bf53d9a" - } - }, "symfony/yaml": { "version": "v4.1.0" }, -- 2.43.5 From 95fa44d3e9a7c235eda1a185310aff1b3e4d5d0b Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Wed, 6 Jul 2022 02:17:26 +0300 Subject: [PATCH 3/5] Adding experimental Dockerfile with RoadRunner. --- .dockerignore | 43 +++++++++++++++++++++++++++++++++++++++++++ .env | 2 +- Dockerfile | 36 +++++++++++++++++++++++++++++------- README.md | 21 +++++++++++++++++++++ docker-compose.yml | 15 +++++++++------ 5 files changed, 103 insertions(+), 14 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..4a177f5 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,43 @@ +### Symfony template +# Cache and logs (Symfony2) +/app/cache/* +/app/logs/* +!app/cache/.gitkeep +!app/logs/.gitkeep + +# Email spool folder +/app/spool/* + +# Cache, session files and logs (Symfony3) +/var/cache/* +/var/sessions/* +!var/cache/.gitkeep +!var/sessions/.gitkeep + +# Logs (Symfony4) +/var/log/* +!var/log/.gitkeep + +# Managed by Composer +/app/bootstrap.php.cache +/var/bootstrap.php.cache +/bin/* +!bin/console +!bin/symfony_requirements +/vendor/ + +# PHPUnit +/app/phpunit.xml +/phpunit.xml + +# Composer PHAR +/composer.phar + +# Backup entities generated with doctrine:generate:entities command +**/Entity/*~ + +# Embedded web-server pid file +/.web-server-pid + +# DotEnv +.env.local \ No newline at end of file diff --git a/.env b/.env index 58e02c4..06386d7 100644 --- a/.env +++ b/.env @@ -3,7 +3,7 @@ # https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration ###> symfony/framework-bundle ### -APP_ENV=dev +APP_ENV=prod APP_SECRET=xxx ###< symfony/framework-bundle ### diff --git a/Dockerfile b/Dockerfile index 7d4b622..8899659 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,39 @@ -FROM php:8.1-fpm-alpine +# https://github.com/roadrunner-server/roadrunner/pkgs/container/roadrunner +FROM ghcr.io/roadrunner-server/roadrunner:latest AS roadrunner +FROM php:8.1-alpine ENV PHP_TIMEZONE Europe/Moscow +ENV APP_ENV=prod + +WORKDIR /app + +COPY --from=roadrunner /usr/bin/rr /app/bin/rr +COPY . /app/ RUN apk update && \ - apk add postgresql-dev libpq && \ - docker-php-ext-configure igbinary && \ + apk add autoconf build-base icu libpq postgresql-dev && \ docker-php-ext-configure intl && \ docker-php-ext-configure pdo_pgsql && \ - docker-php-ext-install -j$(nproc) igbinary && \ - docker-php-ext-install -j$(nproc) instl && \ + docker-php-ext-configure sockets && \ + docker-php-ext-install -j$(nproc) intl && \ docker-php-ext-install -j$(nproc) pdo_pgsql && \ + docker-php-ext-install -j$(nproc) sockets && \ + #pecl install igbinary-3.2.7 && \ pecl install redis-5.3.7 && \ + #docker-php-ext-enable igbinary && \ + docker-php-ext-enable intl && \ + docker-php-ext-enable pdo_pgsql && \ docker-php-ext-enable redis && \ - apk del postgresql-dev && \ + apk del autoconf build-base postgresql-dev && \ mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" && \ - echo "date.timezone = $PHP_TIMEZONE" > $PHP_INI_DIR/conf.d/timezone.ini + echo "date.timezone = $PHP_TIMEZONE" > $PHP_INI_DIR/conf.d/timezone.ini && \ + mkdir -p /usr/local/bin && \ + wget -O /usr/local/bin/composer https://getcomposer.org/download/latest-stable/composer.phar && \ + chmod +x /usr/local/bin/composer && \ + ls -la /app && ls -la /app/bin && \ + chmod +x /app/bin/console && \ + /usr/local/bin/composer install --no-dev --no-progress --no-interaction --optimize-autoloader + +VOLUME /var/log + +CMD ["/app/bin/rr", "serve"] diff --git a/README.md b/README.md index 1b7d6b4..cfe907a 100644 --- a/README.md +++ b/README.md @@ -91,3 +91,24 @@ php bin/console user:add [your_password] [--invites # see --help for more info php bin/console invite:add ``` + +## Enabling dev mode + +```shell +echo 'APP_ENV=dev > .env.local' +``` + +## Running in [RoadRunner](https://roadrunner.dev) + +```shell +# First time only: +./vendor/bin/rr get --location bin/ + +# Running the server: +./bin/rr serve + +# Running the server in dev mode (watching enabled) +bin/rr serve -c .rr.dev.yaml +``` + +Read more [here](https://github.com/baldinof/roadrunner-bundle) and [here](https://github.com/roadrunner-server/roadrunner). diff --git a/docker-compose.yml b/docker-compose.yml index c3b87c9..c51aebb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,16 +2,19 @@ version: '3.7' services: magnetico-web: - image: skobkin/magnetico-web-fpm + image: skobkin/magnetico-web build: - context: ./docker - container_name: magnetico-web-fpm - network_mode: host + context: . + container_name: magnetico-web + hostname: magnetico-web + extra_hosts: + - 'host.docker.internal:host-gateway' ports: - - "127.0.0.1:${PHP_FPM_PORT:-9000}:9000/tcp" + - "127.0.0.1:${EXT_HTTP_PORT:-8080}:8080/tcp" restart: unless-stopped + user: "$UID" volumes: - - "${APP_LOCAL_PATH}:${APP_LOCAL_PATH}" + - "${LOG_PATH:-./var/log}:/app/var/log" logging: driver: "json-file" options: -- 2.43.5 From d8b2b7e04fe3c18ad6745c23392d7469bcdcc22d Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Wed, 6 Jul 2022 02:54:52 +0300 Subject: [PATCH 4/5] Returning igbinary to Dockerfile build steps. --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8899659..dca7a2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,9 +18,9 @@ RUN apk update && \ docker-php-ext-install -j$(nproc) intl && \ docker-php-ext-install -j$(nproc) pdo_pgsql && \ docker-php-ext-install -j$(nproc) sockets && \ - #pecl install igbinary-3.2.7 && \ + pecl install igbinary-3.2.7 && \ pecl install redis-5.3.7 && \ - #docker-php-ext-enable igbinary && \ + docker-php-ext-enable igbinary && \ docker-php-ext-enable intl && \ docker-php-ext-enable pdo_pgsql && \ docker-php-ext-enable redis && \ -- 2.43.5 From 6370dfe9a9621e7f14a3bd9b9493d43e5aca2b14 Mon Sep 17 00:00:00 2001 From: Alexey Skobkin Date: Wed, 6 Jul 2022 02:55:20 +0300 Subject: [PATCH 5/5] Some tweak tries to prevent memory leaks. --- .dockerignore | 3 --- .rr.yaml | 9 ++++++--- config/packages/baldinof_road_runner.yaml | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.dockerignore b/.dockerignore index 4a177f5..2eda646 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,9 +5,6 @@ !app/cache/.gitkeep !app/logs/.gitkeep -# Email spool folder -/app/spool/* - # Cache, session files and logs (Symfony3) /var/cache/* /var/sessions/* diff --git a/.rr.yaml b/.rr.yaml index 0f0a352..d729d71 100644 --- a/.rr.yaml +++ b/.rr.yaml @@ -1,12 +1,11 @@ +# https://roadrunner.dev/docs/intro-config/2.x/en version: "2.7" server: command: "php public/index.php" - # If you are not using symfony 5.3+ and the new Runtime component: - # remove the previous `command` line above and uncomment the line below to use the deprecated command. - # command: "php bin/console baldinof:roadrunner:worker" env: - APP_RUNTIME: Baldinof\RoadRunnerBundle\Runtime\Runtime + - APP_ENV: prod http: address: 0.0.0.0:8080 @@ -16,6 +15,10 @@ http: static: dir: "public" forbid: [ ".php", ".htaccess" ] + pool: + max_jobs: 16 + supervisor: + max_worker_memory: 256 logs: mode: production diff --git a/config/packages/baldinof_road_runner.yaml b/config/packages/baldinof_road_runner.yaml index 3728e09..e5acb91 100644 --- a/config/packages/baldinof_road_runner.yaml +++ b/config/packages/baldinof_road_runner.yaml @@ -3,7 +3,8 @@ baldinof_road_runner: # See https://github.com/baldinof/roadrunner-bundle#kernel-reboots kernel_reboot: # if you want to use a fresh container on each request, use the `always` strategy - strategy: on_exception + #strategy: on_exception + strategy: always # Exceptions you KNOW that do not put your app in an errored state allowed_exceptions: - Symfony\Component\HttpKernel\Exception\HttpExceptionInterface -- 2.43.5