Skip to content

A Rails application template with our standard defaults, optimized for deployment on Heroku.

License

Notifications You must be signed in to change notification settings

thoughtbot/suspenders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Suspenders

CI

Suspenders is intended to create a new Rails applications with these features, and is optimized for deployment on Heroku, since that's our recommended host.

It is used by thoughtbot to get a jump start on new apps. Use Suspenders if you're in a rush to build something amazing; don't use it if you like missing deadlines.

Suspenders boy

Prerequisites

Suspenders requires the latest version of Rails and its dependencies.

Additionally, Suspenders requires PostgreSQL and Redis.

Installation

gem install suspenders

Usage

First, make sure you're on the latest version of Rails.

gem update rails

Then, create a new application with Suspenders.

suspenders new <app_name>

Under the hood, Suspenders uses an application template to generate a new Rails application like so:

rails new <app_name> \
 -d=postgresql \
 --skip-test \
 --skip-solid \
 --m=~/path/to/template.rb

We skip the default test framework in favor of RSpec, and prefer PostgreSQL as our database. We skip the Solid ecosystem since we prefer Sidekiq, and because Solid Queue has performance issues on Heroku.

Important

Since Suspenders generates an application that enables require_master_key, you'll need to add it to GitHub as a secret in order for GitHub Actions to work.

cd <app_name>

gh secret set RAILS_MASTER_KEY value-from-config-master.key

Initial deployment to Heroku

Once your application is generated, you can deploy to Heroku with Heroku CLI.

cd <app_name>

heroku apps:create

heroku buildpacks:set heroku/ruby

heroku addons:create heroku-postgresql:essential-0
heroku addons:create heroku-redis:mini

Once the application is provisioned, you'll want to set the following required environment variables.

heroku config:set \
 APPLICATION_HOST=value-from-heroku
 RAILS_MASTER_KEY=value-from-config-master.key

Finally, don't forget to enable the worker.

heroku ps:scale worker=1

Contributing

See the CONTRIBUTING document. Thank you, contributors!

License

Suspenders is Copyright (c) thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About thoughtbot

thoughtbot

This repo is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects. We are available for hire.

About

A Rails application template with our standard defaults, optimized for deployment on Heroku.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published