From c46843c65c0761f97d894f21e361489a0fa1a60a Mon Sep 17 00:00:00 2001 From: leopku Date: Thu, 23 Mar 2017 15:44:55 +0800 Subject: [PATCH] :wrench: S3 protocol from ENV add support for reading S3 protocol from ENV also add S3_HOSTNAME in .env.production.sample --- .env.production.sample | 2 ++ config/initializers/paperclip.rb | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.env.production.sample b/.env.production.sample index ef0af9d5..bd81b8fc 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -39,6 +39,8 @@ SMTP_FROM_ADDRESS=notifications@example.com # AWS_ACCESS_KEY_ID= # AWS_SECRET_ACCESS_KEY= # S3_REGION= +# S3_PROTOCOL=http +# S3_HOSTNAME=192.168.1.123:9000 # Optional alias for S3 if you want to use Cloudfront or Cloudflare in front # S3_CLOUDFRONT_HOST= diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index 580a3196..2a2ef8fe 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -11,7 +11,7 @@ if ENV['S3_ENABLED'] == 'true' Aws.eager_autoload!(services: %w(S3)) Paperclip::Attachment.default_options[:storage] = :s3 - Paperclip::Attachment.default_options[:s3_protocol] = 'https' + Paperclip::Attachment.default_options[:s3_protocol] = ENV.fetch('S3_PROTOCOL') { 'https' } Paperclip::Attachment.default_options[:url] = ':s3_domain_url' Paperclip::Attachment.default_options[:s3_host_name] = ENV.fetch('S3_HOSTNAME') { "s3-#{ENV.fetch('S3_REGION')}.amazonaws.com" } Paperclip::Attachment.default_options[:path] = '/:class/:attachment/:id_partition/:style/:filename'