> ## Documentation Index
> Fetch the complete documentation index at: https://docs.streamly.watch/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Fastest path to a running Streamly: Supabase, environment variables, local or Cloudflare deploy, and first admin login.

Get Streamly running locally (or on Cloudflare), activate the operator console, apply a theme, and confirm the storefront loads.

## Before You Start

| Need                     | Notes                                                        |
| ------------------------ | ------------------------------------------------------------ |
| Node.js **20+**          | Repo requires `engines.node >= 20`                           |
| **pnpm**                 | Package manager is `pnpm@11` — enable with `corepack enable` |
| Fresh Supabase project   | Do not reuse retired credentials                             |
| CodeCanyon purchase code | Or demo license when `ENABLE_DEMO` is set                    |

## What You’ll Have

* Migrations applied in Supabase
* `.env.local` filled from `.env.example`
* App on `http://localhost:3000`
* Operator signed in at `/admin`
* A theme applied and at least one catalog path working

## Step 1 — Install (\~2 min)

From the Streamly package root:

```bash theme={null}
corepack enable
pnpm install --frozen-lockfile
```

## Step 2 — Supabase (\~10 min)

1. Create a **new** Supabase project.
2. Apply every SQL file in `supabase/migrations/` **in numeric order** (001 → 032+).
3. Copy Project URL, anon key, and service role key.

Details: [Supabase Configuration](/configuration/supabase).

## Step 3 — Environment (\~5 min)

```bash theme={null}
cp .env.example .env.local
```

Minimum local values:

```bash theme={null}
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_PLATFORM_HOST=localhost:3000
NEXT_PUBLIC_STREAMLY_API_BASE=http://localhost:3000/api/v1
NEXT_PUBLIC_SUPABASE_URL=https://YOUR_REF.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
TENANT_SECRETS_MASTER_KEY="$(openssl rand -base64 32)"
STREAMLY_CRON_SECRET="$(openssl rand -base64 32)"
```

Full list: [Environment Variables](/technical/environment-variables).

<Tip>
  For a CodeCanyon live-test style host, set `ENABLE_DEMO=true` so `/admin/login` offers the demo license path (purchase code `demo` / `admin@streamly.watch`).
</Tip>

<Warning>
  For production operator login, set `RESEND_API_KEY` (magic-link email). Without it (and without demo mode), activation email cannot send — see [Authentication Flow](/authentication/authentication-flow).
</Warning>

## Step 4 — Run locally (\~1 min)

```bash theme={null}
pnpm run dev
```

Open `http://localhost:3000`, then `/admin/login` to activate/sign in.

## Step 5 — First operator actions

| Task                          | Where                                      |
| ----------------------------- | ------------------------------------------ |
| Finish onboarding if prompted | `/admin/onboarding`                        |
| Apply a storefront theme      | `/admin/themes`                            |
| Set logos / colors / SEO      | `/admin/landing-page` (Brand & Experience) |
| Add a catalog title           | `/admin/catalog`                           |
| Optional: Stripe              | `/admin/plugins` → `payments.stripe`       |

Preview a theme without applying: `/?__theme_preview=<themeId>` while signed into admin.

## Production next steps

* Node server: [Deploy (Node)](/getting-started/deploy-node)
* Cloudflare Workers (production path for `streamly.watch`): [Deploy Cloudflare](/getting-started/deploy-cloudflare)
* Full checklist: [First Launch Checklist](/getting-started/first-launch-checklist)

## Related

* [Requirements](/getting-started/requirements)
* [First Launch Checklist](/getting-started/first-launch-checklist)
* [Themes](/admin-dashboard/themes)
