Skip to content

Instantly share code, notes, and snippets.

@minhajuddin
Created September 9, 2011 03:26
Show Gist options
  • Save minhajuddin/1205423 to your computer and use it in GitHub Desktop.
Save minhajuddin/1205423 to your computer and use it in GitHub Desktop.
Rails initial setup checklist

Checklist for a rails app

  • Is email setup properly
  • New relic setup to recieve errors, performance stats, availability check.
  • Exception mailer wired up for exceptions
  • Wire up a settings library ( https://github.com/viatropos/cockpit or https://github.com/wycats/moneta or a simple settings file )
  • Wireup a few basic initializers containing extension methods for Strings, Time etc,. (create a gem for this?)
  • Setup capistrano
  • Setup foreman (with upstart export templates)
  • Setup logrotate for the production.log
  • Setup unicorn, nginx
  • Setup startssl if the site needs SSL
  • Setup a favicon to be served from Amazon S3
  • Setup all the static images to be served from Amazon S3? (This will greatly reduce server loads)
  • Setup proper caching at rails app server level / nginx level and browser level
#lib/settings.rb
require 'yaml'
class Settings
@@settings = YAML::load_file(Rails.root + 'config/config.yml')[Rails.env]
class MissingSettingOptionError < StandardError;
end
def self.method_missing(key)
raise MissingSettingOptionError, "#{key.to_s} is not in the config file" unless @@settings.include?(key.to_s)
@@settings[key.to_s]
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment