Технические и эксплуатационные характеристики ПО «Rowux»
Документ описывает технические и эксплуатационные характеристики ПО «Rowux»: модель распространения, инфраструктурные программные средства, состав контейнеров и их базовые операционные системы, серверы приложений, веб- и прокси-серверы, СУБД и языки программирования, включая версии основных компонентов и используемые сетевые порты.
#1. Модель распространения и эксплуатации
- Основная модель — самостоятельно размещаемое (on-premise) решение. ПО поставляется в виде набора контейнеризированных сервисов и разворачивается на инфраструктуре заказчика (в его контуре либо в доверенном облаке) средствами Docker Compose. Все данные остаются в контуре эксплуатирующей организации.
- Дополнительно — предоставление по модели SaaS. ПО может предоставляться правообладателем как облачный сервис, размещённый на инфраструктуре на территории Российской Федерации.
- Форма поставки: дистрибутив исходного кода и файлов оркестрации; сборка контейнерных образов выполняется в среде развёртывания.
- Способ доступа пользователей: через веб-браузер по сети.
#2. Инфраструктурные программные средства
| Функция | Программное средство | Версия |
|---|---|---|
| Контейнеризация | Docker | — |
| Оркестрация контейнеров | Docker Compose | v2 |
| Пограничная маршрутизация трафика, обратный прокси, терминация TLS, балансировка | Traefik | 3.6.2 |
| Веб-серверы (отдача статических интерфейсов) | nginx | — |
| Серверы приложений (серверные сервисы) | Uvicorn (ASGI, для сервисов на FastAPI) | — |
| Единый вход и управление доступом (SSO) | Keycloak | 26.0.0 |
| Реляционная СУБД | PostgreSQL | 15 |
| Векторное хранилище (индексы поиска по знаниям) | Qdrant | 1.17 |
| Объектное S3-совместимое хранилище | SeaweedFS | — |
| Шлюз доступа к языковым моделям | Bifrost | — |
| Сбор метрик и мониторинг | Prometheus / Perses | 3.10.0 / 0.53.1 |
Доработанные подсистемы: чат-интерфейс и работа со знаниями (Open WebUI, версия 0.5.4), конструктор сценариев и агентов (Langflow, версия 1.8.0).
#2.1. Виртуализация и балансировка нагрузки
- Виртуализация. ПО исполняется в контейнерах Docker, которые могут выполняться как на физических серверах, так и в виртуальных машинах; выбор средства виртуализации (гипервизора) определяется средой развёртывания и не накладывает ограничений со стороны ПО.
- Балансировка нагрузки. Маршрутизация и балансировка входящего трафика между экземплярами сервисов обеспечивается пограничным маршрутизатором Traefik.
- Усиленная изоляция (опционально). Исполнение автогенерируемого кода аналитического агента может выноситься на отдельную виртуальную машину с усиленной изоляцией среды исполнения (gVisor).
#3. Состав контейнеров и их базовые операционные системы
ПО «Rowux» эксплуатируется как совокупность контейнеров. Базовые операционные системы контейнеров — дистрибутивы Linux (Debian для сервисов приложений и СУБД, Alpine Linux для веб-серверов статических интерфейсов).
#3.1. Собственные сервисы
| Контейнер | Роль | Базовая ОС / образ |
|---|---|---|
| ui | Портал платформы (веб-сервер статики) | Alpine Linux (nginx) |
| landing | Публичная страница | Alpine Linux (nginx) |
| ghost-writer-ui | Интерфейс потоковой доставки | Alpine Linux (nginx) |
| backend | Сервер-обвязка (FastAPI/Uvicorn) | Debian (Python) |
| ghost-writer-backend | Сервис потоковой доставки (FastAPI/Uvicorn) | Debian (Python) |
| analytics-agent | Аналитический агент | Debian (Python) |
| pii-guard | Сервис защиты данных | Debian (Python) |
| analytics-sandbox | Изолированная песочница исполнения кода | Debian (Python) |
#3.2. Доработанные компоненты с открытым исходным кодом
| Контейнер | Роль | Базовая ОС / образ |
|---|---|---|
| open-webui | Чат-интерфейс и работа со знаниями | Debian (Python) |
| langflow | Конструктор сценариев и агентов | Debian (Python) |
#3.3. Инфраструктурные компоненты
| Контейнер | Роль | Базовая ОС / образ |
|---|---|---|
| keycloak | Единый вход (SSO) | Linux (официальный образ Keycloak) |
| postgres / postgres-owui / postgres-lf | Реляционные СУБД подсистем | Debian (официальный образ PostgreSQL) |
| docstorage (Qdrant) | Векторное хранилище | Linux (официальный образ Qdrant) |
| seaweedfs | Объектное хранилище | Linux (официальный образ SeaweedFS) |
| bifrost | Шлюз доступа к языковым моделям | Linux (официальный образ Bifrost) |
| prometheus | Сбор метрик | Linux (официальный образ Prometheus) |
| perses | Информационные панели мониторинга | Linux (официальный образ Perses) |
| traefik | Пограничный маршрутизатор / обратный прокси | Linux (официальный образ Traefik) |
#4. Серверы приложений, веб- и прокси-серверы
- Веб-серверы: nginx — отдача собранных статических веб-интерфейсов (портал, лендинг, интерфейсы подсистем).
- Серверы приложений: Uvicorn (ASGI-сервер) — исполнение серверных сервисов, написанных на FastAPI (Python).
- Прокси-сервер / пограничный маршрутизатор: Traefik — единая точка входа, маршрутизация запросов к сервисам, терминация TLS, балансировка нагрузки.
#5. Программные платформы, СУБД и хранилища
- Программные платформы исполнения: среда исполнения Python (серверные сервисы), среда исполнения веб-браузера (клиентские интерфейсы), контейнерная среда Docker.
- СУБД: PostgreSQL (реляционные данные подсистем).
- Хранилища: SeaweedFS (объектное S3-совместимое хранилище файлов, артефактов и баз знаний), Qdrant (векторное хранилище индексов для поиска по знаниям).
#6. Языки программирования
- Python — серверные сервисы (сервер-обвязка, сервис потоковой доставки, аналитический агент, сервис защиты данных, доработанные компоненты).
- JavaScript (React) — клиентские веб-интерфейсы и портал.
- Файлы конфигурации, сценарии оркестрации (Docker Compose) и описания сборки образов (Dockerfile).
#7. Базовые операционные системы для эксплуатации
ПО «Rowux» эксплуатируется на серверных операционных системах семейства Linux с установленными Docker Engine и Docker Compose. Ограничений на конкретный дистрибутив ОС хоста со стороны ПО не накладывается; внутренние контейнеры используют базовые ОС Debian и Alpine Linux (см. раздел 3). Для целей разработки поддерживается также macOS.
Совместимость с российскими операционными системами. Поскольку для работы ПО достаточно наличия Docker Engine и Docker Compose, в качестве хостовой операционной системы могут использоваться российские сертифицированные дистрибутивы Linux — в частности Astra Linux и РЕД ОС (РЕД СОФТ), — на которых Docker поддерживается штатно. Это позволяет разворачивать платформу в полностью импортонезависимом контуре, в том числе на объектах, где требуется сертифицированная отечественная операционная система, без изменения состава и сборки контейнеров. Используемые внутри контейнеров базовые образы (Debian, Alpine Linux) распространяются на условиях свободных лицензий, не предполагают платежей иностранным правообладателям и не содержат средств принудительного внешнего управления или обновления.
#8. Сетевые порты
В промышленной среде доступ к подсистемам публикуется через пограничный маршрутизатор трафика (Traefik) по протоколу HTTPS (порты 80/443) с маршрутизацией по доменным именам. Для конфигурации локального запуска основные подсистемы доступны на следующих портах:
| Подсистема | Порт (локально) |
|---|---|
| Портал (ui) | 3000 |
| Чат-интерфейс и работа со знаниями (open-webui) | 8091 |
| Конструктор сценариев и агентов (langflow) | 7860 |
| Сервер-обвязка (backend) | 8092 |
| Интерфейс потоковой доставки (ghost-writer-ui) | 8011 |
| Сервис потоковой доставки (ghost-writer-backend) | 8012 |
| Единый вход (keycloak) | 8484 |
| Шлюз доступа к языковым моделям (bifrost) | 8023 |
| Сбор метрик (prometheus) | 9090 |
| Информационные панели мониторинга (perses) | 3001 |
| Пограничный маршрутизатор (traefik) | 80 / 443 |
СУБД и хранилища (PostgreSQL, Qdrant, SeaweedFS) наружу не публикуются и доступны только во внутренней сети комплекса.