Начиная со сборки 5.2.458, WCS доступен в виде официального Docker образа

Пример развертывания в Docker

Развернем WCS в Docker за несколько шагов:

1. Загрузите актуальную сборку с Docker Hub

sudo docker pull flashphonerofficial/webcallserver

2. Настройте docker сеть

sudo docker network create \
 --subnet 192.168.1.1/24 \
 --gateway=192.166.1.1 \
 --driver=bridge \
 --opt com.docker.network.bridge.name=br-testnet testnet

3. Запустите docker контейнер, указав номер ознакомительной или коммерческой лицензии

docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
-e LOCAL_IP=192.168.1.10 \
--net testnet --ip 192.168.1.10 \
--name wcs-docker-test --rm -d flashphonerofficial/webcallserver:latest

4. Проверьте доступность контейнера по SSH

ssh root@192.168.1.10

5. Откройте страницу примера Two Way Streaming в локальном браузере и опубликуйте поток

6. Закройте страницу, остановите контейнер

sudo docker stop wcs-docker-test

При остановке контейнера лицензия будет деактивирована, чтобы избежать излишнего биллинга.

Настройка docker контейнера

Настройка сети

По умолчанию, IP адрес назначается контейнеру динамически. Если планируется использовать статический IP адрес, нужно указать его в параметрах команды docker run и передать в контейнер при помощи переменной LOCAL_IP :

docker run -e LICENSE=license_number -e PASSWORD=secret \
 -e LOCAL_IP=static_ip \
 --net your-docker-network \
 --ip static_ip \
 --name webcallserver-instance -d webcallserver:latest

Если docker узел находится в локально сети за NAT, и сервер должен быть доступен снаружи, необходимо указать внешний IP адрес в переменной EXTERNAL_IP :

docker run -e LICENSE=license_number -e PASSWORD=secret \
 -e LOCAL_IP=static_ip \
 -e EXTERNAL_IP=external_ip \
 --net your-docker-network \
 --ip static_ip \
 --name webcallserver-instance -d webcallserver:latest

Настройка параметров контейнера

При запуске в контейнер можно передавать следующие параметры:

Настройка docker томов

При запуске в контейнер могут быть смонтированы следующие тома:

Пример запуска контейнера со всеми смонтированными томами:

docker run -e LICENSE=license_number -e CDN_ROLE=origin \
 -v /opt/wcs/conf:/conf \
 -v /opt/wcs/logs:/usr/local/FlashphonerWebCallServer/logs \
 -v /opt/wcs/hls:/usr/local/FlashphonerWebCallServer/hls \
 -v /opt/wcs/media:/usr/local/FlashphonerWebCallServer/media \
 -v /opt/wcs/records:/usr/local/FlashphonerWebCallServer/records \
 --name webcallserver-instance -d webcallserver:latest

Дополнительная настройка

В каталог, смонтированный как том /conf, могут быть помещены следующие файлы настроек

Все эти файлы могут быть использованы, например, для восстановления настроек экземпляра WCS из сохраненной копии и для автоматического развертывания. Файлы копируются в контейнер 'как есть', за исключением flashphoner.properties:

Порты контейнера

По умолчанию доступны следующие порты:

Состав портов при необходимости может быть изменен при помощи параметров запуска docker run --expose. В этом случае значения портов должны быть указаны в файлах настроек flashphoner.properties и wcs-core.properties, см выше