'/run/redis_eptypo3/redis.sock', 'port' => 0, ]; if (getenv('IS_DDEV_PROJECT') == 'true') { $redisOptions = [ 'hostname' => 'redis', 'port' => 6379, ]; $GLOBALS['TYPO3_CONF_VARS'] = array_replace_recursive( $GLOBALS['TYPO3_CONF_VARS'], [ 'DB' => [ 'Connections' => [ 'Default' => [ 'dbname' => 'db', 'driver' => 'mysqli', 'host' => 'db', 'password' => 'db', 'port' => '3306', 'user' => 'db', ], ], ], // This GFX configuration allows processing by installed ImageMagick 6 'GFX' => [ 'processor' => 'ImageMagick', 'processor_path' => '/usr/bin/', 'processor_path_lzw' => '/usr/bin/', ], // This mail configuration sends all emails to mailpit 'MAIL' => [ 'transport' => 'smtp', 'transport_smtp_encrypt' => false, 'transport_smtp_server' => 'localhost:1025', ], 'SYS' => [ 'trustedHostsPattern' => '.*.*', 'devIPmask' => '*', 'displayErrors' => 1, ], ] ); } // Fail fast instead of blocking indefinitely when redis is unreachable. $redisOptions['connectionTimeout'] = 2; // Note: the cache identifiers must stay unprefixed ('pages', not 'cache_pages'). These // assignments replace the definitions from LocalConfiguration.php wholesale, so 'groups' // and the compression/lifetime options have to be repeated here. $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['pages'] = [ 'frontend' => \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class, 'backend' => \TYPO3\CMS\Core\Cache\Backend\RedisBackend::class, 'options' => $redisOptions + [ 'database' => 0, 'compression' => true, ], 'groups' => ['pages'], ]; $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['hash'] = [ 'frontend' => \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class, 'backend' => \TYPO3\CMS\Core\Cache\Backend\RedisBackend::class, 'options' => $redisOptions + [ 'database' => 1, ], 'groups' => ['pages'], ]; // Own database: RedisBackend::flush() issues FLUSHDB and the keys carry no per-cache // prefix, so two caches sharing a database flush each other. $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['rootline'] = [ 'frontend' => \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class, 'backend' => \TYPO3\CMS\Core\Cache\Backend\RedisBackend::class, 'options' => $redisOptions + [ 'database' => 2, 'compression' => true, 'defaultLifetime' => 2592000, ], 'groups' => ['pages'], ]; // suppress php deprecation warnings flooding typo3 logs $GLOBALS['TYPO3_CONF_VARS']['SYS']['errorHandlerErrors'] = $GLOBALS['TYPO3_CONF_VARS']['SYS']['errorHandlerErrors'] & ~E_DEPRECATED & ~E_USER_DEPRECATED; /* $GLOBALS['TYPO3_CONF_VARS']['BE']['cookieSameSite'] = 'lax'; $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['oauth2_client'] = [ 'providers' => [ 'myep' => [ 'label' => 'MyEP', 'iconIdentifier' => 'ep-logo', 'scopes' => [ \Waldhacker\Oauth2Client\Service\Oauth2ProviderManager::SCOPE_BACKEND, ], 'options' => [ 'clientId' => '8df8f314ce17e8b716f86f9c24564746', 'clientSecret' => '7ff2532abc06f2b48438fc2e6e0278c8fdfb0e2de839889f4d5d17fd4a37cfffcca3bb19166331cc6ced462550611b33f08e9a3a993270d8c786a884c7fe935b', 'urlAuthorize' => 'https://myep-next-booking.ddev.site/authorize', 'urlAccessToken' => 'https://myep-next-booking.ddev.site/token', 'urlResourceOwnerDetails' => 'https://myep-next-booking.ddev.site/api/userinfo', 'scopes' => ['email', 'id', 'roles', 'profile'], 'scopeSeparator' => ' ', ], ], ], ]; */