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
gem install suspendersUsage
First, make sure you're on the latest version of Rails.
gem update railsThen, 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.rbWe 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 enablesrequire_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.keyInitial 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:miniOnce 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.keyFinally, don't forget to enable the worker.
heroku ps:scale worker=1Contributing
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 ---
- Files Extracted: 1
- Estimated Token Budget: ~919 tokens
- Canonical Reference: https://codewiki.google/github.com/thoughtbot/suspenders