# Environment variables

The variables each app needs, which are optional, and where to find the values.

Each app reads its own `.env` file. The web app validates its variables at startup and refuses to start if a required one is missing.

```bash
cp apps/web/.env.example apps/web/.env
cp apps/studio/.env.example apps/studio/.env
```

## Web app

```text
NEXT_PUBLIC_SANITY_PROJECT_ID=your-project-id
NEXT_PUBLIC_SANITY_DATASET=production
NEXT_PUBLIC_SANITY_API_VERSION=2025-05-08
NEXT_PUBLIC_SANITY_STUDIO_URL=http://localhost:3333
SANITY_API_READ_TOKEN=your-viewer-token
```

## Studio

```text
SANITY_STUDIO_PROJECT_ID=your-project-id
SANITY_STUDIO_DATASET=production
```

> **DANGER**
>
> Never commit `.env` files or paste tokens into a page. The read token can see drafts.
