The Rails application behind every Spree Commerce 6 project. It serves:
- the Store API for storefronts and mobile apps
- the Admin API
- the Admin Dashboard, at
/dashboard - background jobs, with their dashboard at
/jobs - transactional emails
Projects created with create-spree-app keep this application in their server/ directory.
Create a new project with create-spree-app:
npx create-spree-app@latest my-storeIt sets up this application together with:
- the Admin Dashboard and an optional Seller Panel for marketplaces, as apps you can customize
- an optional Next.js storefront
- the Spree CLI, which runs everything in Docker
- the Spree agent skills for AI coding agents
You only need Node.js and Docker.
Just evaluating Spree? Skip self-hosting and use a hosted sandbox.
Start with the Customization Guide. It covers, in the order you should reach for them:
- events and subscribers
- workflow hooks
- dependencies
- extensions
- decorators, as a last resort
Run commands through the Spree CLI, never through bin/rails or bundle directly. For example, spree generate subscriber, spree migrate and spree rspec.
AGENTS.md holds the instructions for coding agents such as Claude Code, Codex, Cursor and Copilot. CLAUDE.md imports it.
For deeper Spree knowledge, install the Spree agent skills:
npx skills add spree/agent-skills.env.example lists the required variables. See the Environment Variables reference for the full list.
This application builds into a single Docker image: the API, the Admin Dashboard and background jobs. render.yaml deploys it to Render.
See the Deployment Guide for Render, AWS and other Docker hosts.