about summary refs log tree commit diff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb2
-rw-r--r--config/environments/production.rb3
-rw-r--r--config/initializers/redis.rb16
3 files changed, 5 insertions, 16 deletions
diff --git a/config/application.rb b/config/application.rb
index 728fbfaef..6b121009e 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -13,6 +13,8 @@ require_relative '../lib/mastodon/version'
 
 Dotenv::Railtie.load
 
+require_relative '../lib/mastodon/redis_config'
+
 module Mastodon
   class Application < Rails::Application
     # Settings in config/environments/* take precedence over those specified here.
diff --git a/config/environments/production.rb b/config/environments/production.rb
index fa5f07495..750182402 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -50,6 +50,9 @@ Rails.application.configure do
   # Use a different logger for distributed setups.
   # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
 
+  # Use a different cache store in production.
+  config.cache_store = :redis_store, ENV['REDIS_URL'], REDIS_CACHE_PARAMS
+
   # Enable serving of images, stylesheets, and JavaScripts from an asset server.
   # config.action_controller.asset_host = 'http://assets.example.com'
 
diff --git a/config/initializers/redis.rb b/config/initializers/redis.rb
index 4ed53ec07..7573fc9f7 100644
--- a/config/initializers/redis.rb
+++ b/config/initializers/redis.rb
@@ -1,30 +1,14 @@
 # frozen_string_literal: true
 
-if ENV['REDIS_URL'].blank?
-  password = ENV.fetch('REDIS_PASSWORD') { '' }
-  host     = ENV.fetch('REDIS_HOST') { 'localhost' }
-  port     = ENV.fetch('REDIS_PORT') { 6379 }
-  db       = ENV.fetch('REDIS_DB') { 0 }
-
-  ENV['REDIS_URL'] = "redis://#{password.blank? ? '' : ":#{password}@"}#{host}:#{port}/#{db}"
-end
-
 redis_connection = Redis.new(
   url: ENV['REDIS_URL'],
   driver: :hiredis
 )
 
-cache_params = { expires_in: 10.minutes }
-
 namespace = ENV.fetch('REDIS_NAMESPACE') { nil }
 
 if namespace
   Redis.current = Redis::Namespace.new(namespace, redis: redis_connection)
-  cache_params[:namespace] = namespace + '_cache'
 else
   Redis.current = redis_connection
 end
-
-Rails.application.configure do
-  config.cache_store = :redis_store, ENV['REDIS_URL'], cache_params
-end