accounts/common/config/config.php

117 lines
4.3 KiB
PHP

<?php
return [
'version' => '{{PLACE_VERSION_HERE}}', // This will be replaced by build tool
'vendorPath' => dirname(__DIR__, 2) . '/vendor',
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
'@root' => dirname(__DIR__, 2),
'@api' => '@root/api',
'@common' => '@root/common',
'@console' => '@root/console',
],
'params' => [
'fromEmail' => 'account@ely.by',
'supportEmail' => 'support@ely.by',
],
'container' => [
'singletons' => [
GuzzleHttp\ClientInterface::class => GuzzleHttp\Client::class,
Ely\Mojang\Api::class => Ely\Mojang\Api::class,
common\components\SkinsSystemApi::class => [
'class' => common\components\SkinsSystemApi::class,
'__construct()' => [
'http://' . (getenv('CHRLY_HOST') ?: 'skinsystem.ely.by'),
],
],
League\OAuth2\Server\AuthorizationServer::class => common\components\OAuth2\AuthorizationServerFactory::build(...),
],
],
'components' => [
'cache' => [
'class' => yii\redis\Cache::class,
],
'db' => [
'class' => yii\db\Connection::class,
'dsn' => 'mysql:host=' . (getenv('DB_HOST') ?: 'db') . ';dbname=' . getenv('DB_DATABASE'),
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8mb4',
'schemaMap' => [
'mysql' => common\db\mysql\Schema::class,
],
],
'unbufferedDb' => [
'class' => yii\db\Connection::class,
'dsn' => 'mysql:host=' . (getenv('DB_HOST') ?: 'db') . ';dbname=' . getenv('DB_DATABASE'),
'username' => getenv('DB_USER'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8mb4',
'attributes' => [
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => false,
],
'schemaMap' => [
'mysql' => common\db\mysql\Schema::class,
],
],
'mailer' => [
'class' => yii\symfonymailer\Mailer::class,
'viewPath' => '@common/mail',
'transport' => [
'scheme' => 'smtp',
'host' => getenv('SMTP_HOST'),
'username' => getenv('SMTP_USER'),
'password' => getenv('SMTP_PASS'),
'port' => (int)(getenv('SMTP_PORT') ?: 587),
'encryption' => getenv('SMTP_ENCRYPTION') ?: 'tls',
],
],
'sentry' => [
'class' => common\components\Sentry::class,
'enabled' => !empty(getenv('SENTRY_DSN')),
'dsn' => getenv('SENTRY_DSN'),
'environment' => (function(): string {
if (!empty(getenv('SENTRY_ENV'))) {
return getenv('SENTRY_ENV');
}
return YII_ENV_DEV ? 'Development' : 'Production';
})(),
],
'security' => [
'passwordHashStrategy' => 'password_hash',
],
'redis' => [
'class' => yii\redis\Connection::class,
'hostname' => getenv('REDIS_HOST') ?: 'redis',
'password' => getenv('REDIS_PASS') ?: null,
'port' => getenv('REDIS_PORT') ?: 6379,
'database' => getenv('REDIS_DATABASE') ?: 0,
],
'guzzle' => [
'class' => GuzzleHttp\Client::class,
],
'emailsRenderer' => [
'class' => common\components\EmailsRenderer\Component::class,
'serviceUrl' => getenv('EMAILS_RENDERER_HOST') ?: 'http://emails-renderer:3000',
'basePath' => '/images/emails',
],
'authManager' => [
'class' => \api\rbac\Manager::class,
'itemFile' => '@api/rbac/.generated/items.php',
'ruleFile' => '@api/rbac/.generated/rules.php',
],
'statsd' => [
'class' => common\components\StatsD::class,
'host' => getenv('STATSD_HOST'),
'port' => (int)getenv('STATSD_PORT') ?: 8125,
'namespace' => getenv('STATSD_NAMESPACE') ?: 'ely.accounts.' . gethostname() . '.app',
],
'queue' => [
'class' => yii\queue\redis\Queue::class,
],
],
];