Deploy OpenVidu based applications
OpenVidu Call application installed by default 🔗
When deploying OpenVidu platform for production the OpenVidu Call application is automatically deployed and it is accessible in the URL:
https://DOMAIN_OR_PUBLIC_IP/
If you set a custom port in property HTTPS_PORT
as defined in configuration properties, the URL will be:
https://DOMAIN_OR_PUBLIC_IP:HTTPS_PORT/
Remove OpenVidu Call application 🔗
You can remove OpenVidu Call application very easily:
- 1) Stop OpenVidu:
$ cd /opt/openvidu
$ ./openvidu stop
- 2) Delete the file
docker-compose.override.yml
$ rm docker-compose.override.yml
- 3) Start OpenVidu
$ ./openvidu start
Deploy other OpenVidu based application 🔗
If you want to deploy your own OpenVidu based application on the same server as you deployed OpenVidu, you can choose to deploy it in the same port and with the same SSL certificate as OpenVidu or in any other port.
Obviously, you can deploy your own application in a different server than OpenVidu platform, just configuring the OpenVidu URL an OpenVidu SECRET properly.
With the same port and certificate as OpenVidu 🔗
Using the same port and certificate than OpenVidu is very useful because you don't have to worry about certificate management.
But as OpenVidu platform and the application are sharing the same domain, the following paths can not be used by application (they are used by OpenVidu platform):
/openvidu/
/dashboard/
(only in OpenVidu CE)/inspector/
(only in OpenVidu Pro)
You can deploy your own application dockerized or installed natively.
With Docker 🔗
You will need a docker image of your application. If you want to deploy an OpenVidu tutorial application, you can find the instructions to dockerize it in the section "Deploying application" of each tutorial.
Once the application docker image has been built, it can be defined in the file /opt/openvidu/docker-compose.override.yml
and the lifecycle of the application will be linked to the lifecycle of OpenVidu platform (start, stop, etc..).
The following requirements must be followed:
Image
must be based on your own application image name.- Application has to use
network_mode: host
- Application must be server in plain http, without https.
SERVER_PORT
must be5442
. This port is used by the NGINX included in OpenVidu Platform.OPENVIDU_URL
has to be configured tohttp://localhost:5443
OPENVIDU_SECRET
is available in the env variable ${OPENVIDU_SECRET}
Here it is the docker-compose.override.yml
used by OpenVidu Call application. You can based on it the configuration of your own app.
version: '3.1'
services:
app:
image: your-image-name:X.Y.Z
restart: on-failure
network_mode: host
environment:
- SERVER_PORT=5442
- OPENVIDU_URL=http://localhost:5443
- OPENVIDU_SECRET=${OPENVIDU_SECRET}
Installed natively 🔗
Just take into account the following details:
- Application must be server in plain http, without https.
- Http port must be 5442. This port is used by the NGINX included in OpenVidu Platform.
- OpenVidu platform URL has to be configured to
http://localhost:5443
- OpenVidu Secret has to be manually configured to the
OPENVIDU_SECRET
value you specify in the.env
file.
You will have to control the lifecyle of your application, usually installing it as a service to be started automatically in case of restarting the server.
In a different port as OpenVidu 🔗
If you prefer to deploy the application in a different port, just take into account the following aspects:
- You can configure OpenVidu platform in any port with configuration param
HTTPS_PORT
, freeing default 443 if that's what you want. - If you are using Let's Encrypt in OpenVidu platform, you can not change
HTTP_PORT
(by default to 80). If you change it, Let's Encrypt won't work properly when SSL certificate is going to be renewed. - Just publish your application in the port you want, but make sure this port is HTTPS, as secure protocol is mandatory for WebRTC applications.
- OpenVidu platform URL has to be configured to
http://localhost:5443
- OpenVidu Secret has to be manually configured to the
OPENVIDU_SECRET
value you specify in the.env
file.