Skip to content

Секреты и переменные окружения

Проект использует Doppler для управления секретами и переменными окружения.

Требуемые переменные

ПеременнаяОписаниеОбязательная
API_URLURL бэкенд APIДа
WEBHOOK_BASE_URLBase URL для вебхуков интеграцийДа
INNGEST_DASHBOARD_URLURL дашборда 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 -- local

Dev (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.com

Prod (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

ОкружениеЗначениеИсточник
Localhttp://localhost:3000/apiЛокальный запуск integ-api
Devhttps://api.integ.dev.happ.tools/apiCloudflare Workers (dev)
Prodhttps://api.integ.happ.tools/apiCloudflare Workers (prod)

Как получить:

  • Local: Запустите integ-api локально на порту 3000
  • Dev/Prod: URL деплоится автоматически через Cloudflare Workers. Проверьте в Cloudflare Dashboard → Workers & Pages → integ-api

WEBHOOK_BASE_URL

ОкружениеЗначениеИсточник
Localhttp://localhost:3001Локальный webhook сервер
Devhttps://api.integ.dev.happ.toolsCloudflare Workers (dev)
Prodhttps://api.integ.happ.toolsCloudflare Workers (prod)

Как получить:

  • Local: Используйте ngrok или локальный туннель для тестирования вебхуков
  • Dev/Prod: URL деплоится автоматически. Проверьте в Cloudflare Dashboard

INNGEST_DASHBOARD_URL

ОкружениеЗначениеИсточник
Всеhttps://app.inngest.comInngest 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 окружение

Добавление новых секретов

  1. Добавьте переменную в Doppler Dashboard для всех нужных конфигов (local/dev/prod)
  2. Обновите скрипт scripts/generate-env.script.ts для использования новой переменной
  3. Обновите интерфейс environment в src/environments/environment.ts
  4. Обновите эту документацию

Безопасность

Важно

  • Никогда не коммитьте реальные секреты в репозиторий
  • Файлы 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.

SaaS Admin Documentation