Перейти к содержимому

Корпоративный чат

Платный модуль мессенджера Portal: личные и групповые чаты, каналы отделов, файлы, аудио/видеозвонки (при включённом LiveKit).
Устанавливается только с каталога korport.ru при наличии entitlement в лицензии. В дистрибутив Portal модуль не входит.

Покупка: на странице модуляКупить (онлайн-оплата) или запрос счёта менеджеру. После оплаты на email приходит обновлённый LICENSE.key с korport.comms.*.

Вендорская документация (архитектура, все каналы поставки, полный troubleshooting): docs/vendor/comms-chat.md.

ТребованиеЗачем
Работающий Portal (Docker / K8s / Native)Базовая платформа
Лицензия с korport.comms.* или korport.comms.chat (либо trial)Право установки платного модуля
Доступ инстанса к https://korport.ru (каталог)Скачивание .portalmod
Сервис Portal.Chat и env PORTAL_CHAT_ENABLED=trueRuntime мессенджера
Для звонков: LiveKit + coturn, LIVEKIT_ENABLED=trueWebRTC
Обычно установлен шаблон Базовый портал (узел portal)Parent для узла «Чат»

На части коробочных поставок сервисы Chat/LiveKit/coturn могут отсутствовать в штатном compose/Helm — их нужно добавить по инструкции поставщика или вендорскому разделу «Варианты поставки». Эталон конфигурации — переменные из .env.example (блок Portal Chat).

В .env (или эквиваленте канала):

Окно терминала
PORTAL_CHAT_ENABLED=true
PORTAL_CHAT_INTERNAL_URL=http://chat:3010 # URL сервиса Chat из сети API
PORTAL_CHAT_DEV_BYPASS_MODULE=false
CHAT_POSTGRES_DATABASE=portal_chat
# Звонки — по необходимости:
LIVEKIT_ENABLED=true
LIVEKIT_MODE=docker
LIVEKIT_URL=wss://ваш-хост/livekit
LIVEKIT_NODE_IP=<LAN или публичный IP сервера> # не 127.0.0.1
TURN_HOST=<хост, доступный браузерам>
TURN_PASSWORD=<секрет>

Пересоздайте API и frontend (и поднимите chat / livekit / coturn).

  1. Купите модуль на korport.ru/modules/comms-chat (Купить) или получите ключ у менеджера — нужен entitlement korport.comms.* (trial тоже подходит для проверки).
  2. Админка → Настройки → Продукт и лицензия → активировать ключ.
    Либо: ./portal-cli/portal-cli license activate --file LICENSE.key
  1. Админка → Модули
  2. Установить с korport.ru
  3. Шаблон «Коммуникации (чат)» (comms)

Ручная загрузка файла .portalmod для модулей korport.* не поддерживается.

  • В списке модулей есть Корпоративный чат / korport.comms.chat
  • В шапке портала — иконка чата
  • Открывается drawer, можно создать личный/групповой чат
  • Узел Чат в меню (страница-подсказка)

Диагностика (под учётной записью):

GET /api/v1/chat/bootstrap

Ожидается "enabled": true, "moduleInstalled": true, "entitled": true.
"serviceReachable": true — Chat отвечает на health.

Админка → Службы → Очистка чата (/services/chat-cleanup):

  • срок хранения сообщений (дни; 0 — не удалять);
  • срок хранения вложений;
  • расписание cron и ручной запуск.
РежимКогдаКратко
dockerLinux / сервер (рекомендуется)livekit в COMPOSE_PROFILES, LIVEKIT_MODE=docker, корректный LIVEKIT_NODE_IP
hostРедко: Docker Desktop Mac + проблемы ICE в FirefoxСм. docker/livekit/README.md у поставщика

Откройте на firewall порты медиа: LiveKit 7881/7882, TURN 3478 и relay-диапазон coturn.

Опционально: VAPID-ключи в env Chat (CHAT_VAPID_*). Без них чат работает, push в фоне — нет.

КаналМодульRuntime Chat
Docker Compose (полный стек / пилот с chat в compose)Установить с korport.ruСервисы chat, coturn, профиль livekit
Docker product (portal-cli)То жеМожет потребоваться доустановка сервисов — уточните у поставщика
KubernetesТо жеОтдельные Deployment + Ingress path /chat-api, /chat-hub, /livekit
NativeТо жеОтдельный процесс Portal.Chat + proxy
Air-gappedНедоступно (нужен online-каталог)

Подробные шаги и ограничения: вендорская инструкция §3.

СимптомДействие
Нет иконки чатаПроверьте bootstrap: PORTAL_CHAT_ENABLED, модуль, entitlement
Сообщение «Нет лицензии на этот модуль»Купить/получить ключ с korport.comms.* на korport.ru, активировать заново
502 на /chat-api или /chat-hubСервис Chat не запущен; reload nginx/frontend
Сообщения есть, звонки нетLIVEKIT_ENABLED, LiveKit up, secret ≥ 32 символов
Звонок не соединяется (ICE)LIVEKIT_NODE_IP127.0.0.1; TURN/TURN_HOST; firewall
Не ставится .portalmod с дискаНормально — только «Установить с korport.ru»

Общий troubleshooting Portal: Устранение неполадок.