Skip to content

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

Integ API использует runtime injection переменных окружения. Переменные читаются из process.env при запуске приложения.

Быстрый старт ​

Локальная разработка (с дефолтами) ​

Для быстрого старта можно запустить без настройки — используются дефолтные значения:

bash
# Запуск PostgreSQL
npm run docker:up

# Запуск приложения
npm start

Приложение запустится с дефолтными значениями для локальной разработки.

С Doppler (рекомендуется) ​

bash
# Установка Doppler CLI
brew install dopplerhq/cli/doppler

# Логин
doppler login

# Настройка проекта
doppler setup --config local

# Запуск с injection
doppler run --config local -- npm start

Переменные окружения ​

База данных (PostgreSQL) ​

ПеременнаяDefaultОписание
POSTGRES_HOSTlocalhostХост базы данных
POSTGRES_PORT5432Порт PostgreSQL
POSTGRES_USERNAMEuserИмя пользователя
POSTGRES_PASSWORDpasswordПароль
POSTGRES_NAME-Имя базы данных
POSTGRES_CERTIFICATE-Использовать SSL
POSTGRES_CERTIFICATE_BASE64-CA сертификат в base64

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

ПеременнаяDefaultОписание
JWT_SECRET-JWT секретный ключ
CRYPTO_KEY-Ключ шифрования AES-256
CRYPTO_SALT-Соль для PBKDF2

БЕЗОПАСНОСТЬ

В production используйте сильные уникальные секреты!

bash
openssl rand -hex 64

Администратор ​

ПеременнаяDefaultОписание
ADMIN_EMAIL-Email администратора
ADMIN_PASSWORD-Пароль администратора

TIP

Администратор создается автоматически при запуске миграций.

Приложение ​

ПеременнаяDefaultОписание
PORT3000Порт сервера
MODElocalРежим (local/dev/prod)

Cloudflare ​

ПеременнаяDefaultОписание
CLOUDFLARE_ACCOUNT_ID-Account ID
CLOUDFLARE_WORKERS_API_TOKEN-API Token
CLOUDFLARE_INTEG_DB_ID-D1 Database ID
CLOUDFLARE_INTEG_KV_ID-KV Namespace ID
CLOUDFLARE_LOCAL_DATA_PATH../integ-core/data/miniflareПуть к miniflare data

Сервисы ​

ПеременнаяDefaultОписание
INTEG_CORE_URLhttp://localhost:3010URL integ-core
INNGEST_URLhttp://localhost:8288URL Inngest
INNGEST_SIGNING_KEY-Ключ подписи Inngest

Scalar (API Docs) ​

ПеременнаяDefaultОписание
SWAGGER_INTERNAL_USERNAMEadminЛогин для внутренней доки
SWAGGER_INTERNAL_PASSWORDadminПароль для внутренней доки

AI/Testing (опционально) ​

ПеременнаяDefaultОписание
CLAUDE_API_KEY-Claude API ключ
ELEVENLABS_API_KEY-ElevenLabs ключ
ELEVENLABS_API_URLhttps://api.elevenlabs.io/v1ElevenLabs URL

SIP / Voice (опционально) ​

ПеременнаяDefaultОписание
SIP_PROVIDER-SIP провайдер
SIP_API_KEY-SIP API ключ
SIP_API_URL-SIP API URL
VOICE_ASSISTANT_URL-URL Voice Assistant
VOICE_ASSISTANT_AUTH_TOKEN-Токен авторизации VA
VOICE_ASSISTANT_TESTER_ASSISTANT_ID-ID тестового ассистента VA

Platform / Integ (опционально) ​

ПеременнаяDefaultОписание
PLATFORM_URL-URL Platform платформы
PLATFORM_API_KEY-API ключ Platform
INTEG_DEFAULT_HOSTNAMEinteg.happ.toolsHostname по умолчанию

Настройка в Doppler ​

1. Создание проекта ​

bash
doppler login
doppler projects create integ-api

2. Добавление переменных ​

Через веб-интерфейс:

  1. Откройте проект integ-api в Doppler Dashboard
  2. Выберите конфигурацию (local, dev, prod)
  3. Добавьте переменные

Или через CLI:

bash
doppler secrets set POSTGRES_HOST localhost --config local
doppler secrets set JWT_SECRET "your-secret" --config local

3. Запуск приложения ​

bash
# С Doppler
doppler run --config local -- npm start

# Production build
doppler run --config local -- npm run start:prod

Режимы работы ​

Local (без Doppler) ​

bash
npm run docker:up  # PostgreSQL
npm start          # Дефолтные значения

Local (с Doppler) ​

bash
npm run docker:up
doppler run --config local -- npm start

Development ​

bash
doppler run --config dev -- npm run start:prod

Production ​

bash
doppler run --config prod -- npm run start:prod

Docker ​

В Docker переменные передаются через DOPPLER_TOKEN:

bash
docker run -p 3000:3000 \
  -e DOPPLER_TOKEN=dp.st.xxxx \
  -e DOPPLER_CONFIG=local \
  ghcr.io/happ-ai/integ-api:dev

Подробнее в Docker документации.

Генерация секретов ​

bash
# Для dev (32 символа)
openssl rand -hex 32

# Для prod (64 символа)
openssl rand -hex 64

Проверка конфигурации ​

bash
# Просмотр переменных в Doppler
doppler secrets --config local

# Проверка конкретной переменной
doppler secrets get POSTGRES_HOST --config local --plain

Best Practices ​

✅ DO:

  • Используйте разные секреты для каждого окружения
  • Генерируйте сильные пароли (32+ символов)
  • Используйте Doppler для управления секретами
  • Включите SSL в dev и prod

❌ DON'T:

  • Не используйте одинаковые секреты
  • Не коммитьте секреты в git
  • Не используйте слабые пароли типа "password123"

Следующие шаги ​