Содержание
Зачем интегрировать 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 вы получите полноценные корпоративные коммуникации без необходимости производить сложные дополнительные действия.
Установка 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 под аккаунтом любого из пользователей. Как их добавить, смотрите в документации разработчика.
- Перейдите в чат с любым другим пользователем и нажмите кнопку на панели управления.
- В появившемся меню вы сможете выбрать оборудование, которое будет активно во время звонка. Далее нажмите кнопку Начать звонок.
- На открывшейся странице дайте разрешение на использование выбранного вами оборудования при соответствующем запросе. После этого вы перейдёте к видеозвонку.