В результате выполнения шагов данного руководства ожидается, что:
Начиная с версии 6.0, предусмотрена возможность использовать Ansible для автоматического заполнения конфигурационных файлов гибридных сервисов, что позволяет избежать ошибок, а также сократить время настройки. При автоматизированном конфигурировании требуется указать нужные параметры только один раз в одном файле, после чего Ansible playbook автоматически сконфигурирует всё.
Данное руководство описывает ручную установку и применение Ansible для автоматического заполнения конфигурационных файлов.
Если по каким-либо причинам вы не можете использовать Ansible, воспользуйтесь инструкцией по ручной настройке.
Архитектура DION предусматривает возможность переноса части компонентов, отвечающих за обработку медиатрафика и создание/хранение записей конференции, на площадку организации. Такие компоненты называются гибридными узлами. Наличие гибридных узлов позволяет проводить конференции в защищенном контуре, не передавая медиатрафик в облако DION.
В гибридном сценарии связь гибридных узлов с облаком DION является обязательным условием для работы конференций, так как в облако передаются сигнальная информация и управляющие команды.
Все гибридные компоненты, доступные к установке, можно разделить на группы по функциональному назначению:
В данном руководстве рассмотрена установка:
- служебных сервисов,
- сервисов проведения конференций,
- сервисов записи.
Сервисы конференций и записи DION, вынесенные в гибридную архитектуру, представлены на схеме зеленым цветом:

| Наименование компонента | Описание компонента |
|---|---|
| MEDIA (SFU + Audiohub) | Компонент, отвечающий за обработку аудио- и видеопотоков. |
| Recorder, Record Converter, Record delivery | Компоненты, отвечающие за создание, конвертацию и скачивание пользователями видеозаписей конференций. Рекомендуется размещение на одном хосте. |
| TURN | Компонент, отвечающий за подключение внешних пользователей ко внутренним медиа-серверам через NAT. |
| Dion Proxy | Компонент, отвечающий за обнаружение гибридных узлов (hybrid node) облаком DION. |
| KMS | Компонент, отвечающий за хранение секрета для шифрования записей конференции при хранении. |
Компоненты могут быть дублированы с целью обеспечения отказоустойчивости и масштабирования.
На данный момент тестирование проводилось на следующих операционных системах:
Прежде, чем перейти к установке пакетов и редактированию конфигурационных файлов, выполните следующие шаги:
Для установки необходимых зависимостей в процессе установки гибридных узлов необходимо обеспечить доступ в публичный репозиторий операционной системы. При отсутствии доступа к публичному репозиторию некоторые пакеты не будут установлены корректно.
Скачайте образы в виде deb- (или rpm-) пакетов и образов контейнеров в следующем составе:
Запросите в службе поддержки пользователей (support@diongo.ru) сертификаты, выпущенные для вашей организации.
Запрос должен быть отправлен с почтового адреса пользователя, зарегистрированного в DION с ролью Администратор организации.
Вам должны быть предоставлены следующие файлы:
ID организации можно также посмотреть и скопировать в панели администрирования DION.
Данные действия следует выполнить на всех машинах, где будут установлены сервисы Dion.
Создайте пользователя dion:
sudo adduser dion
Добавьте пользователя dion в группу sudo:
sudo usermod -aG sudo dion
Для корректной работы Ansible отключите запрос пароля при повышении привилегий участникам группы sudo (на всех сервисах DION). Для этого необходимо отредактировать файл /etc/sudoers:
sudo visudo
Найдите в редакторе строку %sudo ALL=(ALL:ALL) ALL и замените ее на %sudo ALL=(ALL:ALL) NOPASSWD: ALL.
Сохраните файл и выйдите из текстового редактора.
Автоматизированное конфигурирование производится с использованием Ansible.
Чтобы использовать Ansible, необходимо выделить одну “якорную” машину, на которой будет работать установщик. От этой машины на время установки необходимо иметь открытый доступ по SSH до всех других машин без запроса пароля. Можно использовать в качестве “якорной” одну из машин dion-proxy, если есть возможность сделать от неё доступ по SSH до всех других виртуальных машин DION. В противном случае, используйте любую другую машину, расположенную в LAN. Например, media.
Установите Docker на “якорную” машину. Для установки рекомендуем воспользоваться официальной инструкцией.
Все последующие действия в данном разделе выполняются от пользователя dion на “якорной” машине.
Для корректной работы Ansible требуется настройка безопасного доступа по SSH без запроса пароля для локального хоста на самого себя, а также на другие гибридные узлы DION (на все виртуальные машины, которые участвуют в установке).
a. Создайте новую пару SSH ключей:
ssh-keygen -t rsa
b. Скопируйте открытый SSH ключ на этот же сервер с помощью команды:
ssh-copy-id dion@ip_адрес
c. Повторите действие ssh-copy-id для IP-адресов всех гибридных узлов DION.
На машине должен быть установлен Docker. Для установки рекомендуем воспользоваться официальной инструкцией.
Добавьте пользователя dion в группу docker:
sudo usermod -aG docker dion
Для применения группы повторно выполните вход под пользователем dion:
su - dion
Скачайте на “якорную” машину архив ansible_hybrid_7_5.tar.gz, который содержит Docker-контейнер и Ansible-скрипт, в домашний каталог dion.
Распакуйте данный архив в каталог /home/dion/:
cd /home/dion
tar -xf ansible_hybrid_7_5.tar.gz
Создайте каталог cert на “якорной” машине в домашнем каталоге пользователя dion:
sudo mkdir /home/dion/cert
Передайте права на созданный каталог пользователю dion:
sudo chown dion:dion /home/dion/cert
Перенесите полученные файлы (txt и сертификаты) в каталог cert на “якорной” машине.
- Примеры в данном разделе приведены для ОС Ubuntu.
- Если в процессе установки и конфигурации возникнут ошибки, рекомендуем воспользоваться руководством по устранению неисправностей в гибридном DION.
Во время установки гибридных узлов необходим доступ в репозиторий операционной системы для установки необходимых зависимостей. При отсутствии доступа к публичному репозиторию некоторые пакеты не будут установлены корректно.
Выполните следующие действия:
Перенесите образы на соответствующие серверы/виртуальные машины.
Установите deb-/rpm-пакеты:
a. Выполните обновление репозиториев:
sudo apt update
sudo apt upgrade
b. Запустите установку пакета с помощью менеджера пакетов, например apt:
sudo apt install -f {путь к файлу}
Установите Docker на все машины, на которых будут развернуты сервисы TURN и Recorder. Для установки рекомендуем воспользоваться официальной инструкцией.
Загрузите образ контейнера vscreen_transcoder.tar в Docker на машине, где будет установлен Recorder.
На машине должен быть установлен Docker. Для установки рекомендуем воспользоваться официальной инструкцией.
sudo docker load -i {путь к образу vscreen_transcoder.tar}
Установите ffmpeg на машине, где будет установлен Record Converter:
sudo apt install ffmpeg
Создайте каталог для размещения содержимого архива на целевой виртуальной машине:
sudo mkdir -p /app/dion/coturn/certs
Распакуйте полученный архив в созданный каталог /app/dion/coturn/.
Скопируйте в каталог /app/dion/coturn/certs/ сертификат и ключ для вашей организации (crt и key), предоставленные командой DION.
Установите docker и docker-compose. Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
Загрузите образ из архива в локальный реестр, выполнив команду:
sudo docker load -i /app/dion/coturn/coturn_XXX
Наличие хранилища S3 является обязательным требованием для проведения записи гибридных конференций.
Если вы не планируете использовать сервис записи конференций, пропустите эту секцию и переходите к разделу установки и конфигурирования сервисов.
Если для хранения и просмотра записей конференций планируется использование DION Video, объектное хранилище S3 должно работать по протоколу HTTPS, а все сервисы конференций с записью — подключаться к S3 по HTTPS.
При использовании HTTP-подключения загрузка и воспроизведение видеозаписей на портале не будут доступны.
Подключение к S3 через HTTPS задаётся переменной s3\_ssl\_enable в файле vars.yaml на этапе запуска автоматического конфигурирования сервисов DION.
Предполагается, что в вашей организации уже развернуто или планируется использование хранилища S3,
которое может быть использовано DION для хранения аудио- и видеозаписей конференций.
Для пилотного развертывания можно использовать демо-образ S3 Minio.
Демо-образ предназначен только для тестовых инсталляций и не подходит для продуктивной среды, так как не поддерживает отказоустойчивость.
Инструкцию по установке и конфигурированию см. здесь.
Для хранения записей конференций в S3 необходимо создать отдельный бакет. По умолчанию используется бакет с именем records.
Рекомендуется заранее создать бакет и получить ключи доступа. Эти данные указываются в файле vars.yaml.
Необходимые параметры подключения:
Все действия в данном разделе выполняются на “якорной” машине от пользователя dion.
Откройте файл hosts на редактирование:
nano /home/dion/ansible/playbook/inventory/hosts
Структура файла выглядит как набор секций, названия которых соответствуют названию сервисов DION. В каждой секции пропишите отдельными строчками все машины, на которых установлен данный сервис DION.
a. Для машин, у которых есть только внутренний IP-адрес, укажите его в параметре ansible_host. Например:
recorder1 ansible_host=192.168.1.1
b. Для машин, у которых есть внутренний и внешний IP-адреса, укажите два параметра. Например:
dion-proxy1 ansible_host=192.168.1.2 publicHost=72.72.72.72
c. Если узлов одного типа несколько, добавьте дополнительную строку в соответствующий блок. Например:
[turn]
turn1 ansible_host=192.168.1.3 publicHost=72.72.72.73
turn2 ansible_host=192.168.1.4 publicHost=72.72.72.74
d. Сохраните изменения в файле.
Откройте файл vars.yaml на редактирование:
nano /home/dion/ansible/playbook/inventory/group_vars/all/vars.yaml
a. Следуйте комментариям в данном файле и заполните нужные параметры.
b. Сохраните изменения в файле.
Перейдите в каталог ansible:
cd ansible/
Назначьте права на исполнение файла и выполните запуск скрипта:
chmod +x install.sh
./install.sh
Убедитесь, что скрипт отработал без ошибок. В полях failed значение должно быть 0.

В результате выполнения скрипта на всех узлах DION появятся заполненные конфигурационные файлы. Сервисы DION перейдут в работоспособное состояние.
В случае конфигурирования гибридных чатов необходимо проинформировать поддержку DION support@diongo.ru и передать публичный IP-адрес и порт, а также ID вашей организации.
После конфигурирования сервисов и настроек административных параметров выполните проверку работоспособности сервисов.
Чтобы гибридный DION начал работу, необходимо не только установить и сконфигурировать гибридные узлы, но и выполнить соответствующие настройки в панели администрирования DION.
Для запуска гибридного режима, в панели администрирования перейдите в настройки гибридных сервисов:
В разделе Организации выберите организацию и перейдите в её профиль.

В разделе Конференции включите параметр Возможность переноса конференции в гибрид.

После этого в Личном Кабинете пользователя в настройках безопасности конференции можно будет выбрать, где проводить конференцию:
Остальные параметры можно настроить на ваше усмотрение.
Параметр Новые конференции создаются в гибриде позволяет управлять созданием комнат по умолчанию для пользователей. Если флажки сняты, комнаты пользователей создаются в облаке. Если флажки установлены, конференции создаются на гибридных ресурсах. Этот параметр не влияет на уже созданные конференции.
Поведение системы в зависимости от положения Возможность переноса конференции в гибрид и Новые конференции создаются в гибриде показано в таблице:
| Возможность переноса конференции в гибрид | Новые конференции создаются в гибриде | Результат |
|---|---|---|
| Выкл | Выкл | Все новые конференции создаются в облаке, пользователь не может перенести их на площадку организации. |
| Вкл | Выкл | Все новые конференции создаются в облаке, пользователь может перенести их на площадку организации через свой личный кабинет и настройки конференции. |
| Выкл | Вкл | Все новые конференции создаются на площадке организации, пользователь не может перенести их в облако. |
| Вкл | Вкл | Все новые конференции создаются на площадке организации, пользователь может перенести их в облако через свой личный кабинет и настройки конференции. |
Для подключения внешних пользователей включите параметр Свободный доступ к Гибридным конференциям.
Если сервисы записи установлены:
В разделе Видеохостинг для параметра Запись в конференциях установите флажок В Гибриде.
Включите параметр Отправка ссылки на скачивание записи по email.
В поле Адрес для скачивания записи в гибридной архитектуре введите адрес узла Record Delivery в формате: https://IP_адрес или FQDN:443/v1/file
Необходимо вводить адрес именно в формате, указанном выше, иначе при попытке сохранить настройки вы получите ошибку.
Если в системе несколько узлов Record Delivery, вместо IP укажите DNS-имя: https://FQDN:443/v1/file
При отсутствии в гибридной системе сервисов записи, убедитесь, что в панели администрирования запись конференций В Гибриде отключена. В этом случае кнопка записи не будет отображаться пользователю. В противном случае кнопка будет доступна и при старте записи пользователю будет отображаться сообщение об ошибке.
После конфигурирования сервисов и настроек административных параметров в настройках безопасности комнаты в DION можно выбрать параметр Защищённый режим:
В личном кабинете в разделе Мои комнаты откройте настройки выбранной гибридной комнаты.

В разделе Безопасность включите Защищённый режим (этот параметр будет доступен, если в панели администрирования разрешен перенос конференций в гибрид):

Если все настройки выполнены корректно и сервисы запущены, включение параметра должно примениться без ошибок. В противном случае, обратитесь к руководству по устранению неисправностей или к вашей аккаунт-команде за помощью.
Комната с включенным параметром Защищённый режим (проводимая на гибридных ресурсах) будет обозначена значком в виде синего щита возле имени комнаты. Также значок будет виден во время конференции:

Для проверки работоспособности сервисов записи необходимо зайти в гибридную конференцию (отмеченную значком в виде синего щита в интерфейсе) и включить запись.
Для проверки аудиозаписи в настройках конференции в разделе Запись включите параметр Аудиозапись конференции.
Если в процессе записи возникли ошибки или ссылка на скачивание записи не пришла, обратитесь в поддержку DION или к вашей аккаунт-команде за помощью.
Используйте чек-лист, чтобы убедиться, что все сервисы функционируют стабильно и доступны пользователям.
Откройте панель администрирования DION и перейдите в Настройки → Гибридные сервисы.
Обновите страницу несколько раз с интервалом 10–15 секунд.
Убедитесь, что:
количество отображаемых узлов соответствует фактически установленным;
все сервисы имеют статус зелёного цвета (Active);
статусы стабильны, нет флапов или периодических ошибок (серый/красный цвет отсутствует).
В личном кабинете пользователя откройте Мои комнаты → Настройки комнаты → Безопасность.
Включите параметр Защищённый режим.
Убедитесь, что:
изменение параметра прошло без ошибок;
возле комнаты отображается значок синего щита.
Проведите тестовую конференцию и убедитесь, что:
подключение внутри контура и из интернета работает без ошибок;
аудио и видео стабильны, без задержек, пропаданий или артефактов.
Дополнительно рекомендуется выполнить 10–15 тестовых подключений из разных сетей (внутренней + внешней), чтобы убедиться в стабильности подключений:
подключения стабильны.
Подключитесь к конференции с включённым параметром Защищённый режим.
Включите запись конференции; продолжительность должна составлять не менее 40 секунд.
Остановите запись.
Убедитесь, что:
владельцу комнаты пришло письмо со ссылкой;
файл записи скачивается без ошибок и корректно воспроизводится.
Если все пункты чек-листа пройдены успешно, гибридная инфраструктура DION готова к эксплуатации:
конференции в режиме Защищённый режим запускаются без ошибок;
подключение участников из сети компании и интернета стабильно;
записи конференций создаются, конвертируются и доступны пользователям;
все гибридные сервисы стабильно функционируют и отображаются зелёным цветом.
В случае возникновения проблем, воспользуйтесь Руководством по устранению неисправностей.
Если проблема не решается, обратитесь к вашей аккаунт-команде или в службу поддержки DION (support@diongo.ru).