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

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

ПеременнаяDefaultОписание
SAAS_URL-URL SaaS платформы
SAAS_API_KEY-API ключ SaaS
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"

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