Как интегрировать видеосвязь от Jitsi в Rocket.Chat. Полное руководство
Зачем интегрировать Jitsi с Rocket.Chat?
Rocket.Chat – это бесплатный мессенджер, предназначенный для развёртывания в локальной сети (on-premises). За счёт такого способа установки обеспечивается полная изоляция и безопасность пользовательских коммуникаций.
Данный мессенджер по умолчанию не поддерживает видеоконференцсвязь. Этот функционал, при необходимости, придётся добавлять вручную. Пользуется некоторой популярностью официальная интеграция Rocket.Chat c платформой видеосвязи Jitsi. Это позволит после определённой конфигурации осуществлять видеозвонки и групповые конференции прямо из приложения Rocket.Chat.
В этой статье мы рассмотрим как в своей локальной сети развернуть сервера Rocket.Chat и Jitsi, а затем настроить между ними интеграцию.
Преимущества видеокоммуникации в бизнес-чате
Добавление функционала видеосвязи в корпоративный чат несёт ряд преимуществ:
- Личное взаимодействие: видеокоммуникации позволяют участникам видеть друг друга, что делает общение более личным и эффективным.
- Быстрая демонстрация: вместо долгих объяснений путём длинных текстов в чате можно показать презентацию или продемонстрировать продукт.
- Эффективные совещания: видеоконференции могут заменить физические встречи, экономя время и ресурсы, а также позволяя организовать взаимодействие внутри территориально распределённой компании.
Проблемы интеграции и их решение
Ниже указан список проблем, которые могут возникнуть при интеграции Jitsi с Rocket.Chat. К каждой из них приведено возможное решение:
- Техническая сложность. Настройка интеграции требует специальных знаний в области настройки ОС (в том числе Linux). Если настройкой займётся обычный сотрудник без опыта системного администрирования, он должен будет изучить техническую документацию или обратиться к специалисту.
- Проблемы совместимости. Так как Jitsi является отдельным от Rocket.Chat продуктом, многие функции в рамках интеграции могут работать некорректно. Поэтому перед полноценным использованием видеосвязи её необходимо тщательно протестировать.
- Безопасность коммуникаций. Для того чтобы обеспечить безопасное общение по видеосвязи в условиях интеграции, потребуется развернуть и настроить в своей сети сервер Jitsi. В противном случае видеосвязь будет устанавливаться через облачный сервис Jitsi, что является зачастую нежелательным вариантом в бизнес-среде.
Альтернатива, не требующая настройки
Существуют и альтернативные решения, предлагающие аналогичный и даже более обширный функционал и не требующие при этом дополнительной настройки. Примером такого решения является TrueConf Server. Как и Rocket.Chat, он предполагает установку на оборудовании заказчика, что гарантирует вам полную безопасность данных и надёжность коммуникаций. Помимо этого, у TrueConf Server есть и ряд преимуществ:
- Функционал видеосвязи поддержан по умолчанию и для его использования не требуется дополнительных настроек.
- Проведение видеоконференций в различных режимах, каждый из которых полезен по-своему.
- Корпоративный мессенджер, возможности которого схожи с Rocket.Chat.
- Проведение вебинаров с участниками, незарегистрированными на вашем сервере (гостями).
- Более высокая защищённость конференций за счёт использования собственного протокола для передачи аудио и видеопотоков.
- Проведения конференций в 4К (UltraHD) качестве.
- Полноценная поддержка классических протоколов SIP/H.323, в том числе с отправкой и передачей дополнительных потоков по BFCP/H.239.
- Возможность настроить обязательную регистрацию гостей ваших публичных конференций.
- Запись конференций как её участниками, так и администратором сервера.
- Автоматическая синхронизация списка пользователей видеосервера по протоколу LDAP, например, из каталога Microsoft Active Directory.
- Расширенные возможности ведущих конференции для управления устройствами участников и настройки раскладок.
- Использование ряда криптографических алгоритмов и протоколов (AES, HTTPS, SSL/TLS, SRTP, H.235), что не требует дополнительных модулей и долгой настройки.
Таким образом выбрав TrueConf Server вы получите полноценные корпоративные коммуникации без необходимости производить сложные дополнительные действия.
Попробуйте сервер ВКС Труконф
• Защищенный корпоративный мессенджер с личными и групповыми чатами.
• UltraHD видеоконференции до 1500 участников.
• Безопасная работа внутри корпоративной сети.
• Включен в Единый реестр российского ПО.
Установка Rocket.Chat
Есть множество способов развернуть Rocket.Chat на вашем сервере. Мы рассмотрим запуск в контейнере Docker. В официальной документации Rocket.Chat рекомендуют использовать именно этот способ, так как он обладает массой преимуществ:
- Запуск с помощью Docker возможен на большем количестве ОС, чем Rocket.Chat поддерживает в случае нативной установки.
- Развёртывание занимает гораздо меньше времени.
- Все трудности, с которыми вы можете столкнуться при ручной установке, будут нивелированы. Например, негарантированность стабильности работы после установки и обновления всех зависимостей. В случае использования Docker этого гарантированно не случится.
- Простота моментального управления состоянием работы контейнера без какого-либо воздействия на саму ОС.
Шаг 1. Установка Docker
Сначала установите Docker в вашу систему. В официальной документации имеются подробные инструкции для разных ОС. Далее мы покажем развёртывание на примере Debian 11, т.к. это одна из ОС, которая поддержана Jitsi.
-
Обновите списки репозиториев:
1apt update
-
Установите пакеты, необходимые для загрузки файлов Docker из репозитория по HTTPS:
1apt install apt-transport-https ca-certificates curl software-properties-common
-
Теперь добавьте в систему GPG-ключ для Docker-репозитория:
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
Также добавьте в систему Docker-репозиторий:
1sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
-
Затем снова обновите репозитории:
1apt update
-
Выполните установку Docker:
1sudo apt install docker-ce
Шаг 2. Установка Docker Compose
Мы воспользуемся официальным Docker-образом Rocket.Chat. Для управления запуском используемого в нём ПО установите Docker Compose – утилиту для управления приложениями, компоненты которых установлены в разных контейнерах.
Так как мы уже добавили Docker-репозиторий в нашу систему на предыдущем шаге, теперь чтобы установить Docker Compose достаточно в терминале выполнить команду:
1 |
apt install docker-compose-plugin |
Шаг 3. Создание файла конфигурации Docker Compose
Для работы Docker Compose требуется файл конфигурации. В этом файле настраивается запуск Docker-контейнеров. Создадим и наполним его:
-
В домашнем каталоге пользователя создайте каталог
rocket.chat
:12cd ~mkdir rocket.chat && cd rocket.chat -
Создайте файл
docker-compose.yml
:1touch docker-compose.yml -
Откройте этот файл в предпочитаемом текстовом редакторе и вставьте в него шаблон конфигурации, представленный в официальном GitHub-репозитории Rocket.Chat.
Данная конфигурация состоит из полей, настраивающих различные свойства Docker Compose. Каждое поле представляет из себя пару ключ:значение. Все значения уже указаны, но некоторые из них содержат следующую конструкцию:
${PARAM_NAME:-POSS_VAL}
где:
PARAM_NAME
– название параметраPOSS_VAL
– возможное значение параметра
Все подобные конструкции должны быть заменены соответствующими данными. Например, если в шаблоне будет указана строка вида:
1path/to/your/server:${PORT:-3000}то в такую строку необходимо подставить номер порта. И если в качестве значения порта вы захотите указать 3000, то вам будет необходимо изменить её следующим образом:
1path/to/your/server:3000Обратите особое внимание, что именно все конструкции такого вида обязательно должны быть заменены данными, соответствующими вашему окружению. В противном случае не получится запустить контейнер c Rocket.Chat. -
В значении поля services → rocketchat → image подставьте версию Rocket.Chat, которую хотите установить. Если это не принципиально – просто напишите latest. В таком случае у вас получится поле вида:
1image: registry.rocket.chat/rocketchat/rocket.chat:latest
-
В поле services → rocketchat → environment → MONGO_URL укажите строку подключения к базе данных MongoDB. По умолчанию она выглядит так:
1mongodb://mongodb:27017/rocketchat?replicaSet=rs0
Если вы не будете производить дополнительную настройку базы данных MongoDB, то укажите строку по умолчанию.
MongoDB по умолчанию использует порт 27017. Если он занят – укажите в строке подключения другой порт. Но в таком случае вам также нужно будет указать этот порт в полях MONGODB_PORT_NUMBER и MONGO_OPLOG_URL. -
В поле services → rocketchat → environment → MONGO_OPLOG_URL укажите строку подключения к логу операций MongoDB. По умолчанию она выглядит так:
1mongodb://mongodb:27017/local?replicaSet=rs0
- В поле services → rocketchat → environment → ROOT_URL задайте URL, по которому будет размещаться Rocket.Chat, а в поле services → rocketchat → environment → PORT пропишите порт, который сервер Rocket.Chat будет прослушивать.
- В поле services → rocketchat → expose также укажите порт, который сервер Rocket.Chat будет прослушивать. В поле services → rocketchat → ports подставьте IP-адрес машины, на которой развёрнут Rocket.Chat, а также диапазон портов, которые он сможет использовать.
-
Далее необходимо настроить запуск базы данных MongoDB, а также её репликацию. Для этого в поле services → mongodb → image пропишите версию MongoDB, которую хотите установить. А в полях из секции services → mongodb → environment укажите следующие значения:
- В поле MONGODB_REPLICA_SET_NAME укажите имя вашего кластера серверов MongoDB. Если это не принципиально — выберите имя rs0, предложенное по умолчанию.
- В поле MONGODB_PORT_NUMBER укажите номер порта, который будет прослушивать сервер базы данных MongoDB. Как уже было сказано, по умолчанию это — 27017.
- В поле MONGODB_INITIAL_PRIMARY_HOST пропишите имя-синоним для машины, где развёрнут основной экземпляр MongoDB.
- В поле MONGODB_INITIAL_PRIMARY_PORT_NUMBER пропишите номер порта, который будет прослушиваться основным экземпляром базы данных.
- В поле MONGODB_ADVERTISED_HOSTNAME достаточно указать значение по умолчанию — mongodb.
- В поле MONGODB_ENABLE_JOURNAL укажите значение true если вам необходимо логирование работы базы данных и false в противном случае. Данное значение должно находиться в кавычках.
- В поле ALLOW_EMPTY_PASSWORD укажите значение yes, если хотите получать доступ к базе данных без пароля и no в противном случае.
Шаг 4. Запуск Rocket.Chat
-
Откройте терминал и перейдите в каталог с созданным ранее конфигурационным файлом Docker Compose:
1cd ~/rocket.chat
-
От лица суперпользователя выполните команду:
1docker compose up -d
После этого Docker запустит все необходимые для работы Rocket.Chat контейнеры.
- В случае успешного выполнения команды из предыдущего пункта вы увидите надпись об успешном старте Rocket.Chat. Откройте браузер и перейдите по URL-адресу, ранее указанному в поле ROOT_URL конфигурационного файла Docker Compose.
- Перед началом использования Rocket.Chat необходимо создать учётную запись администратора:
- Затем укажите сведения о вашей организации:
-
Также вам будет предложено зарегистрировать рабочее пространство – это обязательно нужно сделать. Для этого укажите свой email и нажмите кнопку Зарегистрироваться.
Затем перейдите по ссылке из электронного письма от Rocket.Chat. После этого ваше рабочее пространство будет зарегистрировано.
Без регистрации рабочего пространства Rocket.Chat дальнейшая его интеграция с Jitsi будет невозможна.
Установка Jitsi
В нашей базе знаний есть отдельная статья, посвящённая развёртыванию сервера видеосвязи Jitsi. Перейдите к ней для ознакомления с соответствующей инструкцией.
Интеграция Jitsi в Rocket.Chat. Пошаговое руководство
Для того чтобы встроить видеосвязь от Jitsi в Rocket.Chat необходимо выполнить следующие действия:
- Войдите в Rocket.Chat с помощью учётной записи администратора.
-
Нажмите на кнопку
в главном меню Rocket.Chat и в появившемся списке выберите Магазин:
-
Введите слово Jitsi в поле поиска, нажмите на кнопку
, расположенную в строке с найденным приложением и в появившемся меню выберите пункт Установить:
- Если у вас на экране появилось модальное окно с требованием авторизации рабочего пространства, нажмите кнопку Авторизоваться. В противном случае, переходите к пункту 8.
- Затем нажмите кнопку Войти в Rocket.Chat Cloud:
- На открывшейся странице введите адрес электронной почты, на которую регистрировали рабочее пространство и нажмите на кнопку Send login link:
- Затем перейдите по ссылке из письма, которое пришло вам на электронную почту. После этого вы авторизуетесь в своём рабочем пространстве. Теперь вернитесь на главную страницу Rocket.Chat и снова проделайте шаги из 2 и 3 пунктов настоящей инструкции.
- В появившемся окне отметьте флажок о согласии с правилами использования и нажмите кнопку Get:
- Дайте все необходимые Jitsi разрешения, нажав на кнопку Согласие:
- Затем перейдите на страницу с информацией о добавленном приложении Jitsi, кликнув по нему в списке приложений.
-
Выберите вкладку Настройки, чтобы задать параметры подключения к серверу Jitsi:
Обязательным полем на данной форме является только Домен – в нём укажите адрес сервера Jitsi, к которому хотите подключиться. Остальные поля заполнять не обязательно, а их назначение описано в официальной документации. После завершения настройки нажмите кнопку Применить.
- Далее выберите пункт Настройки в нижней части меню панели управления Rocket.Chat. В блоке Видеоконференция нажмите кнопку Открыть:
- На открывшейся странице в выпадающем списке Default Provider выберите значение Jitsi, а затем нажмите Применить:
Проверка работы Rocket.Chat в связке с Jitsi
Теперь у пользователей вашего экземпляра Rocket.Chat будет возможность осуществлять видеозвонки и проводить видеоконференции на базе Jitsi прямо из Rocket.Chat. Для проверки данной возможности:
- Запустите Rocket.Chat под аккаунтом любого из пользователей. Как их добавить, смотрите в документации разработчика.
-
Перейдите в чат с любым другим пользователем и нажмите кнопку
на панели управления.
- В появившемся меню вы сможете выбрать оборудование, которое будет активно во время звонка. Далее нажмите кнопку Начать звонок.
- На открывшейся странице дайте разрешение на использование выбранного вами оборудования при соответствующем запросе. После этого вы перейдёте к видеозвонку.