+/**
+ * Database configuration options.
+ *
+ * Changes to these config files are not supported by BookStack and may break upon updates.
+ * Configuration should be altered via the `.env` file or environment variables.
+ * Do not edit this file unless you're happy to maintain any changes yourself.
+ */
+
+// REDIS
+// Split out configuration into an array
+if (env('REDIS_SERVERS', false)) {
+
+ $redisDefaults = ['host' => '127.0.0.1', 'port' => '6379', 'database' => '0', 'password' => null];
+ $redisServers = explode(',', trim(env('REDIS_SERVERS', '127.0.0.1:6379:0'), ','));
+ $redisConfig = [];
+ $cluster = count($redisServers) > 1;
+
+ if ($cluster) {
+ $redisConfig['clusters'] = ['default' => []];
+ }
+
+ foreach ($redisServers as $index => $redisServer) {
+ $redisServerDetails = explode(':', $redisServer);
+
+ $serverConfig = [];
+ $configIndex = 0;
+ foreach ($redisDefaults as $configKey => $configDefault) {
+ $serverConfig[$configKey] = ($redisServerDetails[$configIndex] ?? $configDefault);
+ $configIndex++;
+ }
+
+ if ($cluster) {
+ $redisConfig['clusters']['default'][] = $serverConfig;
+ } else {
+ $redisConfig['default'] = $serverConfig;
+ }
+ }
+}
+
+// MYSQL
+// Split out port from host if set
+$mysql_host = env('DB_HOST', 'localhost');
+$mysql_host_exploded = explode(':', $mysql_host);
+$mysql_port = env('DB_PORT', 3306);
+if (count($mysql_host_exploded) > 1) {
+ $mysql_host = $mysql_host_exploded[0];
+ $mysql_port = intval($mysql_host_exploded[1]);
+}