Skip to main content

Quick Start

Get both apps running locally and rendering a page in under 10 minutes. Assumes Installation is complete.

Run from monorepo root

All app commands run from the monorepo root via Turbo (pnpm dev:strapi, pnpm dev:ui, etc.). Don't cd into individual apps — Turbo orchestrates dependencies, env loading, and task ordering across the workspace.

1. Start Strapi (with Postgres)

pnpm dev:strapi

This:

  1. Boots Postgres in Docker (pnpm run:db under the hood).
  2. Auto-imports the latest seed export when baseline content (Page, Navbar, Footer) is missing. See Data Seeding.
  3. Starts Strapi in develop mode with hot reload.

Default endpoints:

ServiceEndpoint
Strapi RESThttp://localhost:1337
Strapi adminhttp://localhost:1337/admin
PostgresDocker service db, published to host port 5432

On first run, Strapi prompts you to create an admin user in the admin panel.

2. Regenerate the Strapi API token

The Next.js UI reads public content via a read-only Strapi API token.

Open Strapi admin → Settings → API Tokens, then open the seeded Read Only token and click Regenerate.

Strapi API Tokens screen with the seeded Read Only token

The regenerated token displays once. Copy it.

3. Configure the UI app

Open apps/ui/.env.local (already created by pnpm install). Set:

STRAPI_URL=http://localhost:1337
STRAPI_REST_READONLY_API_KEY=<paste-token-here>

Other variables are optional for first-run. See UI → Environment Variables for the full list.

Write operations need a separate token

For write operations (POST, PUT, DELETE), set a Custom token in STRAPI_REST_CUSTOM_API_KEY. See apps/ui/README.md#custom-api-token.

4. Start the UI

In a second terminal, from monorepo root:

pnpm dev:ui

UI runs on http://localhost:3000 — open it.

You should see the seeded landing page rendered through the page-builder. The default locale is en; /cs is also configured.

5. Verify the loop

URLWhat you should see
http://localhost:3000Seeded homepage
http://localhost:3000/api/health{"data":"OK"} (UI)
http://localhost:1337/api/healthhealth JSON (Strapi)
http://localhost:3000/dev/components-overviewdev-only catalog of page-builder components

Common next steps

Launch Strapi + Next.js Monorepo — Live in 5 Minutes

Troubleshooting

SymptomLikely cause
STRAPI_URL undefined errors during UI buildenv var missing in .env.local
UI shows 404 for /Strapi missing baseline content. Run pnpm seed:import.
Strapi pnpm dev:strapi hangs on DBDocker not running or port 5432 already taken