suspenders Documentation

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

4,041 stars Ruby Ruby 1 file ยท ~1,001 tokens #rails#template
RAW Doc

Technical Documentation: thoughtbot/suspenders

โ„น๏ธ Provenance: Multi-Tier Ingestion ยท CodeWiki Reference

Overview (`README.md`)

Suspenders

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.

Prerequisites

Suspenders requires the latest version of Rails and its dependencies.

Additionally, Suspenders requires PostgreSQL and Redis.

Installation

text
gem install suspenders

Usage

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

text
gem update rails

Then, create a new application with Suspenders.

text
suspenders new <app_name>

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

text
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.

text
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.

text
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.

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

Finally, don't forget to enable the worker.

text
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

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.


--- METRICS ---