- img.example.com から配信
- production 環境のみ
という前提です。 CarrierWave のバージョンは 0.10.0 です。
Gemfile
gem 'carrierwave' gem 'fog' gem 'dotenv-rails'
config/initializers/carrierwave.rb
CarrierWave.configure do |config| if Rails.env.production? config.fog_credentials = { provider: 'AWS', aws_access_key_id: ENV['S3_ACCESS_KEY_ID'], aws_secret_access_key: ENV['S3_SECRET_ACCESS_KEY'], region: ENV['S3_REGION'], path_style: true, } config.fog_directory = ENV['S3_BUCKET_NAME'] config.storage :fog config.asset_host = ENV['S3_ASSET_HOST'] else config.storage :file end end
.env
S3_ACCESS_KEY_ID=XXX S3_SECRET_ACCESS_KEY=XXX S3_REGION=ap-northeast-1 S3_BUCKET_NAME=img.example.com S3_ASSET_HOST=http://img.example.com