CarrierWave.configure do |config| config.cache_dir = File.join(Rails.root, 'tmp', 'uploads') case Rails.env.to_sym when :development config.storage = :file config.root = File.join(Rails.root, 'public') when :production # the following configuration works for Amazon S3 config.storage = :fog config.fog_credentials = { provider: 'AWS', aws_access_key_id: ENV['S3_KEY_ID'], aws_secret_access_key: ENV['S3_SECRET_KEY'], region: ENV['S3_BUCKET_REGION'] } config.fog_directory = ENV['S3_BUCKET'] else # settings for the local filesystem config.storage = :file config.root = File.join(Rails.root, 'public') end end