Prepared register, logger, doctor and ENV variables
This commit is contained in:
parent
61e7add075
commit
fc3d322773
2
.env
2
.env
|
@ -43,3 +43,5 @@ _APP_MAINTENANCE_RETENTION_EXECUTION=1209600
|
||||||
_APP_MAINTENANCE_RETENTION_ABUSE=86400
|
_APP_MAINTENANCE_RETENTION_ABUSE=86400
|
||||||
_APP_MAINTENANCE_RETENTION_AUDIT=1209600
|
_APP_MAINTENANCE_RETENTION_AUDIT=1209600
|
||||||
_APP_USAGE_STATS=enabled
|
_APP_USAGE_STATS=enabled
|
||||||
|
_APP_LOGGING_PROVIDER=
|
||||||
|
_APP_LOGGING_CONFIG=
|
||||||
|
|
|
@ -158,7 +158,9 @@ ENV _APP_SERVER=swoole \
|
||||||
_APP_MAINTENANCE_RETENTION_AUDIT=1209600 \
|
_APP_MAINTENANCE_RETENTION_AUDIT=1209600 \
|
||||||
# 1 Day = 86400 s
|
# 1 Day = 86400 s
|
||||||
_APP_MAINTENANCE_RETENTION_ABUSE=86400 \
|
_APP_MAINTENANCE_RETENTION_ABUSE=86400 \
|
||||||
_APP_MAINTENANCE_INTERVAL=86400
|
_APP_MAINTENANCE_INTERVAL=86400 \
|
||||||
|
_APP_LOGGING_PROVIDER= \
|
||||||
|
_APP_LOGGING_CONFIG=
|
||||||
|
|
||||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
|
|
|
@ -149,6 +149,23 @@ return [
|
||||||
'required' => false,
|
'required' => false,
|
||||||
'question' => '',
|
'question' => '',
|
||||||
'filter' => ''
|
'filter' => ''
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => '_APP_LOGGING_PROVIDER',
|
||||||
|
'description' => 'This variable allows you to enable logging errors to 3rd party providers. This value is empty by default, to enable the logger set the value to one of \'sentry\', \'raygun\', \'appsignal\'',
|
||||||
|
'introduction' => '0.12.0',
|
||||||
|
'default' => '',
|
||||||
|
'required' => false,
|
||||||
|
'question' => '',
|
||||||
|
'filter' => ''
|
||||||
|
], [
|
||||||
|
'name' => '_APP_LOGGING_CONFIG',
|
||||||
|
'description' => 'This variable configured authentication to 3rd party error loggin providers. If using Sentry, this should be \'SENTRY_API_KEY;SENTRY_APP_ID\'. If using Raygun, this should be Raygun API key. If using AppSignal, this should be AppSignal API key.',
|
||||||
|
'introduction' => '0.12.0',
|
||||||
|
'default' => '',
|
||||||
|
'required' => false,
|
||||||
|
'question' => '',
|
||||||
|
'filter' => ''
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
24
app/init.php
24
app/init.php
|
@ -28,6 +28,7 @@ use Appwrite\Database\Validator\Authorization;
|
||||||
use Appwrite\Event\Event;
|
use Appwrite\Event\Event;
|
||||||
use Appwrite\OpenSSL\OpenSSL;
|
use Appwrite\OpenSSL\OpenSSL;
|
||||||
use Utopia\App;
|
use Utopia\App;
|
||||||
|
use Utopia\Logger\Logger;
|
||||||
use Utopia\View;
|
use Utopia\View;
|
||||||
use Utopia\Config\Config;
|
use Utopia\Config\Config;
|
||||||
use Utopia\Locale\Locale;
|
use Utopia\Locale\Locale;
|
||||||
|
@ -114,7 +115,7 @@ Config::load('locale-continents', __DIR__.'/config/locale/continents.php');
|
||||||
Config::load('storage-logos', __DIR__.'/config/storage/logos.php');
|
Config::load('storage-logos', __DIR__.'/config/storage/logos.php');
|
||||||
Config::load('storage-mimes', __DIR__.'/config/storage/mimes.php');
|
Config::load('storage-mimes', __DIR__.'/config/storage/mimes.php');
|
||||||
Config::load('storage-inputs', __DIR__.'/config/storage/inputs.php');
|
Config::load('storage-inputs', __DIR__.'/config/storage/inputs.php');
|
||||||
Config::load('storage-outputs', __DIR__.'/config/storage/outputs.php');
|
Config::load('storage-outputs', __DIR__.'/config/storage/outputs.php');
|
||||||
|
|
||||||
$user = App::getEnv('_APP_REDIS_USER','');
|
$user = App::getEnv('_APP_REDIS_USER','');
|
||||||
$pass = App::getEnv('_APP_REDIS_PASS','');
|
$pass = App::getEnv('_APP_REDIS_PASS','');
|
||||||
|
@ -163,6 +164,23 @@ Database::addFilter('encrypt',
|
||||||
/*
|
/*
|
||||||
* Registry
|
* Registry
|
||||||
*/
|
*/
|
||||||
|
$register->set('logger', function () { // Register error logger
|
||||||
|
$providerName = App::getEnv('_APP_LOGGING_PROVIDER', '');
|
||||||
|
$providerConfig = App::getEnv('_APP_LOGGING_CONFIG', '');
|
||||||
|
|
||||||
|
if(\empty($providerName) || \empty($providerConfig)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!Logger::hasProvider($providerName)) {
|
||||||
|
throw new Exception("Logging provider not supported. Logging disabled.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$classname = '\\Utopia\\Logger\\Adapter\\'.\ucfirst($providerName);
|
||||||
|
$adapter = new $classname($providerConfig);
|
||||||
|
return new Logger($adapter);
|
||||||
|
});
|
||||||
$register->set('dbPool', function () { // Register DB connection
|
$register->set('dbPool', function () { // Register DB connection
|
||||||
$dbHost = App::getEnv('_APP_DB_HOST', '');
|
$dbHost = App::getEnv('_APP_DB_HOST', '');
|
||||||
$dbPort = App::getEnv('_APP_DB_PORT', '');
|
$dbPort = App::getEnv('_APP_DB_PORT', '');
|
||||||
|
@ -344,6 +362,10 @@ Locale::setLanguageFromJSON('zh-tw', __DIR__.'/config/locale/translations/zh-tw.
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// Runtime Execution
|
// Runtime Execution
|
||||||
|
App::setResource('logger', function($register) {
|
||||||
|
return $register->get('logger');
|
||||||
|
}, ['register']);
|
||||||
|
|
||||||
|
|
||||||
App::setResource('register', function() use ($register) {
|
App::setResource('register', function() use ($register) {
|
||||||
return $register;
|
return $register;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
global $cli;
|
global $cli;
|
||||||
|
|
||||||
use Appwrite\ClamAV\Network;
|
use Appwrite\ClamAV\Network;
|
||||||
|
use Utopia\Logger\Logger;
|
||||||
use Utopia\Storage\Device\Local;
|
use Utopia\Storage\Device\Local;
|
||||||
use Utopia\Storage\Storage;
|
use Utopia\Storage\Storage;
|
||||||
use Utopia\App;
|
use Utopia\App;
|
||||||
|
@ -82,6 +83,16 @@ $cli
|
||||||
Console::log('🟢 HTTPS force option is enabled');
|
Console::log('🟢 HTTPS force option is enabled');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$providerName = App::getEnv('_APP_LOGGING_PROVIDER', '');
|
||||||
|
$providerConfig = App::getEnv('_APP_LOGGING_CONFIG', '');
|
||||||
|
|
||||||
|
if(\empty($providerName) || \empty($providerConfig) || !Logger::hasProvider($providerName)) {
|
||||||
|
Console::log('🔴 Logging adapter is disabled');
|
||||||
|
} else {
|
||||||
|
Console::log('🟢 Logging adapter is enabled (' . $providerName . ')');
|
||||||
|
}
|
||||||
|
|
||||||
\sleep(0.2);
|
\sleep(0.2);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -106,6 +106,8 @@ services:
|
||||||
- _APP_FUNCTIONS_MEMORY
|
- _APP_FUNCTIONS_MEMORY
|
||||||
- _APP_FUNCTIONS_MEMORY_SWAP
|
- _APP_FUNCTIONS_MEMORY_SWAP
|
||||||
- _APP_FUNCTIONS_RUNTIMES
|
- _APP_FUNCTIONS_RUNTIMES
|
||||||
|
- _APP_LOGGING_PROVIDER
|
||||||
|
- _APP_LOGGING_CONFIG
|
||||||
|
|
||||||
appwrite-realtime:
|
appwrite-realtime:
|
||||||
image: <?php echo $organization; ?>/<?php echo $image; ?>:<?php echo $version."\n"; ?>
|
image: <?php echo $organization; ?>/<?php echo $image; ?>:<?php echo $version."\n"; ?>
|
||||||
|
|
|
@ -20,6 +20,12 @@
|
||||||
"Appwrite\\Tests\\": "tests/extensions"
|
"Appwrite\\Tests\\": "tests/extensions"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"repositories": [
|
||||||
|
{
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/utopia-php/logger"
|
||||||
|
}
|
||||||
|
],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=8.0.0",
|
"php": ">=8.0.0",
|
||||||
"ext-curl": "*",
|
"ext-curl": "*",
|
||||||
|
@ -39,6 +45,7 @@
|
||||||
"appwrite/php-runtimes": "0.6.*",
|
"appwrite/php-runtimes": "0.6.*",
|
||||||
|
|
||||||
"utopia-php/framework": "0.18.*",
|
"utopia-php/framework": "0.18.*",
|
||||||
|
"utopia-php/logger": "dev-dev",
|
||||||
"utopia-php/abuse": "0.5.*",
|
"utopia-php/abuse": "0.5.*",
|
||||||
"utopia-php/analytics": "0.2.*",
|
"utopia-php/analytics": "0.2.*",
|
||||||
"utopia-php/audit": "0.5.*",
|
"utopia-php/audit": "0.5.*",
|
||||||
|
|
121
composer.lock
generated
121
composer.lock
generated
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "a3aad9d7aba75e837b4c6e242c7a91a3",
|
"content-hash": "5f9aa807864b9d84a96685c1735ee30e",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "adhocore/jwt",
|
"name": "adhocore/jwt",
|
||||||
|
@ -1395,16 +1395,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
"version": "v2.4.0",
|
"version": "v2.5.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||||
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627"
|
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627",
|
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
|
||||||
"reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627",
|
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1413,7 +1413,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "2.4-dev"
|
"dev-main": "2.5-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"name": "symfony/contracts",
|
||||||
|
@ -1442,7 +1442,7 @@
|
||||||
"description": "A generic function and convention to trigger deprecation notices",
|
"description": "A generic function and convention to trigger deprecation notices",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0"
|
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1458,7 +1458,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2021-03-23T23:28:01+00:00"
|
"time": "2021-07-12T14:48:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-ctype",
|
"name": "symfony/polyfill-ctype",
|
||||||
|
@ -2060,6 +2060,61 @@
|
||||||
},
|
},
|
||||||
"time": "2021-07-24T11:35:55+00:00"
|
"time": "2021-07-24T11:35:55+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "utopia-php/logger",
|
||||||
|
"version": "dev-dev",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/utopia-php/logger",
|
||||||
|
"reference": "585fbfccd42b9811fe98c87b68c028b44b599852"
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=7.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^9.3",
|
||||||
|
"vimeo/psalm": "4.0.1"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Utopia\\Logger\\": "src/Logger"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Eldad Fux",
|
||||||
|
"email": "eldad@appwrite.io"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Matej Bačo",
|
||||||
|
"email": "matej@appwrite.io"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Christy Jacob",
|
||||||
|
"email": "christy@appwrite.io"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Utopia Logger library is simple and lite library for logging information, such as errors or warnings. This library is aiming to be as simple and easy to learn and use.",
|
||||||
|
"keywords": [
|
||||||
|
"appsignal",
|
||||||
|
"errors",
|
||||||
|
"framework",
|
||||||
|
"logger",
|
||||||
|
"logging",
|
||||||
|
"logs",
|
||||||
|
"php",
|
||||||
|
"raygun",
|
||||||
|
"sentry",
|
||||||
|
"upf",
|
||||||
|
"utopia",
|
||||||
|
"warnings"
|
||||||
|
],
|
||||||
|
"time": "2021-11-22T16:02:09+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "utopia-php/orchestration",
|
"name": "utopia-php/orchestration",
|
||||||
"version": "0.2.1",
|
"version": "0.2.1",
|
||||||
|
@ -3830,16 +3885,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
"version": "9.2.8",
|
"version": "9.2.9",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||||
"reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e"
|
"reference": "f301eb1453c9e7a1bc912ee8b0ea9db22c60223b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cf04e88a2e3c56fc1a65488afd493325b4c1bc3e",
|
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f301eb1453c9e7a1bc912ee8b0ea9db22c60223b",
|
||||||
"reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e",
|
"reference": "f301eb1453c9e7a1bc912ee8b0ea9db22c60223b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3895,7 +3950,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.8"
|
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.9"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3903,7 +3958,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2021-10-30T08:01:38+00:00"
|
"time": "2021-11-19T15:21:02+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-file-iterator",
|
"name": "phpunit/php-file-iterator",
|
||||||
|
@ -5150,6 +5205,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"abandoned": true,
|
||||||
"time": "2020-09-28T06:45:17+00:00"
|
"time": "2020-09-28T06:45:17+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -5315,16 +5371,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v5.3.10",
|
"version": "v5.3.11",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3"
|
"reference": "3e7ab8f5905058984899b05a4648096f558bfeba"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
|
"url": "https://api.github.com/repos/symfony/console/zipball/3e7ab8f5905058984899b05a4648096f558bfeba",
|
||||||
"reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3",
|
"reference": "3e7ab8f5905058984899b05a4648096f558bfeba",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5337,7 +5393,6 @@
|
||||||
"symfony/string": "^5.1"
|
"symfony/string": "^5.1"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"psr/log": ">=3",
|
|
||||||
"symfony/dependency-injection": "<4.4",
|
"symfony/dependency-injection": "<4.4",
|
||||||
"symfony/dotenv": "<5.1",
|
"symfony/dotenv": "<5.1",
|
||||||
"symfony/event-dispatcher": "<4.4",
|
"symfony/event-dispatcher": "<4.4",
|
||||||
|
@ -5394,7 +5449,7 @@
|
||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/console/tree/v5.3.10"
|
"source": "https://github.com/symfony/console/tree/v5.3.11"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5410,7 +5465,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2021-10-26T09:30:15+00:00"
|
"time": "2021-11-21T19:41:05+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-grapheme",
|
"name": "symfony/polyfill-intl-grapheme",
|
||||||
|
@ -5821,21 +5876,25 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
"version": "v2.4.0",
|
"version": "v2.5.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/service-contracts.git",
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb"
|
"reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
|
||||||
"reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb",
|
"reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=7.2.5",
|
||||||
"psr/container": "^1.1"
|
"psr/container": "^1.1",
|
||||||
|
"symfony/deprecation-contracts": "^2.1"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"ext-psr": "<1.1|>=2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"symfony/service-implementation": ""
|
"symfony/service-implementation": ""
|
||||||
|
@ -5843,7 +5902,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "2.4-dev"
|
"dev-main": "2.5-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"name": "symfony/contracts",
|
||||||
|
@ -5880,7 +5939,7 @@
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/service-contracts/tree/v2.4.0"
|
"source": "https://github.com/symfony/service-contracts/tree/v2.5.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5896,7 +5955,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2021-04-01T10:43:52+00:00"
|
"time": "2021-11-04T16:48:04+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/string",
|
"name": "symfony/string",
|
||||||
|
@ -6318,7 +6377,9 @@
|
||||||
],
|
],
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
"stability-flags": [],
|
"stability-flags": {
|
||||||
|
"utopia-php/logger": 20
|
||||||
|
},
|
||||||
"prefer-stable": false,
|
"prefer-stable": false,
|
||||||
"prefer-lowest": false,
|
"prefer-lowest": false,
|
||||||
"platform": {
|
"platform": {
|
||||||
|
|
|
@ -129,6 +129,8 @@ services:
|
||||||
- _APP_FUNCTIONS_MEMORY
|
- _APP_FUNCTIONS_MEMORY
|
||||||
- _APP_FUNCTIONS_MEMORY_SWAP
|
- _APP_FUNCTIONS_MEMORY_SWAP
|
||||||
- _APP_FUNCTIONS_RUNTIMES
|
- _APP_FUNCTIONS_RUNTIMES
|
||||||
|
- _APP_LOGGING_PROVIDER
|
||||||
|
- _APP_LOGGING_CONFIG
|
||||||
|
|
||||||
appwrite-realtime:
|
appwrite-realtime:
|
||||||
entrypoint: realtime
|
entrypoint: realtime
|
||||||
|
|
Loading…
Reference in a new issue