Back to Spree

Installing Spree

docs/developer/getting-started/quickstart.mdx

5.5.05.0 KB
Original Source

Installation options

<Tabs> <Tab title="create-spree-app"> The quickest way to get started. Scaffolds a full Spree project with Next.js Storefront (optional).
**Requirements:** [Node.js](https://nodejs.org/) 20+ and [Docker](https://docs.docker.com/get-docker/) running.

```bash
npx create-spree-app@latest my-store
```

The CLI walks you through an interactive setup:

1. Choose **Full-stack** (Backend + Next.js Storefront) or **Backend only**
2. Optionally load **sample data** (products, categories, images)

Once complete, your store should be running at [http://localhost:3000/admin](http://localhost:3000/admin). The port can be different if `3000` is already used on your system.

See the full [create-spree-app documentation](/developer/create-spree-app/quickstart) for all CLI flags and options.
</Tab> <Tab title="Manual Installation"> For developers who prefer full control over the setup, or want to add Spree to an existing Rails application.
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/)
2. Install [vips](https://www.libvips.org/install.html) for image processing
3. Install Rails gem:
    ```bash
    gem install rails
    ```
4. Create a new Spree application:
    ```bash
    rails new my_store -m https://raw.githubusercontent.com/spree/spree/main/spree/template.rb
    ```
    To use a specific database, pass the `-d` flag:
    ```bash
    rails new my_store -d postgresql -m https://raw.githubusercontent.com/spree/spree/main/spree/template.rb
    rails new my_store -d mysql -m https://raw.githubusercontent.com/spree/spree/main/spree/template.rb
    ```
5. Navigate to the application directory:
    ```bash
    cd my_store
    ```
6. Start the development server:
    ```bash
    bin/dev
    ```
7. Optionally load sample data (products, categories, etc.):
    ```bash
    bin/rails spree_sample:load
    ```

<Info>
  Spree works with **PostgreSQL**, **MySQL**, and **SQLite** databases. The Rails template defaults to SQLite for quick setup. You can switch to PostgreSQL or MySQL at any time. [Learn more about database configuration](/developer/deployment/database).
</Info>
</Tab> </Tabs>

Accessing Admin Panel

Navigate to http://localhost:3000/admin and log in with the default credentials:

Email[email protected]
Passwordspree123

Upon successful authentication, you should see the admin screen:

<Frame caption="Spree Admin Dashboard"> </Frame>

Using the Spree CLI

Projects scaffolded with create-spree-app include @spree/cli for managing the backend and calling the Admin API. Because it's a project dependency, run it with npx (or any package-manager script):

bash
npx spree dev               # boot the Docker stack
npx spree api get products  # query the Admin API (read-only key preconfigured)

Project setup mints a read-only Admin API key into .spree/credentials.json (and spree api mints it on first use if you skipped setup), so spree api works without any extra configuration.

To call spree directly without the npx prefix, install the CLI globally:

bash
npm install -g @spree/cli
spree api get products

See the Spree CLI guide for all commands and the Admin API from the CLI for querying your store's data.

Next Steps

<CardGroup cols={2}> <Card title="Build with AI Agents" icon="bot" href="/developer/agentic/overview"> Install the Spree agent skills and connect the docs MCP server — Claude Code, Cursor, Copilot, and 60+ other tools learn Spree's conventions and build features with you. </Card> <Card title="Customization Tutorial" icon="graduation-cap" href="/developer/tutorial/introduction"> Build a complete custom feature — model, admin UI, API, and TypeScript SDK — step by step. </Card> <Card title="Core Concepts" icon="brain" href="/developer/core-concepts/architecture"> Understand how Spree models commerce — stores, products, orders, payments. </Card> <Card title="Next.js Storefront" icon="react" href="/developer/storefront/nextjs/quickstart"> Customize and extend the headless storefront. </Card> </CardGroup> <Tip> Using an AI coding agent? Run `npx skills add spree/agent-skills` in your new project — it teaches your agent the customization patterns before you write a line of code. See [Agentic Development](/developer/agentic/overview). </Tip>

Congrats! You've set up your Spree Commerce and it's looking amazing!

Give Spree a GitHub Star<Icon icon="star" iconType="solid" color="#FFD43B" />, why don't ya? Thank you for supporting Spree open-source! <Icon icon="heart" iconType="solid" color="#FF0000" />

Need support or want to give some feedback? Join our Discord