Развёртывание и инфраструктура¶
Note
Данный раздел описывает требования к инфраструктуре и конфигурацию сервисов. Конкретная среда развёртывания может отличаться.
Компоненты системы¶
| Компонент | Назначение | Порт |
|---|---|---|
| Backend (FastAPI) | API-сервер | 8000 |
| Frontend (React/Nginx) | Веб-интерфейс | 80 |
| Redis | Кэш, прогресс, дедупликация | 6379 |
| Qdrant | Векторная БД (ОКПД2) | 6333 |
| Reverse Proxy | TLS-терминация, маршрутизация | 443 |
Требования к окружению¶
Минимальные ресурсы:
- Backend: 2+ CPU, 4+ GB RAM (LLM-вызовы асинхронны, основная нагрузка на сеть)
- Qdrant: 1+ GB RAM (зависит от объёма коллекции ОКПД2)
- Redis: 512+ MB RAM
Внешние зависимости:
- OpenAI API (обязательно) — доступ к gpt-4.1, gpt-4.1-mini, gpt-5.1
- LangSmith (опционально) — трейсинг ML-вызовов
Переменные окружения¶
Backend¶
| Переменная | Обязательная | По умолчанию | Описание |
|---|---|---|---|
OPENAI_TOKEN |
Да | — | API-ключ OpenAI |
OPENAI_MODEL |
Нет | gpt-4.1 | Основная LLM-модель |
OPENAI_MODEL_SMALL |
Нет | gpt-4.1-mini | Облегчённая модель |
OPENAI_MODEL_TZ_AGENT |
Нет | gpt-5.1 | Модель для чатового окна |
OPENAI_MAX_CONCURRENCY |
Нет | 12 | Лимит параллельных LLM-запросов |
REDIS_URL |
Нет | memory:// | URL подключения к Redis |
REDIS_PASSWORD |
Нет | — | Пароль Redis |
QDRANT_URL |
Нет | — | URL подключения к Qdrant |
QDRANT_API_KEY |
Нет | — | API-ключ Qdrant |
AUTH_ENABLED |
Нет | true | Включить авторизацию |
AUTH_PROXY_STATIC_TOKEN |
Да* | — | Статический токен от прокси заказчика |
AUTH_IP_WHITELIST |
Нет | — | Список разрешённых IP (через запятую) |
ALLOWED_ORIGINS |
Нет | — | Разрешённые CORS-домены |
CORS_ENABLED |
Нет | true | Включить CORS |
LANGSMITH_TRACING |
Нет | false | Включить трейсинг LangSmith |
LANGSMITH_API_KEY |
Нет | — | API-ключ LangSmith |
PROMETHEUS_MULTIPROC_DIR |
Нет | — | Директория для мультипроцессных метрик |
* Обязательная при AUTH_ENABLED=true.
Frontend¶
| Переменная | Описание |
|---|---|
VITE_FRONTEND_BASEURL |
URL backend API |
VITE_AUTH_URL |
URL сервиса авторизации (OAuth, если используется) |
VITE_AUTH_REDIRECT |
URL редиректа после авторизации |
VITE_AUTH_CLIENT_ID |
Client ID для OAuth |
Стек мониторинга¶
| Компонент | Назначение | Ретенция |
|---|---|---|
| VictoriaMetrics | Хранение метрик (time-series) | 90 дней |
| Victoria Logs | Хранение логов | 30 дней |
| VMAgent | Сбор метрик (scrape Prometheus) | — |
| Vector | Агрегация логов контейнеров | — |
| Grafana | Визуализация и алертинг | — |
CI/CD пайплайн¶
| Этап | Описание |
|---|---|
| Lint | Проверка форматирования (black, isort, ruff) |
| Test | Запуск тестов (pytest с coverage) |
| Build | Сборка Docker-образов |
| Deploy | Деплой на staging/production через GitLab CD |
Docker-образы¶
Backend:
Frontend: