После выполнения шагов данного руководства ожидается, что:
При открытии в браузере https://dion.vc/video пользователи из локальной сети попадают на гибридный экземпляр видеопортала;
В локальном портале доступны облачные записи;
Вся основная функциональность портала работает корректно: разделы, ссылки, загрузка видеофайлов;
Записи, созданные в гибридных конференциях, отображаются в портале.
Архитектура DION поддерживает гибридный сценарий: часть сервисов работает локально, часть — в облаке. На площадке компании разворачиваются гибридные узлы (hybrid nodes), которые обрабатывают медиатрафик и хранят записи конференций. Это позволяет проводить конференции в защищённом контуре, не передавая медиатрафик в облако.
Гибридный видеопортал DION.Видео обеспечивает хранение, просмотр и управление видеозаписями внутри корпоративного контура. При этом сигнальный трафик и управляющие команды проходят через облако DION, а метаданные видео (названия, описания, комментарии, таймкоды) сохраняются в облачной базе в зашифрованном виде. Такой подход сочетает безопасность локальной обработки с интеграцией и возможностями облачных сервисов DION.
Для работы портала требуется S3-хранилище, в котором сохраняются загруженные файлы и записи конференций. Оно не входит в комплект — организация должна использовать собственное решение или демо-образ, предоставляемый вместе с сервисами записи (см. здесь).
В этом руководстве описана установка и настройка узлов гибридного видеопортала DION.Видео. Подробные инструкции по установке и настройке гибридных сервисов конференций с записью DION приведены в отдельной документации (см. здесь).
Используется локальный экземпляр портала;
Все загруженные видео хранятся в локальном S3;
При наличии сервисов записи на портале доступны записи гибридных конференций;
На облачном портале записи гибридных конференций не отображаются;
Поддерживается запись экрана (веб-клиент);
В панели администрирования DION можно включить параметр, позволяющий отображать весь контент облачного видеопортала в локальной версии DION.Видео.
Записи облачных конференций:
По умолчанию запись облачной конференции доступна для просмотра только владельцу;
Внутри корпоративного контура карточка такой записи видна и открывается, но изменить данные (название, описание, права доступа, модераторы, удаление) нельзя — при попытке редактирования отображается сообщение «Недоступно в вашей сети»;
Чтобы поделиться записью с коллегами, можно выбрать один из вариантов:
Подключиться к DION извне, выдать права доступа и отправить ссылку;
Скачать запись из облака и загрузить её заново в гибридный портал, после чего поделиться ссылкой уже оттуда.
Скачивание записей гибридных конференций возможно двумя способами:
По ссылкам, сформированным сервисами записи конференций — в этом сценарии готовые файлы предоставляются через сервис Record Delivery;
Через портал — в этом сценарии готовые видеофайлы предоставляются для скачивания через сервис HLS Delivery.
Загруженные видео:
Доступно редактирование карточек (название, описание, права доступа, модераторы) и возможность делиться ими с коллегами;
Скачивание через портал недоступно — исходный файл остается у владельца.
Записи экрана:
По умолчанию такие записи доступны только для просмотра внутри корпоративного контура;
Карточку записи можно редактировать (название, описание, права доступа, модераторы);
Скачивание файлов записей экрана недоступно.
Гибридная схема разделяет локальную обработку медиаконтента и облачное управление. Сам видеоконтент хранится и отдается локально, а сигнальный трафик и метаданные синхронизируются с облаком DION по защищенным каналам.
DMZ Video Proxy — защищённый шлюз, предназначенный для связи гибридных узлов с облаком DION (gRPC/HTTPS). Находится в демилитаризованной зоне, инициирует исходящие соединения;
API Video Gateway — передача управляющих команд между DION.Видео и облаком DION — API-слой портала и интеграция с облаком, формирование и обновление метаданных;
Upload Companion — загрузка файлов в локальное S3-хранилище по HTTPS (бакет video);
HLS Converter — конвертация видео в формат HLS; использует исходные данные из S3 (video или records), транскодирует в HLS, возвращает результат обратно в S3;
HLS Delivery — доставка видео в формате HLS; отдает контент конечным пользователям по HTTPS с чтением HLS-сегментов из S3;
(Опционально) DLP Adapter — отправка метаданных на проверку в корпоративный DLP;
Объектное хранилище S3 — хранилище может содержать два бакета — records (записи конференций) и video (загружаемые видео). Работает по HTTPS, настроены CORS и Lifecycle;
(Опционально) KMS/Vault — генерация и хранение ключей для шифрования полей метаданных и объектов;
Облако DION — сигнальный контур и облачная БД метаданных (хранение в шифрованном виде), опциональное отображение «облачного» контента.
Загрузка пользовательского видео:
Клиент DION → Upload Companion → S3: video.
API Video Gateway создает/обновляет карточку видео и метаданные.
HLS Converter берет исходные данные из video, генерирует HLS и сохраняет в тот же бакет.
HLS Delivery по запросу пользователя отдает плейлист/сегменты по HTTPS.
Просмотр видео:
Клиент DION → API Video Gateway (получение метаданных/списков) → HLS Delivery (поток HLS) → чтение сегментов из S3.
Записи конференций:
Сервис записи складывает файлы в S3 (бакет records).
HLS Converter берет исходные данные из records, генерирует HLS и сохраняет в бакет video.
API Video Gateway публикует запись в каталоге портала.
Метаданные и облако:
API Video Gateway ↔ DMZ Video Proxy ↔ Облако DION: обмен служебными командами и синхронизацией метаданных.
Зоны:
DMZ — только DMZ Video Gateway; обеспечивает взаимодействие гибридного контура с облаком DION;
LAN — все остальные сервисы DION.Видео и объектное хранилище S3, доступные пользователям внутренней сети.
Split-DNS:
Для пользователей внутри корпоративной сети доменные имена api-video.dion.vc, upload-companion.dion.vc, hls-delivery.dion.vc должны разрешаться во внутренние адреса сервисов DION.Видео.
Сервер DMZ Video Proxy должен разрешать доменные имена *.dion.vc во внешние адреса облака DION для обеспечения обмена данными между гибридным контуром и облачными сервисами.
Перед установкой рекомендуем ознакомиться со статьей Требования к ВМ для гибридной инсталляции DION и подготовить виртуальные машины согласно указанным требованиям.
Для продуктивной среды рекомендуем размещать компоненты DION.Видео на отдельных виртуальных машинах:
| Компоненты | Виртуальная машина | Зона размещения | Назначение |
|---|---|---|---|
DMZ Video Proxy |
VM1 |
DMZ |
Обеспечивает сетевое взаимодействие с облаком DION. |
API Video Gateway, Upload Companion |
VM2 |
LAN |
Обрабатывает запросы видеопортала, управляет карточками видео и обеспечивает загрузку пользовательских видео. |
HLS Converter |
VM3 |
LAN |
Выполняет обработку и конвертацию загруженных видео в формат HLS. |
HLS Delivery |
VM4 |
LAN |
Отдает пользователям подготовленные HLS-потоки для воспроизведения и файлы записанных конференций для скачивания. |
DLP Adapter |
— |
— |
Обеспечивает интеграцию с DLP-системой |
Такое размещение разделяет основные роли видеопортала: взаимодействие с облаком, API и загрузку видео, обработку видео, а также доставку видео пользователям.
Для пилотного контура допускается минимальная схема размещения на трёх виртуальных машинах, где API Video Gateway, Upload Companion и HLS Delivery размещаются совместно. Для продуктивной среды используйте схему размещения и требования к ресурсам.
Метаданные видео (названия, описания, комментарии, таймкоды) хранятся в облачной базе DION в зашифрованном виде;
Перед отправкой данные шифруются ключом, сгенерированным через KMS на стороне компании (поддерживается HashiCorp Vault);
Пользовательские запросы в облако можно направлять через DLP компании;
Все видеозаписи, загруженные через гибридный портал, сохраняются в локальном S3;
Доступ к гибридному порталу (просмотр и загрузка видео) возможен только из корпоративного контура;
Для доступа извне используйте корпоративную сеть или VPN с корректным разрешением DNS;
При подключении к DION извне доступны только «облачные» записи.
Перед установкой гибридного видеопортала DION.Видео убедитесь, что инфраструктура готова и выполнены базовые шаги подготовки.
Ресурсы — рассчитайте мощности серверов/ВМ в соответствии с требованиями к ресурсам гибридных узлов DION;
Сеть — обеспечьте доступность сетевых взаимодействий согласно информации из статьи Сетевые доступы DION;
Удостоверяющий центр (УЦ) — используйте корпоративный УЦ или самоподписанные сертификаты. См. Выпуск самоподписанного SAN SSL сертификата;
Репозитории ОС — необходимо обеспечить доступ серверов к официальным репозиториям Ubuntu для установки зависимостей. Без этого часть пакетов может не установиться корректно;
S3-хранилище — обязательно для работы портала. При отсутствии корпоративного S3 можно развернуть демо-образ MinIO. См. Установка и конфигурирование демо-образа MINIO;
| Демо-образ не предназначен для продуктивной среды, так как не поддерживает отказоустойчивость. |
Права доступа — для редактирования конфигурационных файлов и управления сервисами требуются root-права (используйте sudo).
Для работы гибридного портала нужны три комплекта сертификатов в формате PEM (сертификат, приватный ключ, корневой УЦ).
Корпоративные сертификаты (выпускаются в УЦ организации):
DION.Видео — для межсервисного взаимодействия и доступа к порталу. Сертификат должен применяться как на стороне сервера, так и на стороне клиента.
Расширения сертификата:
CN: video.dion.vc
AltNames: api-video.dion.vc, upload-companion.dion.vc, hls-delivery.dion.vc
keyUsage = digitalSignature, keyEncipherment (Key Usage = Digital Signature, Key Encipherment)
extendedKeyUsage = serverAuth, clientAuth (Enhanced Key Usage = TLS Web Server Authentication, TLS Web Client Authentication)
S3 — для HTTPS-доступа к объектному хранилищу.
CN: FQDN сервера S3 (например, s3.company.local)
AltNames: IP-адрес сервера S3
Корневой сертификат корпоративного УЦ должен быть установлен в доверенные сертификаты на клиентских устройствах.
Сертификаты от команды DION:
Используются для DMZ Video Proxy. Выдаются по запросу на почту support@diongo.ru.
| Если такие сертификаты уже выдавались ранее для других сервисов DION, их можно использовать повторно. |
В корпоративном DNS создайте записи, указывающие на внутренние адреса сервисов DION.Видео:
api-video.dion.vc → API Video Gateway
upload-companion.dion.vc → Upload Companion
hls-delivery.dion.vc → HLS Delivery
Сервер DMZ Video Proxy должен разрешать все имена *.dion.vc в актуальные адреса облака DION.
Пользователь открывает веб-клиент DION через домен dion.vc, после чего браузер выполняет обращения к локальным сервисам видеопортала внутри корпоративной сети. В современных браузерах для такого сценария может потребоваться разрешение доступа сайту DION к ресурсам локальной сети. Подробнее см. раздел Возможная причина недоступности раздела «Видео» в веб-клиенте DION при использовании гибридного видеопортала.
Основные требования
Для работы гибридного портала необходимо объектное хранилище S3;
Предполагается, что в организации уже есть корпоративное S3 (например, которое используется для хранения аудио- и видеозаписей конференций);
Если S3 нет, для пилотной инсталляции можно развернуть демо-образ S3 Minio .
| Демо-образ не предназначен для продуктивной среды, так как не поддерживает отказоустойчивость. |
Если уже используются сервисы конференций с записью
|
Важно для инсталляций, где сервисы конференций с записью уже развернуты:
Прежде чем переходить к установке гибридного видеопортала, убедитесь, что объектное хранилище S3 доступно по HTTPS и что все сервисы конференций с записью подключаются к S3 по HTTPS. |
Что проверить:
S3 по HTTPS
Хранилище доступно по адресу вида https://<s3-fqdn-or-ip>:9001.
Подключение сервисов конференций с записью к S3 по HTTPS
Проверьте параметры подключения к S3 в конфигурационных файлах следующих сервисов — в секциях #S3 должно быть явно задано S3_USE_SSL=true:
Audiohub — /etc/dion/audiohub.conf
Recorder — /etc/dion/recorder.conf
Record Converter — /etc/dion/record-converter.conf
Record Delivery — /etc/dion/record-delivery.conf
Подробную информацию по настройке сервисов конференций с записью см. здесь.
После переключения выполните перезапуск соответствующих сервисов и проверьте логи на отсутствие ошибок подключения к S3.
Настройка бакетов
При установке сервисов конференций используется бакет records — возьмите его параметры из существующей конфигурации.
Для видеопортала дополнительно создайте бакет video для загружаемых файлов.
Для каждого бакета получите пару ключей:
access-key
secret-key
В конфигурационных файлах DION укажите:
адрес хоста S3;
порт;
имя бакета;
ключи доступа.
Настройка S3 (на примере MinIO)
В веб-консоли MinIO создайте новый бакет с именем video.
| Сразу при создании сохраните пару ключей (access-key, secret-key) — позже их получить невозможно. |
Перейдите в созданный бакет и откройте раздел Lifecycle.
Добавьте новое правило: Add Lifecycle Rule → Type of lifecycle → Expiry → After → 1 days → Prefix – cache.
Сохраните правило.
| Это позволит автоматически очищать временные файлы и предотвратит переполнение хранилища копиями облачного контента (кэш облачного видео). |
Nginx необходим на всех виртуальных машинах гибридного DION.Видео, где развернуты сервисы:
API Video Gateway
Upload Companion
HLS Delivery
Следующие шаги необходимо повторить на каждой виртуальной машине. Если все сервисы развернуты на одной машине, установка проводится на ней.
| Nginx необходимо установить до установки пакетов DION. Не изменяйте стандартный путь /etc/nginx. |
Выполните команду (необходимо сделать до установки сервисов DION):
apt update && apt install nginx
Удалите стандартный конфигурационный файл:
rm /etc/nginx/sites-enabled/default
Перезапустите Nginx и убедитесь, что сервис запущен без ошибок:
systemctl restart nginx
systemctl status nginx
Установите пакет dmz-video-proxy:
sudo apt install -f /полный путь к пакету/имя файла
Отредактируйте конфигурационный файл /etc/dion/dmz-video-proxy.yml:
nano /etc/dion/dmz-video-proxy.yml
Заполните конфигурационный файл в соответствии с комментариями в файле:
# ====================== Конфигурация dmz-video-proxy ======================
# Сервис проксирует сетевой трафик между гибридным контуром и облаком DION.
#
# Используются YAML-якоря (&NAME) и ссылки (*NAME).
# Основные значения задаются один раз и далее подставляются автоматически.
#
# Правила редактирования:
# - Меняйте только значения справа от двоеточия, если рядом есть комментарий.
# - Структуру и формат файла не изменяйте.
# -------------------- Сертификаты --------------------
# Пути к TLS-файлам для mTLS.
# CORP_* — внутренние сертификаты компании для межсервисного взаимодействия.
# DION_* — сертификаты, которые выпускает команда DION для работы с Облаком.
# Укажите серверный сертификат, приватный ключ и корневой сертификат CA.
# Пример:
# anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
# anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
# anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
anchorDION_CA: &DION_CA "/etc/ssl/dion/dion_ca.pem"
anchorDION_CERT: &DION_CERT "/etc/ssl/dion/dion_client.crt"
anchorDION_CERT_KEY: &DION_CERT_KEY "/etc/ssl/dion/dion_client.key"
Сохраните изменения в файле: Ctrl+O Ctrl+X в Nano.
Перезапустите сервис и убедитесь, что сервис запущен без ошибок:
systemctl restart dion-dmz-video-proxy
systemctl status dion-dmz-video-proxy
| На сервере необходим Nginx. См. раздел Сервер Nginx. |
Установите пакет dion-api-video-gateway:
sudo apt install -f /полный путь к пакету/имя файла
Откройте на редактирование конфигурационный файл /etc/nginx/conf.d/nginx_api_gateway_frontend.conf:
nano /etc/nginx/conf.d/nginx_api_gateway_frontend.conf
Заполните конфигурационный файл в соответствии с комментариями в файле:
# Укажите абсолютные пути до сертификата (.crt) и приватного ключа (.key),
# выпущенных внутренним удостоверяющим центром сертификации (УЦ). В конце каждой директивы оставьте точку с запятой.
# Пример:
# ssl_certificate /etc/ssl/corp.contur/corp_srv.crt;
# ssl_certificate_key /etc/ssl/corp.contur/corp_srv.key;
ssl_certificate /etc/ssl/corp.contur/corp_srv.crt;
ssl_certificate_key /etc/ssl/corp.contur/corp_srv.key;
Перезапустите Nginx и убедитесь, что сервис запущен без ошибок:
systemctl restart nginx
systemctl status nginx
Откройте на редактирование конфигурационный файл /etc/dion/api-video-gateway.yml:
nano /etc/dion/api-video-gateway.yml
Заполните конфигурационный файл в соответствии с комментариями в файле:
# ========================== Конфигурация API Video Gateway ==========================
# Сервис отвечает за обмен метаданными с облаком DION и взаимодействие с другими компонентами.
#
# Используются YAML-якоря (&NAME) и ссылки (*NAME), чтобы задавать значения один раз
# и подставлять их в несколько мест ниже.
#
# Правила редактирования:
# - В этом файле можно менять только переменные, у которых есть поясняющий комментарий справа.
# - Эти переменные встречаются ниже по конфигурации.
# - Формат, отступы и структуру файла не изменяйте.
# -------------------- Организация --------------------
# Уникальный идентификатор вашей организации (UUID). Выдаётся DION.
# Найти можно в админ-панели DION → Настройки организации.
# Пример:
# anchorOrganizationId: &organizationId 00000000-0000-0000-0000-00000000000
anchorOrganizationId: &organizationId 00000000-0000-0000-0000-00000000000
# -------------------- Сертификаты --------------------
# Пути до TLS-файлов (сертификат, приватный ключ и корневой CA),
# которые должен выпустить корпоративный удостоверяющий центр (УЦ).
# Эти файлы обеспечивают защищённое взаимодействие сервисов внутри контура.
# Пример:
# anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
# anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
# anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
# -------------------- Сетевые адреса --------------------
# Адреса DMZ-шлюзов (dmz-video-proxy), через которые сервис связывается с облаком.
# Укажите host:port для gRPC и URL для HTTPS.
# Пример:
# anchorVideo_proxy: &video_proxy 192.0.2.10:9764
# anchorVideo_proxy_http: &video_proxy_http https://192.0.2.10
anchorVideo_proxy: &video_proxy 192.0.2.10:9764
anchorVideo_proxy_http: &video_proxy_http https://192.0.2.10
# -------------------- DLP Adapter --------------------
# Включение интеграции с DLP Adapter.
# Значение: true/false (по умолчанию false).
# Если включено — укажите адрес и порт адаптера.
# Если не используется — оставьте выключенным.
# Пример:
# anchorDLP_adapter_switch: &dlp_adapter_switch true
# anchorDLP_adapter: &dlp_adapter 192.0.2.10:9147
anchorDLP_adapter_switch: &dlp_adapter_switch false
anchorDLP_adapter: &dlp_adapter 192.0.2.10:9147
# -------------------- Ключи шифрования --------------------
# key и iv в hex-формате Используются для шифрования данных и записей.
# Для генерации можно использовать OpenSSL
# Пример команды:
# key=$(openssl rand -hex 32); iv=$(openssl rand -hex 8); printf 'key=%s\niv=%s\n' "$key" "$iv"
# Храните их безопасно, так как от них зависит доступ к данным.
# Пример:
# anchorEncryption-key: &encryption-key 00000000000000000000000000000000
# anchorEncryption-iv: &encryption-iv 0000000000000000
anchorEncryption-key: &encryption-key 00000000000000000000000000000000
anchorEncryption-iv: &encryption-iv 0000000000000000
По умолчанию секреты для генерации ключей хранятся в конфигурационном файле Api Video Gateway.
Если в вашей организации используется Hashicorp Vault и вы хотите хранить в нем ключи для шифрования данных, которые используются для шифрования видеозаписей при хранении в S3, внесите изменения в секции Настройки приложения→ vault:.
# -------------------- Настройки приложения --------------------
application:
vault:
isEnabled: false # Hashicorp Vault
tlsSkipVerify: true
caCert: # Путь к CA сертификату для Vault
clientCert: # Путь к client cert
clientKey: # Путь к client key
insecureSkipVerify: true
address: # Адрес сервера Vault
Сохраните изменения в файле: Ctrl+O Ctrl+X в Nano.
Перезапустите сервис и убедитесь, что сервис запущен без ошибок:
systemctl restart dion-api-video-gateway
systemctl status dion-api-video-gateway
Дополнительно проверьте логи на отсутствие ошибок:
journalctl -u dion-api-video-gateway -n 20
|
Установите пакет dion-upload-companion:
sudo apt install -f /полный путь к пакету/имя файла
Если API Video Gateway, HLS Delivery или Upload Companion установлены на одной виртуальной машине, в каталоге /etc/nginx/conf.d/ создаются несколько файлов перенаправлений:
nginx_redirect_to_https.conf — создает сервис Upload Companion;
nginx_redirect_to_https_dv.conf — создает сервис HLS Delivery;
nginx_redirect_to_https_gw.conf — создает сервис API Video Gateway.
Для корректной работы оставьте только один актуальный конфигурационный файл. Остальные нужно очистить:
sudo truncate -s 0 /etc/nginx/conf.d/nginx_redirect_to_https.conf
sudo truncate -s 0 /etc/nginx/conf.d/nginx_redirect_to_https_dv.conf
Откройте на редактирование конфигурационный файл /etc/nginx/conf.d/nginx_upload_companion.conf:
nano /etc/nginx/conf.d/nginx_upload_companion.conf
Заполните конфигурационный файл в соответствии с комментариями в файле:
# Укажите абсолютные пути до сертификата (.crt) и приватного ключа (.key),
# выпущенных внутренним удостоверяющим центром сертификации (УЦ). В конце каждой директивы оставьте точку с запятой.
# Пример:
# ssl_certificate /etc/ssl/corp.contur/corp_srv.crt;
# ssl_certificate_key /etc/ssl/corp.contur/corp_srv.key;
ssl_certificate /etc/ssl/corp.contur/corp_srv.crt;
ssl_certificate_key /etc/ssl/corp.contur/corp_srv.key;
Перезапустите Nginx и убедитесь, что сервис работает:
sudo systemctl restart nginx
sudo systemctl status nginx
Откройте на редактирование конфигурационный файл /etc/dion/upload-companion.yml:
sudo nano /etc/dion/upload-companion.yml
Заполните конфигурационный файл в соответствии с комментариями в файле:
# ====================== Конфигурация Upload Companion ======================
# Сервис отвечает за загрузку файлов в S3-хранилище (бакет video).
# Работает вместе с API Video Gateway для авторизации и публикации метаданных.
#
# Используются YAML-якоря (&NAME) и ссылки (*NAME), чтобы задавать значения один раз
# и подставлять их в несколько мест ниже.
#
# Правила редактирования:
# - В этом файле можно менять только переменные, у которых есть поясняющий комментарий справа.
# - Эти переменные встречаются ниже по конфигурации.
# - Формат, отступы и структуру файла не изменяйте.
# -------------------- API Gateway --------------------
# Адрес и порт API Video Gateway, через который Upload Companion
# получает токены доступа и подтверждает операции.
# Пример:
# anchorAPI_video_gw_ip_port: &api_video_gw_ip_port 192.0.2.10:9001
anchorAPI_video_gw_ip_port: &api_video_gw_ip_port 192.0.2.10:9001
# -------------------- Сертификаты --------------------
# Пути до TLS-файлов (сертификат, приватный ключ и корневой CA),
# которые должен выпустить корпоративный удостоверяющий центр (УЦ).
# Эти файлы обеспечивают защищённое взаимодействие сервисов внутри контура.
# Пример:
# anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
# anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
# anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt" # Сертификат сервиса (с SAN)
anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key" # Приватный ключ сервиса
anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem" # Корневой сертификат корпоративного CA
# -------------------- Подключение к S3 --------------------
# Доступ к S3, где будут храниться:
# - загруженные пользователями видео через портал;
# - обработанные записи видеоконференций (HLS-конвертированные файлы).
# Укажите: адрес и порт сервера, пару ключей доступа и имя бакета (video).
# Бакет должен быть создан заранее.
# Пример:
# anchorS3_host_port: &s3_host_port 192.0.2.10:9000
# anchorS3_accessKey: &s3_accessKey 0000000000000000
# anchorS3_secretKey: &s3_secretKey 00000000000000000000000000000000
# anchorS3_video_bucketName: &s3_video_bucketName video
anchorS3_host_port: &s3_host_port 192.0.2.10:9000 # Адрес и порт S3
anchorS3_accessKey: &s3_accessKey 0000000000000000 # Access Key для S3
anchorS3_secretKey: &s3_secretKey 00000000000000000000000000000000 # Secret Key для S3
anchorS3_video_bucketName: &s3_video_bucketName video # Имя бакета (обычно "video")
Сохраните изменения в файле: Ctrl+O Ctrl+X в Nano.
Перезапустите сервис и убедитесь, что сервис запущен без ошибок:
systemctl restart dion-upload-companion
systemctl status dion-upload-companion
Дополнительно проверьте логи на отсутствие ошибок:
journalctl -u dion-upload-companion -n 20
| На сервере необходим Nginx. См. раздел Сервер Nginx. |
Установите пакет dion-hls-delivery:
sudo apt install -f /<полный путь к пакету>/<имя файла>
Откройте на редактирование конфигурационный файл /etc/nginx/conf.d/nginx_hls_delivery.conf:
nano /etc/nginx/conf.d/nginx_hls_delivery.conf
Заполните конфигурационный файл в соответствии с комментариями в файле:
# Укажите абсолютные пути до сертификата (.crt) и приватного ключа (.key),
# выпущенных внутренним удостоверяющим центром сертификации (УЦ). В конце каждой директивы оставьте точку с запятой.
# Пример:
# ssl_certificate /etc/ssl/corp.contur/corp_srv.crt;
# ssl_certificate_key /etc/ssl/corp.contur/corp_srv.key;
ssl_certificate /etc/ssl/corp.contur/corp_srv.crt;
ssl_certificate_key /etc/ssl/corp.contur/corp_srv.key;
Если API Video Gateway, HLS Delivery или Upload Companion установлены на одной виртуальной машине, в каталоге /etc/nginx/conf.d/ создаются несколько файлов перенаправлений:
nginx_redirect_to_https.conf — создает сервис Upload Companion;
nginx_redirect_to_https_dv.conf — создает сервис HLS Delivery;
nginx_redirect_to_https_gw.conf — создает сервис API Video Gateway.
Для корректной работы оставьте только один актуальный конфигурационный файл. Остальные нужно очистить:
sudo truncate -s 0 /etc/nginx/conf.d/nginx_redirect_to_https.conf
sudo truncate -s 0 /etc/nginx/conf.d/nginx_redirect_to_https_dv.conf
Перезапустите Nginx и убедитесь, что сервис работает:
sudo systemctl restart nginx
sudo systemctl status nginx
Откройте на редактирование конфигурационный файл /etc/dion/hls-delivery.yml:
sudo nano /etc/dion/hls-delivery.yml
Заполните конфигурационный файл в соответствии с комментариями в файле:
# ====================== Конфигурация HLS Delivery ======================
# Сервис отвечает за доставку готового медиаконтента пользователям по HTTPS.
# Работает как шлюз между внутренними сервисами и клиентским плеером.
#
# Используются YAML-якоря (&NAME) и ссылки (*NAME), чтобы задавать значения один раз
# и подставлять их в несколько мест ниже.
#
# Правила редактирования:
# - В этом файле можно менять только переменные, у которых есть поясняющий комментарий справа.
# - Эти переменные встречаются ниже по конфигурации.
# - Формат, отступы и структуру файла не изменяйте.
# -------------------- API Gateway --------------------
# Адрес и порт API Video Gateway, через который HLS Delivery проверяет права и метаданные.
# Пример:
# anchorAPI_video_gw_ip_port: &api_video_gw_ip_port 192.0.2.10:9001
anchorAPI_video_gw_ip_port: &api_video_gw_ip_port 192.0.2.10:9001
# -------------------- Сертификаты --------------------
# Пути до TLS-файлов (сертификат, приватный ключ и корневой CA),
# которые должен выпустить корпоративный удостоверяющий центр (УЦ).
# Эти сертификаты обеспечивают защищённое взаимодействие сервисов внутри контура.
# Пример:
# anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
# anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
# anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt" # Сертификат сервиса (с SAN)
anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key" # Приватный ключ сервиса
anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem" # Корневой сертификат корпоративного CA
# -------------------- Подключение к S3 --------------------
# Доступ к S3, откуда HLS Delivery читает сегменты для выдачи пользователям.
# Используются два бакета:
# - records — для записей конференций;
# - video — для загруженных и сконвертированных видео.
# Укажите адрес, ключи и имена бакетов. Бакеты должны существовать заранее.
# Пример:
# anchorS3_host_port: &s3_host_port 192.0.2.10:9000
# anchorS3_accessKey: &s3_accessKey 0000000000000000
# anchorS3_secretKey: &s3_secretKey 00000000000000000000000000000000
# anchorS3_conferences_bucketName: &s3_conferences_bucketName records
# anchorS3_video_bucketName: &s3_video_bucketName video
anchorS3_host_port: &s3_host_port 192.0.2.10:9000 # Адрес и порт S3
anchorS3_accessKey: &s3_accessKey 0000000000000000 # Access Key для S3
anchorS3_secretKey: &s3_secretKey 00000000000000000000000000000000 # Secret Key для S3
anchorS3_conferences_bucketName: &s3_conferences_bucketName records # Бакет для conference records
anchorS3_video_bucketName: &s3_video_bucketName video # Бакет для video
Сохраните изменения в файле: Ctrl+O Ctrl+X в Nano.
Перезапустите сервис и убедитесь, что сервис запущен без ошибок:
systemctl restart dion-hls-delivery
systemctl status dion-hls-delivery
Дополнительно проверьте логи на отсутствие ошибок:
journalctl -u dion-hls-delivery -n 20
Установите пакеты ffmpeg.
apt install ffmpeg
Установите пакет dion-hls-converter:
sudo apt install -f /полный путь к пакету/имя файла
Откройте на редактирование конфигурационный файл /etc/dion/hls-converter.yml:
sudo nano /etc/dion/hls-converter.yml
Заполните конфигурационный файл в соответствии с комментариями в файле:
# ========================== Конфигурация HLS Converter ==========================
# Сервис отвечает за конвертацию видео из S3 в потоковый формат HLS.
# Это самый ресурсоёмкий компонент Видео-Портала.
#
# Используются YAML-якоря (&NAME) и ссылки (*NAME), чтобы задавать значения один раз
# и подставлять их в несколько мест ниже.
#
# Правила редактирования:
# - В этом файле можно менять только переменные, у которых есть поясняющий комментарий справа.
# - Эти переменные встречаются ниже по конфигурации.
# - Формат, отступы и структуру файла не изменяйте.
#
# -------------------- Организация --------------------
# Уникальный идентификатор вашей организации (UUID). Выдаётся DION.
# Найти можно в админ-панели DION → Настройки организации.
# Пример:
# anchorOrganizationId: &organizationId 00000000-0000-0000-0000-00000000000
anchorOrganizationId: &organizationId 00000000-0000-0000-0000-00000000000
# -------------------- Сертификаты --------------------
# Пути до TLS-файлов (сертификат, приватный ключ и корневой CA),
# которые должен выпустить корпоративный удостоверяющий центр (УЦ).
# Эти файлы обеспечивают защищённое взаимодействие сервисов внутри контура.
# Пример:
# anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
# anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
# anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
anchorCORP_CERT: &CORP_CERT "/etc/ssl/corp.contur/corp_srv.crt"
anchorCORP_CERT_KEY: &CORP_CERT_KEY "/etc/ssl/corp.contur/corp_srv.key"
anchorCORP_CA: &CORP_CA "/etc/ssl/corp.contur/corp_ca.pem"
# -------------------- Сетевые адреса --------------------
# Адрес API Video Gateway, с которым работает конвертер для получения заданий и публикации результатов.
# Укажите host:port.
# Пример:
# anchorAPI_video_gw_ip_port: &api_video_gw_ip_port 192.0.2.10:9001
anchorAPI_video_gw_ip_port: &api_video_gw_ip_port 192.0.2.10:9001
# -------------------------- KMS ---------------------------
# Адрес и порт KMS сервера для шифрования записей конференций.
# Укажите, если сервис записи использует шифрование.
# Если не используется — оставьте пустым.
# Пример:
# anchorKMS_ip_port: &kms_ip_port 192.0.2.10:9135
anchorKMS_ip_port: &kms_ip_port 192.0.2.10:9135
# -------------------- Подключение к S3 --------------------
# Доступ к S3, где HLS Converter берёт исходники и сохраняет результаты.
# Используются два бакета:
# - records — для исходных файлов конференций;
# - video — для загруженных и сконвертированных видео.
# Укажите адрес, ключи и имена бакетов. Бакеты должны существовать заранее.
# Пример:
# anchorS3_host_port: &s3_host_port 192.0.2.10:9000
# anchorS3_accessKey: &s3_accessKey 0000000000000000
# anchorS3_secretKey: &s3_secretKey 00000000000000000000000000000000
# anchorS3_conferences_bucketName: &s3_conferences_bucketName records
# anchorS3_video_bucketName: &s3_video_bucketName video
anchorS3_host_port: &s3_host_port 192.0.2.10:9000 # Адрес и порт S3
anchorS3_accessKey: &s3_accessKey 0000000000000000 # Access Key для S3
anchorS3_secretKey: &s3_secretKey 00000000000000000000000000000000 # Secret Key для S3
anchorS3_conferences_bucketName: &s3_conferences_bucketName records # Бакет для conference records
anchorS3_video_bucketName: &s3_video_bucketName video # Бакет для video
Сохраните изменения в файле: Ctrl+O Ctrl+X в Nano.
Перезапустите сервис и убедитесь, что сервис запущен без ошибок:
systemctl restart dion-hls-converter
systemctl status dion-hls-converter
Проверьте логи на отсутствие ошибок:
journalctl -u dion-hls-converter -n 20
DLP Adapter отправляет в корпоративную DLP-систему текстовые данные при изменении заголовков, описаний видео и каналов, а также комментариев. Это позволяет проверять контент на соответствие внутренним политикам безопасности.
Установите пакет dion-dlp-adapter:
sudo apt install -f /полный путь к пакету/имя файла
Откройте на редактирование конфигурационный файл /etc/dion/dlp-adapter.yml:
sudo nano /etc/dion/dlp-adapter.yml
Заполните конфигурационный файл в соответствии с комментариями в файле:
# ====================== Конфигурация DLP Adapter ======================
# Сервис отправляет данные во внешнюю DLP-систему для проверки.
# Работает по HTTP (шаблон запроса указан в конфиге) и может работать
# в двух режимах:
# - блокирующий (gRPC) — ожидание ответа от DLP;
# - асинхронный (Kafka) — проверка без блокировки потока.
#
# Правила редактирования:
# - В этом файле можно менять только переменные, у которых есть поясняющий комментарий.
# - Формат, отступы и структуру файла не изменяйте.
# -------------------------- Режим --------------------------
env: prod
# -------------------- Подключение к DLP --------------------
dlp:
config_template_enabled: true
cloud_templates_enabled: false
cloud_templates_cache_ttl: 120s
default_timeout: 10s
host: 192.0.2.10 # Адрес DLP-сервера
port: 8443 # Порт, на котором слушает DLP-сервер
full_path: "/icap/full" # Путь для полной проверки (если не поддерживаются разные режимы, укажите одинаковый дла full и fast path)
fast_path: "/icap/fast" # Путь для быстрой проверки (если не поддерживаются разные режимы, укажите одинаковый дла full и fast path)
secure_data: "безопасные данные" # Тестовые данные для проверки безопасного сообщения
secure_test_enabled: false # Включить тест безопасного сообщения
insecure_data: "секретные данные" # Тестовые данные для проверки небезопасного сообщения
insecure_test_enabled: false # Включить тест небезопасного сообщения
# HTTP-шаблон запроса к DLP (обычно корректируется под требования DLP-системы клиента)
template: |
REQMOD $icap_url$ ICAP/1.0
Allow: $icap_allow$
Host: $icap_host$
Encapsulated: $icap_encapsulated$
X-Authenticated-User: %user_name%
X-Client-Hostname: 1936-DION
X-Client-Ip: %client_ip%
X-Dozor-Filename: %file_name%
X-Message-Date: %req_date%
%additional_icap_headers%
$http_method$ $http_url$ HTTP/1.1
Content-Length: $body_length$
Content-Type: $content_type$
X-Authenticated-User: %user_name%
X-Client-Hostname: 1936-DION
X-Client-Ip: %client_ip%
X-Dozor-Filename: %file_name%
X-Message-Date: %req_date%
%additional_headers%
$body$
# -------------------- gRPC сервер --------------------
grpc_server:
address: 9147
start_timeout: 5s
tls:
enabled: true
ca: /etc/ssl/corp.contur/corp_ca.pem # Путь к .pem
cert: /etc/ssl/corp.contur/corp_srv.crt # Путь к .crt
key: /etc/ssl/corp.contur/corp_srv.key # Путь к .key
Сохраните изменения в файле: Ctrl+O Ctrl+X в Nano.
Перезапустите сервис и убедитесь, что сервис запущен без ошибок:
systemctl start dion-dlp-adapter
systemctl status dion-dlp-adapter
Проверьте логи на отсутствие ошибок:
journalctl -u dion-dlp-adapter -n 20
После завершения установки видеопортала дальнейшее администрирование выполняется через панель администрирования DION. Подробная информация приведена в руководствах:
По умолчанию контент из облачного DION.Видео недоступен в гибридной инсталляции. Чтобы разрешить пользователям гибридной инсталляции просматривать «облачный» контент на локальном портале, выполните следующие действия:
В панели администрирования DION перейдите в Настройки организации → Видеохостинг.
Включите параметр Предоставление доступа к видео в клауде из гибрида.
В результате в «гибридном» видеопортале ваши видео из облака будут отображаться с пометкой Cloud.
Ошибки в логах сервиса.
В случае возникновения ошибок в логах сервиса, обратитесь в техническую поддержку DION за помощью в настройке.
Сервис не запускается.
Некорректно заполнен конфигурационный файл сервиса (некорректно указана «табуляция», указаны некорректные значения для переменных);
Некорректно настроены сетевые доступы для сервисов.
При использовании гибридного видеопортала DION через веб-браузер раздел «Видео» может быть недоступен или отображаться некорректно, если для сайта DION запрещён доступ к ресурсам локальной сети.
Рекомендуемое решение: для сайта DION необходимо разрешить доступ к локальной сети:
Откройте веб-клиент DION в браузере.
Перейдите в настройки сайта:
Нажмите на значок настроек сайта рядом с адресной строкой.
Выберите Настройки сайта.
Найдите параметр Локальная сеть и установите значение Разрешить.
Обновите страницу или выполните повторный вход в веб-клиент DION.
В Google Chrome используйте следующий путь: Настройки → Конфиденциальность и безопасность → Настройки сайтов → dion.vc → Локальная сеть → Разрешить.