docs/developer/getting-started/quickstart.mdx
**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.
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>
Navigate to http://localhost:3000/admin and log in with the default credentials:
[email protected] | |
| Password | spree123 |
Upon successful authentication, you should see the admin screen:
<Frame caption="Spree Admin Dashboard"> </Frame>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):
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:
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.
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