Skip to main content

Установка OpenVidu в Docker

Версия инструкции от 2023 года

---------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------
 !!!!!Если это компьютер за роутером, то надо организовать на роутере проброс портов. Для каждого роутера и интернет провайдера будет немного по-разному.
=====================================================
 
Однако на самом компьютере надо сопоставить доменное имя с локалхостом. Без этого компьютер себя по доменному имени не найдет и (главное) медиасервер не будет записи записывать!

открыть файл /etc/hosts добавить туда строку:

127.0.0.1             <доменное имя сервера>
=====================================================

 

Установка openVidu (на примере версии 2.19)
-----------------------------------------------------------------------

ЕСЛИ ЗАПУЩЕН NGINX - ОСТАНОВИТЬ !


(!) Перейти в папку opt (!)
........................................

curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_openvidu_2.19.0.sh | sudo bash
........................................

Настройка:

- перейти в папку /opt/openvidu 
------------------------------------------------------------------------------
! Оставаться в этой папке до конца иструкции!)
------------------------------------------------------------------------------

- Удалить (при необходимости) файл docker-compose-owerride.yml (это приложение openVidu Call)

- изменить файл docker-compose.yml в настройках coturn (это чтобы turn сервером пользоваться для обмена видео мимо библиотеки openVidu):
   добавить строчку:
   - --user=abcdef:abcde     (после строки: - -- verbose)

-----------------------------------------------------------------------------------------------------------------
Внимание! для выравнивания строк нельзя пользоваться табулятором!
-----------------------------------------------------------------------------------------------------------------

Отредактировать файл с настройками .env :
--------------------------------------------------------------------------

DOMAIN_OR_PUBLIC_IP=<доменное имя сервера>

OPENVIDU_SECRET=<пароль> (обычно у нас frogsEatenUnicornes)

CERTIFICATE_TYPE=letsencrypt

LETSENCRYPT_EMAIL=<почта куда будут приходить письма о продлении сертификатов>

HTTP_PORT=80 (раскомментировать, !!!для первого запуска именно так!!!, потом если на этом компе будет и веб сервер, его меняем на другой(8080), либо на этот адрес назначаем другое доменное имя {nbics.net <==>media.nbics.net})

HTTPS_PORT=443 (раскомментировать, !!!для первого запуска именно так!!!, потом если на этом компе будет и веб сервер, его меняем на другой(8443), либо на этот адрес назначаем другое доменное имя {nbics.net <==>media.nbics.net})

OPENVIDU_RECORDING=true

OPENVIDU_RECORDING_PUBLIC_ACCESS=true

OPENVIDU_STREAMS_ALLOW_TRANSCODING=true

OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=75

OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=75
.........    ............   ..........   .............

Остальное - как есть

Сохранить изменения.
......................................................

Запустить openVidu для загрузки контейнеров:

./openvidu start

^^^^^^^^^^^^^^^^^^^^^^^^^^^^
! Будет закачано около 500 мб данных !
-----------------------------------------------------------------

Освободить терминал:

Ctrl+c
......................................................

Если надо поменять порты. остановить медиасервис:

./openvidu stop
......................................................

изменить порты и запустить медиа сервис.
......................................................

-----------------------------------------------------------------------------
!Внимание! если перезагрузить компьютер с работающим сервисом openVidu, после перезагрузки компьютера он сам запустится. Если выключить (./openvidu stop) и компьютер перезагрузить, сервис не запустится (особенности настройки Docker Compose)
-----------------------------------------------------------------------------

-------------------------------------------------------------------
! Выйти из openVidu  !
.............................................
/opt/openvidu

==================================

Д О П О Л Н И Т Е Л Ь Н О

УДАЛЕНИЕ ТЕКУЩЕЙ ВЕРСИИ OPENVIDU
----------------------------------------------------------------
cd /opt/openvidu
sudo ./openvidu stop
docker ps     (должно быть пусто)
sudo docker system prune -a     (Удаление всех остановленных контейнеров)
==================================

УСТАНОВКА DOCKER
----------------------------------------------------------------
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo apt-get update
curl -fsSL https://get.docker.com -o get-docker.sh
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Открыть порты:
-----------------------------------------------------------------
sudo iptables -I INPUT -p tcp --dport 5443 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 3478 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 8443 -j ACCEPT


!!! ДОПОЛНЕНИЯ !!!
==================================
==================================
Файлы Докера хранятся здесь:

/var/lib/docker
---------------------------------------------------------
Посмотреть через терминал:

sudo ls -alh /var/lib/docker
---------------------------------------------------------

Всего (при просмотре через рут-режим в Дельфине) после установки openVidu там находится 1.4 гигабайта.

Основная информация (практически весь объём) находится в папке:

/var/lib/docker/overlay2

Там располагаются контейнеры с openVidu

Контейнеры именованы несвязным набором букв и цифр.
-----------------------------------------------------------