Перейти к содержимому
supastack
Обзор документации
WebTanStack Start

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/tanstack/configuration.md (or send Accept: text/markdown).

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

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

Задать вопрос об этом руководстве
Открыть в

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

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

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

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

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

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

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

  • APP_URL — адрес, по которому живёт приложение; локально http://localhost:3000, в продакшене — ваш домен.
  • DATABASE_URL — строка подключения к Postgres, которую совместно используют миграции и сервер.
  • AUTH_SECRET и CREDENTIAL_ENCRYPTION_KEY — генерируемые секреты; node scripts/setup-env.mjs заполняет их за вас (этот помощник поставляется в веб-репозитории TanStack и монорепозитории 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

Чтобы продолжить настройку, прочитайте Настройка базы данных.