A long-lived project that still receives updates
Suspenders is intended to create a new Rails applications, and is optimized for deployment on Heroku. 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.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

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.