Archived: This repository has been merged back into Fizzy as a vendored gem at
saas/. All future development happens there.
This is a Rails engine that 37signals bundles with Fizzy to offer the hosted version at https://fizzy.do.
To make Fizzy run in SaaS mode, run this in the terminal:
bin/rails saas:enableTo go back to open source mode:
bin/rails saas:disableThen you can work do Fizzy development as usual.
After making changes to this gem, you need to update Fizzy to pick up the changes:
BUNDLE_GEMFILE=Gemfile.saas bundle update --conservative fizzy-saasThe first time, you need to:
- Install Stripe CLI: https://stripe.com/docs/stripe-cli
- Run
stripe loginand authorize the environment37signals Development
Then, for working on the Stripe integration locally, you need to run this script to start the tunneling and set the environment variables:
eval "$(BUNDLE_GEMFILE=Gemfile.saas bundle exec stripe-dev)"
bin/dev # You need to start the dev server in the same terminal sessionThis will ask for your 1password authorization to read and set the environment variables that Stripe needs.
Fizzy is deployed with Kamal. You'll need to have the 1Password CLI set up in order to access the secrets that are used when deploying. Provided you have that, it should be as simple as bin/kamal deploy to the correct environment.
See the Fizzy handbook for runbooks and more.
This environment uses a FlashBlade bucket for blob storage.
Beta is primarily intended for testing product features. It uses the same production database and Active Storage configuration.
Beta tenant is:
Staging is primarily intended for testing infrastructure changes. It uses production-like but separate database and Active Storage configurations.
fizzy-saas is released under the O'Saasy License.