Skip to main content
This guide is aimed at advanced users who want to add Spree to an existing Rails application. If you are new to Spree, please follow the Quickstart guide.

Overview

If you already have a Ruby on Rails application, you can add Spree to it by following these steps.

1. Installing Spree

Add these lines to your project Gemfile:
spree_opts = { 'github': 'spree/spree', 'branch': 'main' }
gem 'spree', spree_opts # core and API
gem 'spree_admin', spree_opts # Admin panel (optional)
gem 'spree_storefront', spree_opts # Storefront (optional)
gem 'spree_emails', spree_opts # transactional emails (optional)
gem 'spree_sample', spree_opts # dummy data like products, taxons, etc (optional)
And run the following command to install the gems:
bundle install
These commands will run generators which will perform operations required for Spree to work properly.
bin/rails g spree:install --user_class=Spree::User --install_admin=true --install_storefront=true --authentication=devise

Installation options

  • user_class: The class that you want to use for your users, eg. Spree::User or User. This class needs to be present in your application.
  • authentication: The authentication gem to use, eg. devise or custom. Custom will require you to provide your own authentication code.
  • install_admin: Whether to install the Admin Panel.
  • install_storefront: Whether to install the Storefront.
  • migrate: Whether to run migrations.
  • sample: Whether to add sample data (products, taxons, etc).
  • seed: Whether to run the seed file.
  • admin_email: The email of the (first) admin user.
  • admin_password: The password of the (first) admin user.
To add sample data to your store, run:
bin/rake spree_sample:load
This will add a some products, categories, and will setup a checkout flow to your store.

3. Exploring Your Store

Feel free to explore your store. You can do so because Spree comes with a default pre-built Storefront and Admin Panel.
Use your browser window to navigate to http://localhost:3000/admin. You can log in with the default credentials:
  • login: spree@example.com
  • password: spree123
Upon successful authentication, you should see the admin screen:Feel free to explore some of the Admin Panel features that Spree has to offer and to verify that your installation is working properly.
Spree comes with a default pre-built Storefront. You can access it by navigating to http://localhost:3000.You can later customize this Storefront or choose another one if you prefer Next.js or Vue.js.

All Done!

Congrats! You’ve set up your Spree Commerce and it’s looking amazing! Need support or want to give some feedback? You can join our community or drop us an email at hello@spreecommerce.org.
I