Created
July 18, 2023 14:39
-
-
Save davidhellmann/0c4f961a531b8d57c52288edaee36b6a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Yii Application Config | |
* | |
* Edit this file at your own risk! | |
* | |
* The array returned by this file will get merged with | |
* vendor/craftcms/cms/src/config/app.php and app.[web|console].php, when | |
* Craft's bootstrap script is defining the configuration for the entire | |
* application. | |
* | |
* You can define custom modules and system components, and even override the | |
* built-in system components. | |
* | |
* If you want to modify the application config for *only* web requests or | |
* *only* console requests, create an app.web.php or app.console.php file in | |
* your config/ folder, alongside this one. | |
*/ | |
use craft\helpers\App; | |
return [ | |
'*' => [ | |
'id' => App::env('CRAFT_APP_ID') ?: 'CraftCMS', | |
'modules' => [ | |
'site-module' => [ | |
'class' => \modules\sitemodule\SiteModule::class, | |
], | |
], | |
'bootstrap' => ['site-module'], | |
'components' => [ | |
'db' => function () { | |
$config = craft\helpers\App::dbConfig(); | |
$config['enableSchemaCache'] = true; | |
$config['schemaCacheDuration'] = 60 * 60 * 24; // 1 day | |
return Craft::createObject($config); | |
}, | |
'deprecator' => [ | |
'throwExceptions' => App::env('HARD_MODE') ?: false, | |
], | |
'queue' => [ | |
'class' => craft\queue\Queue::class, | |
'ttr' => 10 * 60, | |
], | |
'redis' => [ | |
'class' => yii\redis\Connection::class, | |
'hostname' => App::env('REDIS_HOSTNAME'), | |
'port' => App::env('REDIS_PORT'), | |
'database' => App::env('REDIS_DEFAULT_DB'), | |
], | |
'cache' => [ | |
'class' => yii\redis\Cache::class, | |
'keyPrefix' => '_' . App::env('CRAFT_APP_ID') . '_CACHE_' ?: 'CraftCMS_CACHE_', | |
'defaultDuration' => 86400, | |
'redis' => 'redis', | |
], | |
'mutex' => static function() { | |
$config = [ | |
'class' => craft\mutex\Mutex::class, | |
'mutex' => [ | |
'class' => yii\redis\Mutex::class, | |
// set the max duration to 15 minutes for console requests | |
'expire' => Craft::$app->request->isConsoleRequest ? 900 : 30, | |
'redis' => [ | |
'hostname' => App::env('REDIS_HOSTNAME') ?: 'localhost', | |
'port' => App::env('REDIS_PORT'), | |
'password' => App::env('REDIS_PASSWORD') ?: null, | |
'database' => App::env('REDIS_DEFAULT_DB'), | |
], | |
], | |
]; | |
// Return the initialized component: | |
return Craft::createObject($config); | |
}, | |
], | |
], | |
'production' => [], | |
'staging' => [], | |
'dev' => [], | |
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Yii Web Application Config | |
* | |
* Edit this file at your own risk! | |
* | |
* The array returned by this file will get merged with | |
* vendor/craftcms/cms/src/config/app.php and app.[web|console].php, when | |
* Craft's bootstrap script is defining the configuration for the entire | |
* application. | |
* | |
* You can define custom modules and system components, and even override the | |
* built-in system components. | |
* | |
* This application config is applied only for *only* web requests | |
*/ | |
use craft\helpers\App; | |
return [ | |
'components' => [ | |
'session' => static function () { | |
// Get the default component config | |
$config = App::sessionConfig(); | |
// Override the class to use Redis' session class and our config settings | |
$config['class'] = yii\redis\Session::class; | |
$config['keyPrefix'] = '_' . App::env('CRAFT_APP_ID') . '_SESSION_' ?: 'CraftCMS_SESSION_'; | |
$config['redis'] = [ | |
'hostname' => App::env('REDIS_HOSTNAME'), | |
'port' => App::env('REDIS_PORT'), | |
'database' => App::env('REDIS_CRAFT_DB'), | |
]; | |
// Instantiate and return it | |
return Craft::createObject($config); | |
}, | |
], | |
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* General Configuration | |
* | |
* All of your system's general configuration settings go in here. You can see a | |
* list of the available settings in vendor/craftcms/cms/src/config/GeneralConfig.php. | |
* | |
* @see \craft\config\GeneralConfig | |
*/ | |
use craft\helpers\App; | |
return [ | |
'craftEnv' => App::env('CRAFT_ENVIRONMENT') ?: 'dev', | |
'localDevPerformance' => (bool)App::env('LOCAL_DEV_PERFORMANCE') ?: null, | |
'dominantColor' => '#efebea', | |
]; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
use craft\config\GeneralConfig; | |
use craft\helpers\App; | |
$isDev = App::env('CRAFT_ENVIRONMENT') === 'dev'; | |
$isProd = App::env('CRAFT_ENVIRONMENT') === 'production'; | |
$config = GeneralConfig::create() | |
->devMode($isDev) | |
->allowUpdates($isDev) | |
->allowAdminChanges($isDev) | |
->enableTemplateCaching(!$isDev) | |
->enableGraphqlCaching(!$isDev) | |
->defaultWeekStartDay(1) | |
->isSystemLive(1) | |
->backupOnUpdate(0) | |
->runQueueAutomatically(1) | |
->cacheDuration(0) | |
->maxRevisions(10) | |
->defaultTokenDuration(86400) | |
->enableCsrfProtection(1) | |
->limitAutoSlugsToAscii(1) | |
->convertFilenamesToAscii(true) | |
->generateTransformsBeforePageLoad(true) | |
->maxCachedCloudImageSize(3000) | |
->maxUploadFileSize('100M') | |
->omitScriptNameInUrls(true) | |
->useEmailAsUsername(false) | |
->usePathInfo(true) | |
->preventUserEnumeration(true) | |
->errorTemplatePrefix('errors/') | |
->defaultSearchTermOptions([ | |
'subLeft' => true, | |
'subRight' => true, | |
]) | |
->testToEmailAddress(App::env('TEST_MAIL') ?: null) | |
->resourceBasePath(App::env('WEB_ROOT_PATH') . '/cpresources') | |
->aliases([ | |
'@assetsUrl' => App::env('ASSETS_URL'), | |
'@web' => App::env('SITE_URL'), | |
'@webroot' => App::env('WEB_ROOT_PATH'), | |
]) | |
->allowedFileExtensions(['jpg', 'png', 'jpeg', 'gif', 'svg', 'mp4', 'wov', 'mp3', 'wav', 'pdf', 'zip', 'csv', 'rar']) | |
->omitScriptNameInUrls(); | |
if ($isProd) { | |
$config->disabledPlugins([ | |
'dumper', 'elements-panel', 'blitz-recommendations', 'cp-field-inspect' | |
]); | |
} | |
if (!$isProd) { | |
$config->disallowRobots(); | |
} | |
return $config; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment