> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Конфигурация

Держите конфигурацию приложения явной, а креденшелы провайдеров — на сервере.

## Внесите одно изменение конфигурации и проверьте его.

Начните с работающего веб-приложения. В редакторе открываем apps/web/.env.local; если он не существует, скопируйте туда .env.example, используя веб-руководство. Для безопасной первой проверки найдите EMAIL_PROVIDER=local и оставьте его локальным. Этот параметр отправляет электронную почту продукта в локальный предварительный просмотр, а не в реальный почтовый ящик. Не вставляйте строки KEY=value в терминал.

Для каждой службы, которую вы включаете, следуйте руководству по настройке этого поставщика, замените только названные значения, сохраните файл, остановите веб-сервер с помощью Ctrl + C и перезапустите с помощью команды ниже. Если при проверке будет обнаружен отсутствующий ключ, повторно откройте этот файл и сравните этот ключ с руководством поставщика. Синхронизируйте корневой файл .env только для значений, используемых при миграции базы данных; копирование только его не приводит к настройке Next.js.

[Поиск конфигурационного ключа](https://supastack.dev/ru/docs/web/project-structure.md)

[Узнайте, как запустить команду и отредактировать файл](https://supastack.dev/ru/docs/web/terminal-basics.md)

```
corepack pnpm --filter @supastack/web dev
```


## Настройки, которые вы действительно будете редактировать первыми

`.env.example` в корне репозитория — полный перечень настроек, которые понимает комплект; имени, отсутствующего в этом файле, не существует. В начале вы затрагиваете лишь несколько — остальные остаются на значениях по умолчанию, пока их не потребует руководство провайдера.

Какой файл читает каждое приложение: корневой `.env` питает команды миграций, `apps/web/.env.local` — сервер Next.js, а `apps/mobile/.env.local` — Expo. Редактирование одного файла не настраивает остальные, поэтому `DATABASE_URL` находится и в корневом `.env`, и в `apps/web/.env.local`.

- `APP_URL` — адрес, по которому живёт приложение; локально `http://localhost:3000`, в продакшене — ваш домен.
- `DATABASE_URL` — строка подключения к Postgres, которую совместно используют миграции и сервер.
- `AUTH_SECRET` и `CREDENTIAL_ENCRYPTION_KEY` — генерируемые секреты; `node scripts/setup-env.mjs` заполняет их за вас (этот помощник поставляется в веб-репозитории и монорепозитории All Platforms).
- Селекторы провайдеров — `EMAIL_PROVIDER`, `AI_PROVIDER`, `BILLING_PROVIDER`, `JOB_PROVIDER`, `CAPTCHA_PROVIDER` — каждый выбирает, какой адаптер запускается; значения по умолчанию `local`/`fake`/`off` не требуют аккаунта.
- Секреты провайдеров, такие как `RESEND_API_KEY` или `STRIPE_SECRET_KEY`, — добавляйте только тогда, когда об этом говорит соответствующее руководство провайдера.


## Начните с примера окружения

Корневой .env.example — инвентарь конфигурации. Общая валидация живёт в packages/config. Просматривайте выбранное окружение приложения и режимы провайдеров вместе; локальный интерфейс — не стратегия продакшен-креденшел.

Режим эталона без креденшел требует локальной/тестовой конфигурации приложения и fake/локальных провайдеров. Выбор продакшен-провайдера меняет требования рантайма.


## Держите секреты за API

Секреты аутентификации, креденшелы базы, ключи провайдеров, секреты Stripe и креденшелы Trigger — только серверные. Никогда не префиксуйте их NEXT_PUBLIC_ или EXPO_PUBLIC_. Не печатайте их при установке и не включайте в ответы об ошибках.

Браузер получает публичную конфигурацию и разрешённые алиасы моделей. Владение воркспейсом, решения о правах, бюджеты и выбор провайдера остаются серверно-принудительными.


## Проверяйте изменение перед использованием

Валидируйте конфигурацию через существующий пакет config и запускайте соответствующие детерминированные тесты. Используйте отдельно подключаемый путь smoke провайдеров, когда готовы проверить реальные интеграции.

```
corepack pnpm test
corepack pnpm check
corepack pnpm build
```


Чтобы продолжить настройку, прочитайте [Настройка базы данных](https://supastack.dev/ru/docs/web/setup-database.md).


## Вперёд

[Создайте первую функцию](https://supastack.dev/ru/docs/web/first-feature.md)
