Requirements
What to install before you run your package, with Docker or without it.
For the Full Stack package
What each package contains
| Package | Apps in the download | Runs on its own |
|---|---|---|
| Full Stack | API, storefront, admin dashboard | Yes, all three together |
| Storefront | Storefront | Yes, on a built-in sample store until you connect the template's API |
| Admin Dashboard | Admin dashboard | Yes, on a built-in sample store until you connect the template's API |
| Backend API | API | Yes, serving the API only |
A single-app package does not include the other apps. The frontends can use an API you already run, but the API's code is only in the Full Stack and Backend API packages.
With Docker
- Docker Desktop on macOS or Windows, or Docker Engine with the Compose plugin on Linux. The full stack starts with one
docker composecommand. - An internet connection for the first build, which downloads the base images and the dependencies.
- Nothing else: Docker brings Node.js, and the database is a SQLite file inside a Docker volume.
With Docker
- Docker Desktop on macOS or Windows, or Docker Engine on Linux. Your app has its own
Dockerfile; Compose is not needed. - An internet connection for the first build, which downloads the base image and the dependencies.
Without Docker
- Node.js 22 or newer. The template is tested on Node.js 24, which its Docker images use too. The storefront on its own also runs on Node.js 20.9.
- Yarn 4, through Corepack. Run
corepack enableonce; each app pins its own Yarn version, soyarnpicks the right one. If your Node.js has no Corepack, install it first withnpm install -g corepack. - No global packages.
Database
No database server. The API uses SQLite by default and yarn seed creates the file for you; Docker uses SQLite too. MySQL is supported as a configuration change, not a code change.
Ports
Each app listens on a fixed local port. Make sure nothing else uses them, or, with Docker, move one with SITE_PORT, ADMIN_PORT or API_PORT in a .env next to docker-compose.yml.
| App | Port |
|---|---|
| API | 8000 |
| Storefront | 3030 |
| Admin dashboard | 3031 |
Port
The storefront listens on port 3030. Make sure nothing else uses it.
Port
The admin dashboard listens on port 3031. Make sure nothing else uses it.
Port
The API listens on port 8000. Make sure nothing else uses it.
An API to connect
Nothing is needed to try your app: it runs on its own sample store. To use real data, it needs the template's API running, whose address you set in its .env. The API is sold as its own package.
Optional services
None of these is needed to run the store locally. Each is switched on by its keys in back-end/.env, and a key left at its .env.example value counts as not set.
| Service | Without it |
|---|---|
| Cloudflare R2 or another S3-compatible bucket | The demo store's pictures are served from copies both frontends ship. Uploading new images answers 503 until a bucket is set. |
| Stripe | No card payment is taken: the checkout's card option says card payments are unavailable, and cash on delivery works as usual. |
| A Google AI (Gemini) key | The dashboard assistant, the studio's Assistant mode (writing the product details and photo edits) and the storefront's fitting room report themselves off. The studio and the fitting room need the bucket as well. |
| A Higgsfield key and secret | The studio's Animate mode, which makes product videos, reports itself off. |
| The background-removal model file | The studio's "Remove background" button does not appear. It runs on your own server, needs the bucket for its results, and costs nothing per image. |