Skip to content
silviorelli edited this page Jan 11, 2012 · 9 revisions

Deploy on Heroku

  1. Follow the Heroku Getting started guide using the bamboo-mri-1.9.2 stack
  2. Add the aws-s3 gem to your Gemfile and run bundle install
  3. Add a config/s3.yml with your Amazon S3 credentials
development:  
  bucket: your-bucket-development  
  access_key_id: AKIAJXWCXXXXXXXXX  
  secret_access_key: lXjL3Z3p8xxxxxxxxxxxxxxxxxxxxxxxxxxxxx  
test:
  bucket: your-bucket-test
  access_key_id: AKIAJXWCYYYYYYYYYY
  secret_access_key: lXjL3Z3p8yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
production:
  bucket: your-bucket-production
  access_key_id: AKIAJXWCZZZZZZZZZZ
  secret_access_key: lXjL3Z3p8zzzzzzzzzzzzzzzzzzzzzzzzzzzzz
  1. Modify the 5 models so Paperclip can store data on filesystem
  • app/models/article.rb
has_attached_file :featured_image,
                    :styles => {:large => "500x500>", :medium => "300x300>", :thumb => "100x100>"},
                    :url  => "/uploads/art/:id/:style/:basename.:extension",
                    :path => "/uploads/art/:id/:style/:basename.:extension",
                    :storage => :s3,                    
                    :s3_credentials => "#{Rails.root}/config/s3.yml"
  • app/models/page.rb
has_attached_file :featured_image,
                    :styles => {:large => "500x500>", :medium => "300x300>", :thumb => "100x100>"},
                    :url  => "/uploads/pg/:id/:style/:basename.:extension",
                    :path => "/uploads/pg/:id/:style/:basename.:extension",
                    :storage => :s3,                    
                    :s3_credentials => "#{Rails.root}/config/s3.yml"
  • app/models/upload.rb
has_attached_file :data,
                    :styles => { :thumb => "80x80>", :small => "150x150>", :medium => "300x300>", :large => "650x650>" },
                    :url  => "/uploads/upl/:id/:style/:basename.:extension",
                    :path => "/uploads/upl/:id/:style/:basename.:extension",
                    :storage => :s3,                    
                    :s3_credentials => "#{Rails.root}/config/s3.yml"
  • app/models/ckeditor/attachment_file.rb
  has_attached_file :data,
                    :url  => "/ckatt/:id/:style/:basename.:extension",
                    :path => "/ckatt/:id/:style/:basename.:extension",
                    :storage => :s3,                    
                    :s3_credentials => "#{Rails.root}/config/s3.yml"
  • app/models/ckeditor/picture.rb
  has_attached_file :data,
                    :styles => {:content => '800>', :thumb => '118x100#'},
                    :url  => "/ck/:id/:style/:basename.:extension",
                    :path => "/ck/:id/:style/:basename.:extension",
                    :storage => :s3,                    
                    :s3_credentials => "#{Rails.root}/config/s3.yml"
  1. Push to Heroku!
Clone this wiki locally