Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

WCS can be used in Docker with official Docker image since build 5.2.458

Docker deployment example

...

Code Block
languagebash
themeRDark
sudo docker pull flashphonerofficialflashphoner/webcallserver

2. Set up docker bridge network

Code Block
languagebash
themeRDark
sudo docker network create \
 --subnet 192.168.1.1/24 \
 --gateway=192.166168.1.1 \
 --driver=bridge \
 --opt com.docker.network.bridge.name=br-testnet testnet

...

Code Block
languagebash
themeRDark
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 flashphonerofficialflashphoner/webcallserver:latest

4. Check if the container available by SSH

...

Code Block
languagebash
themeRDark
docker run \
-e PASSWORD=password \
-e LICENSE=license_number \
--net host \
--name wcs-docker-test --rm -it flashphonerofficialflashphoner/webcallserver:latest

Container enrty point script detects all the IP addresses and asks to enter the address for WCS to bind to

...

  • /conf - additional configuration files folder, the path starts from container root. This volume can be mounted as read-only
  • /usr/local/FlashphonerWebCallServer/hls - HLS segments folder. This volume must be mounted with write access
  • /usr/local/FlashphonerWebCallServer/logs - logging folder. This volume must be mounted with write access
  • /usr/local/FlashphonerWebCallServer/media - media files for VOD playback folder. This volume can be mounted as read-only. This volume can be shared with another Web Call Server instances
  • /usr/local/FlashphonerWebCallServer/records - stream recoding files folder. This volume must be mounted with write access. This volume can be shared with another Web Call Server instances

...

Code Block
languagebash
themeRDark
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
Warning

Do not mount whole folder /usr/local/FlashphonerWebCallServer/conf or separate files from this folder as volumes!

For example, this is not allowed:

Code Block
languagebash
themeRDark
docker run -e LICENSE=license_number -e PASSWORD=secret \
 -v /opt/wcs/conf:/usr/local/FlashphonerWebCallServer/conf \
 --name webcallserver-instance -d webcallserver:latest

and this too:

Code Block
languagebash
themeRDark
docker run -e LICENSE=license_number -e PASSWORD=secret \
 -v /opt/wcs/conf/flashphoner.properties:/usr/local/FlashphonerWebCallServer/conf/flashphoner.properties \
 --name webcallserver-instance -d webcallserver:latest

Additional instance configuration

...

The ports can be changed using docker run --expose parameters if necessary. In this case, the actual port values should be set to flashphoner.properties and wcs-core.properties files, see description above

Known issues

1. Open files limit cannot be changed from inside container

Symptoms: the following message is displaing when container starts in interactive mode

Code Block
themeRDark
ulimit: open files: cannot modify limit: Operation not permitted

Solution: set open files limit in container parameters when launching it

Code Block
languagebash
themeRDark
docker run --ulimit nofile=100000:100000 \
 -e LICENSE=license_number -e PASSWORD=secret \
 --name webcallserver-instance --rm webcallserver:latest

2. It is not recommended to use Docker on Windows due to port forwarding issues

Symptoms: WCS container is running but not available via SSH, HTTP/HTTPS, or WebRTC connection is not establishing when container is deployed in Docker on Windows

Solution: use Docker on Linux, or launch WCS in WSL 2