Секреты и переменные окружения
Проект использует Doppler для управления секретами и переменными окружения.
Требуемые переменные
| Переменная | Описание | Обязательная |
|---|---|---|
API_URL | URL бэкенд API | Да |
WEBHOOK_BASE_URL | Base URL для вебхуков интеграций | Да |
INNGEST_DASHBOARD_URL | URL дашборда Inngest | Нет (default: https://app.inngest.com) |
Установка Doppler CLI
bash
# macOS
brew install dopplerhq/cli/doppler
# Linux
curl -Ls https://cli.doppler.com/install.sh | sh
# Windows (через scoop)
scoop install dopplerПосле установки авторизуйтесь:
bash
doppler loginНастройка проекта
bash
# Связать локальную директорию с Doppler проектом
doppler setupПри первом запуске выберите:
- Project:
integ-admin - Config:
local(для разработки)
Примеры значений
Local (локальная разработка)
bash
API_URL=http://localhost:3000/api
WEBHOOK_BASE_URL=http://localhost:3001
INNGEST_DASHBOARD_URL=https://app.inngest.comЛокальная разработка без Doppler
Для быстрого старта без Doppler, создайте файл .env.local:
bash
API_URL=http://localhost:3000/api
WEBHOOK_BASE_URL=http://localhost:3001И запустите генерацию с флагом local:
bash
npm run generate:env -- localDev (development окружение)
bash
API_URL=https://api.integ.dev.happ.tools/api
WEBHOOK_BASE_URL=https://api.integ.dev.happ.tools
INNGEST_DASHBOARD_URL=https://app.inngest.comProd (production окружение)
bash
API_URL=https://api.integ.happ.tools/api
WEBHOOK_BASE_URL=https://api.integ.happ.tools
INNGEST_DASHBOARD_URL=https://app.inngest.comГде получить значения
API_URL
| Окружение | Значение | Источник |
|---|---|---|
| Local | http://localhost:3000/api | Локальный запуск integ-api |
| Dev | https://api.integ.dev.happ.tools/api | Cloudflare Workers (dev) |
| Prod | https://api.integ.happ.tools/api | Cloudflare Workers (prod) |
Как получить:
- Local: Запустите
integ-apiлокально на порту 3000 - Dev/Prod: URL деплоится автоматически через Cloudflare Workers. Проверьте в Cloudflare Dashboard → Workers & Pages → integ-api
WEBHOOK_BASE_URL
| Окружение | Значение | Источник |
|---|---|---|
| Local | http://localhost:3001 | Локальный webhook сервер |
| Dev | https://api.integ.dev.happ.tools | Cloudflare Workers (dev) |
| Prod | https://api.integ.happ.tools | Cloudflare Workers (prod) |
Как получить:
- Local: Используйте ngrok или локальный туннель для тестирования вебхуков
- Dev/Prod: URL деплоится автоматически. Проверьте в Cloudflare Dashboard
INNGEST_DASHBOARD_URL
| Окружение | Значение | Источник |
|---|---|---|
| Все | https://app.inngest.com | Inngest Dashboard |
Как получить:
- Стандартный URL дашборда Inngest. Не требует изменений между окружениями.
- Для доступа к конкретному проекту используйте URL вида:
https://app.inngest.com/env/{env-id}
Генерация environment файлов
После настройки Doppler, сгенерируйте файлы окружения:
bash
# Для локальной разработки
npm run generate:env -- local
# Для dev окружения
npm run generate:env -- dev
# Для production
npm run generate:env -- prodКоманда загрузит секреты из Doppler и создаст файл src/environments/environment.ts.
Doppler Dashboard
- Проект в Doppler: integ-admin
- Управление секретами: Doppler Dashboard → Projects → integ-admin → Configs
Структура конфигов в Doppler
integ-admin/
├── local # Локальная разработка
├── dev # Development окружение
└── prod # Production окружениеДобавление новых секретов
- Добавьте переменную в Doppler Dashboard для всех нужных конфигов (local/dev/prod)
- Обновите скрипт
scripts/generate-env.script.tsдля использования новой переменной - Обновите интерфейс
environmentвsrc/environments/environment.ts - Обновите эту документацию
Безопасность
Важно
- Никогда не коммитьте реальные секреты в репозиторий
- Файлы
environment.tsгенерируются динамически и не должны содержать production секретов в git - Используйте Doppler для безопасного хранения и передачи секретов
Troubleshooting
Ошибка "doppler: command not found"
Установите Doppler CLI:
bash
brew install dopplerhq/cli/dopplerОшибка авторизации
Переавторизуйтесь в Doppler:
bash
doppler logout
doppler loginОшибка "project not found"
Проверьте настройку проекта:
bash
doppler setupИ выберите правильный проект integ-admin.