openvidu
Интеграция с OpenVidu
Установка OpenVidu server
Подключение репозитория:
# /etc/yum.repos.d/
[mvs-lyra3.3rdparty]
baseurl = https://<user>:<pass>@repo.mvslyra.com/repository/lyra3.3rdparty/
gpgcheck = 0
gpgkey = file:///etc/pki/rpm-gpg/mvs_key
name = MVS lyra3.3rdparty repository
enabled = 1
Установка зависимостей:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
systemctl enable --now docker
Установка пакета:
yum makecache && yum -y install mvs-openvidu
Рекомендованные верcии mvs-openvidu для различных релизов:
| mvs-openvidu version | MVS Platform releases |
|---|---|
| 2.21.0 | до Yukki 1.1 |
| 2.23.0 | Saratov |
| 2.21.0 | ariadna и выше |
Важно: Для использования с более старыми релизами, чем saratov версий 2.23 и выше неоходимо в .env добавить ключ: SUPPORT_DEPRECATED_API=true
Для его работы в каталоге /opt/openvidu необходимо создать .env файл со следующим (минимальным) набором параметров:
DOMAIN_OR_PUBLIC_IP=<fully.qualified.domain.name>
OPENVIDU_SECRET=<openvidu.password>
CERTIFICATE_TYPE=owncert
HTTP_PORT=<http_port>
HTTPS_PORT=<https_port>
OPENVIDU_RECORDING=true
OPENVIDU_RECORDING_PATH=/var/lib/ovstorage
OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout
OPENVIDU_RECORDING_PUBLIC_ACCESS=true
OPENVIDU_RECORDING_NOTIFICATION=all
COTURN_IP=<external.ip.address>
Параметры OPENVIDU_RECORDING необходимы для включения функционала записи конференций. Каталог, указанный в переменной OPENVIDU_RECORDING_PATH должен существовать и быть доступным для записи. Рекомендуется размещать его на отдельном разделе.
Для работы SSL в каталог /opt/openvidu/owncert необходимо положить ключевую пару в виде certificate.cert и certificate.key.
Запуск openvidu
cd /opt/openvidu
./openvidu start
или
mvsovctl start
Рестарт openvidu
После изменения параметров (или установки новой ключевой пары) необходимо рестартовать службы одним из двух способов
cd /opt/openvidu
./openvidu start
или
mvsovctl restart
Автонастройка openvidu (mvs)
Первичная настройка (при отсутствии готового доменного имени и внешнего адреса):
mvsovctl setup
При отсутсвии установленных зависимостей скрипт также установит их. Кроме того сгенерируется файл .env (или .env_new, если файл /opt/openvidu/.env уже существует).
Если есть доменное имя, которое разрешается во внешний адрес, настроен snat и проброшены порты, можно использовать командлет:
mvsovctl setup <domain.name.mvssserice.ru>
Будет сгенерирован .env(.env_new) файл с дефолтными настройками. Данный вариант исполнения работоспособен только при следующих условиях:
- Доменное имя существует и разрешается во публичный адрес;
- Корректно работает snat.
Настройка firewall
firewall-cmd --permanent --zone=public --add-port=443/tcp # либо другой порт, указанный в параметре HTTPS_PORT
firewall-cmd --permanent --zone=public --add-port=3478/tcp # stun
firewall-cmd --permanent --zone=public --add-port=3478/udp # stun
firewall-cmd --permanent --zone=public --add-port=40000-65535/tcp # turn+kurento media ports
firewall-cmd --permanent --zone=public --add-port=40000-65535/udp # turn+kurento media ports
firewall-cmd --reload
Примечания
В шаблон .env файла по умолчанию добавлены значения:
OPENVIDU_RECORDING_NOTIFICATION=all. Для для получения уведомлений сервисом OVConf.API.OPENVIDU_RECORDING_PATH=/var/lib/ovstorage. Путь к каталогу, где сохраняется запись. Данный каталог создается автоматически, но рекомендуется расположить его на отдельном разделе.OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout. Лейаут поставляется с пакетом mvs-openvidu.