Start here

Quick Start

Customize and start the web app, admin console, Content Studio, worker, PostgreSQL, Redis, and local object storage with one guided workflow.

Verified against starter commit 2a1a04a.

By the end of this page, you will have the customer app, admin console, Content Studio, durable worker, two SaaS databases, a Payload database, Redis, and a private local S3-compatible bucket running together.

Requirements

  • Node.js >=20.19.0 <23
  • pnpm 10.22.0
  • Docker with Compose

Guided first run

git clone https://github.com/PansaLegrand/sushi-saas-template.git
cd sushi-saas-template
pnpm install
./scripts/setup.sh development
pnpm dev:doctor
pnpm dev:all

The guided setup opens pnpm customize, writes missing ignored environment profiles, starts PostgreSQL, Redis, and Garage, creates sushi_dev, sushi_test, sushi_content, and the restore-drill database, applies Drizzle and Payload migrations, and provisions the private sushi-dev bucket. It is idempotent and never overwrites an existing environment file.

For a non-interactive first clone that keeps neutral product defaults, use pnpm setup instead.

pnpm dev:doctor is read-only. It checks tool versions, environment boundaries and permissions, Docker, PostgreSQL, Redis, migrations, local object storage, Content Studio configuration, and occupied ports without printing secret values.

pnpm dev:all starts:

ProcessAddress
Customer apphttp://localhost:3000
Admin consolehttp://localhost:3001
Content Studiohttp://localhost:3002/admin
Durable workerbackground process with prefixed logs

Use --web-only, --no-studio, or --with-stripe for a deliberate partial workflow. The runner executes doctor first and stops the complete process group on Ctrl-C.

Safe demo data and reset

pnpm dev:seed
pnpm dev:reset -- --dry-run
pnpm dev:reset

The seed creates or repairs a verified .test account, personal organization, deterministic 1,000-credit grant, and demo reservation without granting twice. Reset refuses external services, previews its exact local targets, requires explicit confirmation, recreates only this Compose project's data, reruns migrations, and reseeds unless told otherwise.

Verify the complete starter

curl http://localhost:3000/api/health
curl http://localhost:3000/api/ready
pnpm test:fast
pnpm test:e2e
pnpm build

Playwright signs in through Better Auth and tests the tenant credit ledger, real Garage uploads, and the five-credit image task through the durable worker and signed result. Continue with Customize Your Product, Architecture and Error Contracts, and Testing and CI Contracts.

Quick Start · Sushi SaaS