To goal of this project is to have a production-ready deploy of an Rails 4 API backend in a few minutes.
It is a blank Rails app, preconfigured with:
- basic authentication via token (Devise + CanCan);
- full deploy setup (Capistrano + nginx + puma);
- gems for API testing and documentation (RSpec API documentation + Raddocs);
- basic administration backend (ActiveAdmin);
- CORS and URL regex (rack-cors);
- API versioning via headers.
Deployment stack is the following:
- Rails 4.1;
- Capistrano 3;
- nginx configured via Capistrano task;
- Puma configured via Capistrano task;
- crontab with whenever;
- environment variables with figaro;
- both production and staging environments configured for Capistrano/nginx/puma;
- configurable exception notification via email (exception_notification).
See wiki article on how setup the server accordinly (TODO).
TODO
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request