Файлы, необходимые для запуска TURN в контейнере можно скачать здесь.
Архив содержит три файла:
1. Создайте каталог для размещения содержимого архива на целевой виртуальной машине:
mkdir -p /app/dion/coturn/certs
2. Распакуйте полученный архив в созданный каталог /app/dion/coturn/
3. В каталог /app/dion/coturn/certs/ скопируйте сертификат и ключ для вашей организации (crt и key), предоставленные командой DION.
4. Установите docker и docker-compose.
Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
5. Чтобы загрузить образ из архива в локальный реестр, выполните команду:
docker load -i /app/dion/coturn/coturn_XXX
6. Проверьте docker-compose.yaml:
nano /app/dion/coturn/docker-compose.yaml
version: "2.2"
services:
coturn:
image: registry.onprem.dion.vc/external/coturn:4.6.2-r11-alpine
restart: unless-stopped
network_mode: "host"
volumes:
- ./turnserver.conf:/etc/turnserver.conf:ro
- ./certs:/app/certs:ro
logging:
driver: "json-file"
options:
max-size: "20m"
max-file: "3"
labels: "gtlabel"
labels:
gtlabel: "coturn"
7. Убедитесь, что имя загруженного образа соответствует образу, указанному в переменной image
, и, при необходимости, отредактируйте docker-compose.yaml
.
Для вывода списка загруженных образов воспользуйтесь командой docker images
:
В переменной image
укажите имя Repository и TAG через двоеточие.
8. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
9. Отредактируйте конфигурационный файл turnserver.conf:
nano /app/dion/coturn/turnserver.conf
web-admin
web-admin-ip=*ЛОКАЛЬНЫЙ_АДРЕС_TURN_СЕРВЕРА*
web-admin-port=9088
listening-port=3478
#Если планируете использовать TURN на 443 порту
tls-listening-port=443
cert=/app/certs/*ИМЯ_СЕРТИФИКАТА*.crt
pkey=/app/certs/*ИМЯ_КЛЮЧА*.key
external-ip=*ВНЕШНИЙ_АДРЕС_TURN_СЕРВЕРА*
min-port=49152
max-port=65535
verbose
fingerprint
use-auth-secret
static-auth-secret=*СТРОКА*
realm=turn
dh2066
syslog
simple-log
Значение static-auth-secret
должно совпадать с переменной authSecret
секции Turn → meta
в конфигурационном файле dion-proxy.yml.
10. Сохраните изменения в файле: ctrl+O ctrl+X в Nano.
11. Запустите контейнер командой:
docker compose -f /app/dion/coturn/docker-compose.yaml up -d
в таких системах, как Debian или Astra может использоваться docker-compose v1
, в таком случае следует использовать:
docker-compose -f /app/dion/coturn/docker-compose.yaml up -d
12. Выведите список запущенных контейнеров с помощью команды docker ps
:
Если контейнер не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Чтобы убедиться, что контейнер работает корректно:
1. Настройте гибридные конференции DION. В конфигурационных файлах dion-proxy укажите новый TURN-сервер в контейнере.
2. Запустите гибридную конференцию DION.
3. Войдите в конференцию из внешней сети (пользователь не должен находиться в одной подсети с медиа-сервером) из браузера.
a. Перед подключением к конференции откройте в браузере Инструменты разработчика.
b. В той же вкладке, где открыты инструменты разработчика, нажмите Войти и подключитесь к конференции.
Во вкладке Network → WS должно отобразиться одно сообщение. По двойному клику открывается боковая панель.
c. В разделе Messages найдите сообщение you_joined
.
d. Нажмите на сообщение внизу, чтобы открылось окно с деталями. Найдите параметр params → ice_servers
.
В этом поле должен быть указан развернутый вами TURN (если он единственный).