Файл .env или .env.local создаётся в каталоге nextjs-project.
- Сброс пароля и SMTP (Gmail, Яндекс, VK WorkSpace): nextjs-project/docs/password-reset-env.md
- 2FA (TOTP, коды по почте): nextjs-project/docs/2fa-env.md
- Яндекс.Карты (CSP, ключ): nextjs-project/docs/yandex-maps-env.md
NEXT_PUBLIC_SITE_URL=https://innerhealth.ru
URL сайта для NextAuth (callback, ссылки в письмах). Прод: https://innerhealth.ru
NEXTAUTH_URL=https://innerhealth.ru
APP_URL=https://innerhealth.ru
DATABASE_URL="postgresql://user:password@localhost:5432/innerhealth"
NEXTAUTH_SECRET="your-32-char-secret" ADMIN_SECRET_PATH="hidden-admin-url-part" ADMIN_2FA_SECRET="your-otp-key"
ЮKassa: в продакшене основной источник — админка → Настройки сайта (переключатель Inner / Sprint / Global). Для каждой витрины задаются свой Shop ID и секрет; в БД — ключи с префиксом бренда, при пустых полях у бренда используются глобальные настройки.
Переменные ниже — опциональный fallback для локальной отладки и части API, если в настройках для контекста пара не задана.
Идентификатор магазина и секрет из ЛК (Интеграция → Ключи API). Для теста: тестовый магазин, ключ test_...
YOOKASSA_SHOP_ID="your_shop_id" YOOKASSA_SECRET_KEY="your_secret_key"
OAuth (client id + secret) в приложении берутся из админки → Настройки сайта (cdek_api_key, cdek_client_secret), не из переменных ниже, если вы их не подключаете отдельно в своей среде.
Два договора (Inner и Sprint): в админке переключите витрину (бренд) и сохраните СДЭК-поля для каждого бренда. В БД для второго бренда ключи хранятся с префиксом sprint-power:; при пустых brand-значениях используется глобальная пара (без префикса). При создании отгрузки в СДЭК подставляется контекст по order.brand.
Локальные переменные (если есть в вашем .env.example / обвязке) — опционально; см. nextjs-project/src/lib/cdek.ts.
TELEGRAM_BOT_TOKEN="your_bot_token_from_BotFather" TELEGRAM_SERVICE_SECRET="random_secret_for_bot_to_call_api"
- Локально (бот и сайт на одной машине): http://localhost:3000
- Docker (app и telegram-bot в разных контейнерах): http://app:3000 (уже задано в docker-compose для сервиса telegram-bot, в .env можно не переопределять)
- Прод без Docker: https://your-domain.com
TELEGRAM_SITE_URL="https://innerhealth.ru"
Ключ из https://developer.tech.yandex.ru/ — обязателен для загрузки API карт.
NEXT_PUBLIC_YANDEX_MAPS_API_KEY="your_yandex_maps_apikey"
SMTP_HOST="smtp.provider.com" SMTP_USER="info@innerhealth.ru" SMTP_PASS="password" UPLOAD_STRATEGY="local"