Quick Start
- Include Next.js Storefront (default: yes)
- Optionally load sample data (products, categories, images)
- Optionally start Docker services immediately
pnpm dev completes setup automatically.
The React Dashboard (Developer Preview of the next-generation admin) is available with the --react-dashboard flag, or later via spree add dashboard.
Prerequisites
CLI Flags
All prompts can be skipped with flags for non-interactive (CI/CD) usage:Generated Project Structure
What’s in docker-compose.yml
- Spree — one
webcontainer running theghcr.io/spree/spree:latestimage on the configured port (default3000); background jobs run in-process via Solid Queue (stored in Postgres — job dashboard at/jobs) - PostgreSQL 18 — database with persistent volume
- Meilisearch — search engine
- Health checks on postgres, meilisearch, and web
Customizing the Spree API
Thebackend/ directory is the Spree API — a full Rails application with Spree installed (cloned from spree-starter) serving the Store and Admin APIs your storefront and dashboard talk to, plus background jobs and transactional emails. By default, the project runs it from a prebuilt Docker image. To switch to building from your local copy:
docker-compose.yml with a version that builds from backend/, rebuilds the image, and restarts services. You can then:
- Add gems to
backend/Gemfile - Override models with decorators in
backend/app/models/ - Add controllers in
backend/app/controllers/ - Configure Spree in
backend/config/initializers/spree.rb - Add migrations with
spree generate migration AddFooToSpreeBars foo:string(runs inside the container)
Spree CLI Commands
The project includes @spree/cli for managing your Spree backend:After Setup
Admin Dashboard
Open http://localhost:3000/admin and log in with:
With
--react-dashboard, the React Dashboard’s dev server is the admin instead: spree dev starts it alongside the API at http://localhost:5173 — same credentials, live-reloading from apps/dashboard/ (the classic admin remains at /admin). See the React Dashboard docs.
Store API
The REST API is available at http://localhost:3000/api/v3/store. See the API Reference for details.Storefront
If you included the storefront, start it in a separate terminal:Updating Spree
To update to the latest Spree version:SPREE_VERSION_TAG in .env:
Deployment
The project deploys as one image:backend/Dockerfile builds the Spree API together with your React Dashboard (when apps/dashboard exists), served same-origin at /dashboard — no CORS, no cookie configuration, no second service.
- Render — the
render.yamlat the project root is a ready Blueprint: one Docker service built straight from your repo, migrations run on boot. - Anywhere else —
spree build --productionbuilds the same image locally; push it to a registry and run it on any Docker host.
Next Steps
Next.js Storefront
Customize and extend the Storefront
Spree SDK
TypeScript SDK for the Store and Admin APIs
API Reference
Explore the REST API endpoints
Core Concepts
Learn about Spree’s architecture

