Free addons!
heroku addons:add memcachier
heroku addons:add mandrill:starter
heroku addons:add newrelic
heroku addons:add pgbackups:auto-month
heroku addons:add papertrail
| group :production do | |
| gem 'unicorn' | |
| # Enable gzip compression on heroku, but don't compress images. | |
| gem 'heroku-deflater' | |
| # Heroku injects it if it's not in there already | |
| gem 'rails_12factor' | |
| end | |
| gem 'memcachier' | |
| gem 'dalli' | |
| # Fast IO for memcache | |
| gem 'kgio' | |
| # Serve static assets through Rack + Memcache | |
| # https://devcenter.heroku.com/articles/rack-cache-memcached-rails31 | |
| gem 'rack-cache' |
| web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb |
| # config/environments/production.rb | |
| # ... | |
| # Enable Rails's static asset server for Heroku | |
| config.serve_static_assets = true | |
| # Set static assets cache header. rack-cache will cache those. | |
| config.static_cache_control = "public, max-age=31536000" | |
| config.cache_store = :dalli_store | |
| client = Dalli::Client.new(ENV["MEMCACHIER_SERVERS"], | |
| :value_max_bytes => 10485760, | |
| :expires_in => 86400) # 1 day | |
| # Configure rack-cache for using memcachier | |
| config.action_dispatch.rack_cache = { | |
| :metastore => client, | |
| :entitystore => client | |
| } | |
| # Send emails via mandrill | |
| ActionMailer::Base.delivery_method = :smtp | |
| config.action_mailer.smtp_settings = { | |
| :address => 'smtp.mandrillapp.com', | |
| :port => '587', | |
| :authentication => :plain, | |
| :user_name => ENV['MANDRILL_USERNAME'], | |
| :password => ENV['MANDRILL_APIKEY'], | |
| :domain => 'heroku.com', | |
| } | |
| # ... | |
| # config/unicorn.rb | |
| worker_processes 3 | |
| timeout 30 | |
| preload_app true | |
| before_fork do |server, worker| | |
| # Replace with MongoDB or whatever | |
| if defined?(ActiveRecord::Base) | |
| ActiveRecord::Base.connection.disconnect! | |
| Rails.logger.info('Disconnected from ActiveRecord') | |
| end | |
| # If you are using Redis but not Resque, change this | |
| if defined?(Resque) | |
| Resque.redis.quit | |
| Rails.logger.info('Disconnected from Redis') | |
| end | |
| sleep 1 | |
| end | |
| after_fork do |server, worker| | |
| # Replace with MongoDB or whatever | |
| if defined?(ActiveRecord::Base) | |
| ActiveRecord::Base.establish_connection | |
| Rails.logger.info('Connected to ActiveRecord') | |
| end | |
| # If you are using Redis but not Resque, change this | |
| if defined?(Resque) | |
| Resque.redis = ENV['REDIS_URI'] | |
| Rails.logger.info('Connected to Redis') | |
| end | |
| end |
@mathieugagne Thanks! I just fixed it!
@maurogeorge Done!
@croaky Fastly charges a minimum of $50 a month right?
Could use a gem 'newrelic' line in the Gemfile. I added the addon but missed the gem, and was wondering why Newrelic was "waiting on data" 😁
do u need to have workers?
The command is now heroku addons:create instead of heroku addons:add
Also, heroku addons:add pgbackups:auto-month doesn't exist. The only postgres backup system I see now is heroku addons:create autobus
You can change the Sendgrid by the Mandrill. In the free plan, they have the double of emails.