From 3980125872555cb53023c07072cebaa305b6d7c8 Mon Sep 17 00:00:00 2001 From: Sasi Olin Date: Fri, 20 May 2022 14:53:43 +0200 Subject: [PATCH 1/4] Return the missing mailer setup --- config/environments/production.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/environments/production.rb b/config/environments/production.rb index 4f40e48f..679407c4 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -70,6 +70,17 @@ Rails.application.configure do config.logger = ActiveSupport::TaggedLogging.new(logger) end + config.action_mailer.smtp_settings = { + address: ENV['OSEM_SMTP_ADDRESS'], + port: ENV['OSEM_SMTP_PORT'], + user_name: ENV['OSEM_SMTP_USERNAME'], + password: ENV['OSEM_SMTP_PASSWORD'], + authentication: ENV['OSEM_SMTP_AUTHENTICATION'].try(:to_sym), + domain: ENV['OSEM_SMTP_DOMAIN'], + enable_starttls_auto: ENV['OSEM_SMTP_ENABLE_STARTTLS_AUTO'], + openssl_verify_mode: ENV['OSEM_SMTP_OPENSSL_VERIFY_MODE'] + }.compact + # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false end From ac0459e8a785d8de2c1900fb3e748ac5db4dc30d Mon Sep 17 00:00:00 2001 From: Sasi Olin Date: Fri, 20 May 2022 14:58:10 +0200 Subject: [PATCH 2/4] Use env.fetch instead of env --- config/environments/production.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 679407c4..8b4dd3d6 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -71,14 +71,14 @@ Rails.application.configure do end config.action_mailer.smtp_settings = { - address: ENV['OSEM_SMTP_ADDRESS'], - port: ENV['OSEM_SMTP_PORT'], - user_name: ENV['OSEM_SMTP_USERNAME'], - password: ENV['OSEM_SMTP_PASSWORD'], - authentication: ENV['OSEM_SMTP_AUTHENTICATION'].try(:to_sym), - domain: ENV['OSEM_SMTP_DOMAIN'], - enable_starttls_auto: ENV['OSEM_SMTP_ENABLE_STARTTLS_AUTO'], - openssl_verify_mode: ENV['OSEM_SMTP_OPENSSL_VERIFY_MODE'] + address: ENV.fetch('OSEM_SMTP_ADDRESS'), + port: ENV.fetch('OSEM_SMTP_PORT'), + user_name: ENV.fetch('OSEM_SMTP_USERNAME'), + password: ENV.fetch('OSEM_SMTP_PASSWORD'), + authentication: ENV.fetch('OSEM_SMTP_AUTHENTICATION').try(:to_sym), + domain: ENV.fetch('OSEM_SMTP_DOMAIN'), + enable_starttls_auto: ENV.fetch('OSEM_SMTP_ENABLE_STARTTLS_AUTO'), + openssl_verify_mode: ENV.fetch('OSEM_SMTP_OPENSSL_VERIFY_MODE') }.compact # Do not dump schema after migrations. From a95b151a5034ba1e3704d7e8c4e80620bbc32f28 Mon Sep 17 00:00:00 2001 From: Sasi Olin Date: Fri, 20 May 2022 15:13:41 +0200 Subject: [PATCH 3/4] Set the default values for env --- config/environments/production.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 8b4dd3d6..35c7103f 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -71,14 +71,14 @@ Rails.application.configure do end config.action_mailer.smtp_settings = { - address: ENV.fetch('OSEM_SMTP_ADDRESS'), - port: ENV.fetch('OSEM_SMTP_PORT'), - user_name: ENV.fetch('OSEM_SMTP_USERNAME'), - password: ENV.fetch('OSEM_SMTP_PASSWORD'), - authentication: ENV.fetch('OSEM_SMTP_AUTHENTICATION').try(:to_sym), - domain: ENV.fetch('OSEM_SMTP_DOMAIN'), - enable_starttls_auto: ENV.fetch('OSEM_SMTP_ENABLE_STARTTLS_AUTO'), - openssl_verify_mode: ENV.fetch('OSEM_SMTP_OPENSSL_VERIFY_MODE') + address: ENV.fetch('OSEM_SMTP_ADDRESS', 'localhost'), + port: ENV.fetch('OSEM_SMTP_PORT', 25), + user_name: ENV.fetch('OSEM_SMTP_USERNAME', nil), + password: ENV.fetch('OSEM_SMTP_PASSWORD', nil), + authentication: ENV.fetch('OSEM_SMTP_AUTHENTICATION', 'plain').try(:to_sym), + domain: ENV.fetch('OSEM_SMTP_DOMAIN', nil), + enable_starttls_auto: ENV.fetch('OSEM_SMTP_ENABLE_STARTTLS_AUTO', nil), + openssl_verify_mode: ENV.fetch('OSEM_SMTP_OPENSSL_VERIFY_MODE', nil) }.compact # Do not dump schema after migrations. From 14ca3b761a33269c3d5b11cbebdb3cb2bc6197ba Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 23 May 2022 12:54:06 +0200 Subject: [PATCH 4/4] Return the rest of the dropped production env Lost during the rails 7 update in 10c6edcf8c35dfa539f0092c80d58b5616c8df6 --- config/environments/production.rb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 35c7103f..a301acc8 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -20,9 +20,12 @@ Rails.application.configure do # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). # config.require_master_key = true + # Set the secret_key_base from the env, if not set by any other means + config.secret_key_base ||= ENV.fetch('SECRET_KEY_BASE', nil) + # Disable serving static files from the `/public` folder by default since # Apache or NGINX already handles this. - config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present? + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? # Compress CSS using a preprocessor. # config.assets.css_compressor = :sass @@ -38,7 +41,7 @@ Rails.application.configure do # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - # config.force_ssl = true + config.force_ssl = true if ENV['FORCE_SSL'].present? # Include generic and useful information about system operation, but avoid logging too much # information to avoid inadvertent exposure of personally identifiable information (PII). @@ -64,12 +67,13 @@ Rails.application.configure do # require "syslog/logger" # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name") - if ENV["RAILS_LOG_TO_STDOUT"].present? + if ENV['RAILS_LOG_TO_STDOUT'].present? logger = ActiveSupport::Logger.new(STDOUT) logger.formatter = config.log_formatter config.logger = ActiveSupport::TaggedLogging.new(logger) end + config.action_mailer.default_url_options = { host: ENV.fetch('OSEM_HOSTNAME', 'localhost:3000') } config.action_mailer.smtp_settings = { address: ENV.fetch('OSEM_SMTP_ADDRESS', 'localhost'), port: ENV.fetch('OSEM_SMTP_PORT', 25), @@ -81,6 +85,14 @@ Rails.application.configure do openssl_verify_mode: ENV.fetch('OSEM_SMTP_OPENSSL_VERIFY_MODE', nil) }.compact + # Use memcache cluster as cache store in production + if ENV["OSEM_MEMCACHED_SERVERS"] + config.cache_store = :mem_cache_store, ENV['OSEM_MEMCACHED_SERVERS'].split(','), { + username: ENV.fetch('OSEM_MEMCACHED_USERNAME', nil), + password: ENV.fetch('OSEM_MEMCACHED_PASSWORD', nil) + } + end + # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false end