# Customizations of the default rails application These are the things that are different in the app template generated by railman compared to the plain app template generated by rails. ## .ruby-version Specify your ruby version here. ## .envrc If you install direnv, you don't have to use `bundle exec` any more, as the bin direcory is added to the PATH when you are enter the application's directory. ## Gemfile Add following gems: pg - postgres database driver exception_notification - notify me per email on each exception letter_opener - open emails in popup window in the browser in development mode Remove following gems: sqlite3 - we are using postgres per default Add the application-specific gems to Gemfile.local, so it can be kept separate from the base Gemfile. ## Eyefile [Eye](https://github.com/kostya/eye) is a ruby process manager. We use it to start/stop/restart/monitor the application ruby processes. The configuration of the processes that the application includes (app server, workers) is in the Eyefile. The eye gem is not included in the Gemfile. Eye should be installed globally on the server or your local machine and there will be only one eye process that manages multiple rails applications. ## .env.example This is a template for the application- and server-specific .env file. ## config/deploy/production.rb config/deploy includes the deployment targets (production, staging, ...) This is the configuration capistrano uses when you invoke `cap TARGET deploy` TODO: ask for server name on `railman new APP_NAME` ## config/environments/development.rb Add config.action_mailer.default_url_options and letter_opener (todo) ## config/environments/production.rb Add smtp settings and exception notification settings ## config/environments/test.rb Add config.action_mailer.default_url_options ## config/locales/readme.txt Describes how to add additional languages ## config/server/nginx.conf Nginx configuration. Capistrano links this file in the nginx conf. ## config/server/logrotate.conf Logrotate configuration. Capistrano links this file ... ## config/server/letsencrypt.conf Let's Encrypt configuration file that can be used to automatically generate Let's Encrypt SSL certificates. ## config/database.yml Use postgres. Use database user and password from .env ## config/secrets.yml Use SECRET_TOKEN from .env