Configuration Reference#
openvidu.env
:#
This file defines global configuration parameters used by other services. Such as the domain name, credentials, etc.
Parameter | Description |
---|---|
DOMAIN_NAME |
The domain name for the deployment. Use this domain name to access. OpenVidu APIs and services. |
LIVEKIT_API_KEY |
Global LiveKit API Key and Secret used for apps to connect to OpenVidu. |
LIVEKIT_API_SECRET |
Global LiveKit API Key and Secret used for apps to connect to OpenVidu. |
MINIO_ACCESS_KEY |
Access key for MinIO. |
MINIO_SECRET_KEY |
Secret key for MinIO. |
MONGO_ADMIN_USERNAME |
MongoDB admin username. |
MONGO_ADMIN_PASSWORD |
MongoDB admin password. |
DASHBOARD_ADMIN_USERNAME |
Admin username for OpenVidu Dashboard |
DASHBOARD_ADMIN_PASSWORD |
Admin password for OpenVidu Dashboard |
GRAFANA_ADMIN_USERNAME |
Admin username for Grafana |
GRAFANA_ADMIN_PASSWORD |
Admin password for Grafana |
OPENVIDU_PRO_LICENSE |
PRO OpenVidu Pro license key. Get an OpenVidu Pro License here. |
OPENVIDU_RTC_ENGINE |
PRO The WebRTC engine to use. Can be pion or mediasoup . |
app.env
:#
This file defines the configuration parameters for the OpenVidu Call application.
Parameter | Description |
---|---|
SERVER_PORT |
Port where the OpenVidu Call application will be running. |
LIVEKIT_URL |
The public URL of the LiveKit server which external clients will use to connect to the OpenVidu Call application. |
LIVEKIT_URL_PRIVATE |
The private URL of the LiveKit server which OpenVidu Call backend will use to connect to the LiveKit Server internally. |
LIVEKIT_API_KEY |
LiveKit API Key for the OpenVidu Call application to connect to the LiveKit server. |
CALL_PRIVATE_ACCESS |
If true , only authenticated users can access the OpenVidu Call application. |
CALL_USER |
Username for the OpenVidu Call application. |
CALL_SECRET |
Password for the OpenVidu Call application. |
CALL_ADMIN_USER |
Admin username for the OpenVidu Call application. |
CALL_ADMIN_SECRET |
Admin password for the OpenVidu Call application. |
CALL_S3_BUCKET |
S3 bucket name for OpenVidu Call application. It is used to store recordings. |
CALL_S3_SERVICE_ENDPOINT |
S3 service endpoint for OpenVidu Call application. |
CALL_S3_ACCESS_KEY |
S3 access key for OpenVidu Call application. |
CALL_S3_SECRET_KEY |
S3 secret key for OpenVidu Call application. |
CALL_AWS_REGION |
AWS region of the S3 Bucket application. |
CALL_S3_WITH_PATH_STYLE_ACCESS |
If true , use path-style access for S3. |
CALL_LOG_LEVEL |
Log level for OpenVidu Call application. Valid values are: error , warn , info , verbose , debug , silly . |
PRO v2compatibility.env
#
Info
OpenVidu V2 Compatibility is part of OpenVidu PRO. Before deploying, you need to create an OpenVidu account to get your license key. There's a 15-day free trial waiting for you!
This file defines the configuration parameters for the OpenVidu V2 Compatibility Server.
Parameter | Description |
---|---|
OPENVIDU_PRO_LICENSE |
OpenVidu Pro license key. Get an OpenVidu Pro License here. |
V2COMPAT_OPENVIDU_SHIM_PORT |
Port where the OpenVidu V2 Compatibility will be running. By default is 4443 |
V2COMPAT_OPENVIDU_SHIM_URL |
Public URL used for openvidu v2 applications used by external clients to connect to the OpenVidu V2 Compatibility Server. |
V2COMPAT_OPENVIDU_SECRET |
OpenVidu Secret used by openvidu v2 applications to connect to the OpenVidu deployment. |
V2COMPAT_LIVEKIT_URL |
LiveKit URL used by external clients to connect to the OpenVidu V2 Compatibility Server using the LiveKit protocol. |
V2COMPAT_LIVEKIT_URL_PRIVATE |
LiveKit URL used by the OpenVidu V2 Compatibility Server to connect to the LiveKit Server internally. |
V2COMPAT_LIVEKIT_API_KEY |
LiveKit API Key used by the OpenVidu V2 Compatibility Server to interact with the LiveKit Server. |
V2COMPAT_LIVEKIT_API_SECRET |
LiveKit API Secret used by the OpenVidu V2 Compatibility Server to interact with the LiveKit Server. |
V2COMPAT_REDIS_HOST |
Redis host used by the OpenVidu V2 Compatibility Server to store session data. |
V2COMPAT_REDIS_PORT |
Redis port used by the OpenVidu V2 Compatibility Server to connect to the Redis server. |
V2COMPAT_REDIS_PASSWORD |
Redis password used by the OpenVidu V2 Compatibility Server to connect to the Redis server. |
V2COMPAT_REDIS_SENTINEL_HOST_LIST |
Redis Sentinel host list used by the OpenVidu V2 Compatibility Server to connect to Redis Sentinel servers. |
V2COMPAT_REDIS_SENTINEL_PASSWORD |
Redis Sentinel password used by the OpenVidu V2 Compatibility Server to connect to Redis Sentinel servers. |
V2COMPAT_REDIS_MASTER_NAME |
Redis Sentinel master name used by the OpenVidu V2 Compatibility Server to connect to Redis Sentinel servers. |
V2COMPAT_REDIS_DB |
Redis database used by the OpenVidu V2 Compatibility Server. Default value is 0 . |
V2COMPAT_OPENVIDU_RECORDING_PATH |
Path where the OpenVidu V2 Compatibility Server will store recordings locally. By default in the deployments is /opt/openvidu/recordings . |
V2COMPAT_OPENVIDU_PRO_RECORDING_STORAGE |
Where to store the recordings. Valid values are:
local |
V2COMPAT_OPENVIDU_RECORDING_CUSTOM_LAYOUT_URL |
URL of the custom layout used by the OpenVidu V2 Compatibility Server to generate the recordings. |
V2COMPAT_OPENVIDU_PRO_AWS_S3_WITH_PATH_STYLE_ACCESS |
If true , use path-style access for S3. |
V2COMPAT_OPENVIDU_RECORDING_ZIP_FILES |
If true , save individual recordings as zip files |
V2COMPAT_OPENVIDU_RECORDING_RAW_FILES |
If true , save individual recordings as files directly |
V2COMPAT_OPENVIDU_PRO_AWS_S3_BUCKET |
Default bucket name for recordings |
V2COMPAT_OPENVIDU_PRO_AWS_S3_SERVICE_ENDPOINT |
S3 service endpoint for the recordings |
V2COMPAT_OPENVIDU_PRO_AWS_ACCESS_KEY |
Access key for the recordings S3 bucket |
V2COMPAT_OPENVIDU_PRO_AWS_SECRET_KEY |
Secret key for the recordings S3 bucket |
V2COMPAT_OPENVIDU_PRO_AWS_REGION |
AWS region of the recordings S3 bucket |
V2COMPAT_OPENVIDU_WEBHOOK |
If true , the OpenVidu V2 Compatibility Server will send webhooks to V2COMPAT_OPENVIDU_WEBHOOK_ENDPOINT |
V2COMPAT_OPENVIDU_WEBHOOK_HEADERS |
JSON Array list of headers to send in the OpenVidu V2 Webhook events. For example: ["Content-Type: application/json"] |
V2COMPAT_OPENVIDU_WEBHOOK_EVENTS |
Comma-separated list of OpenVidu V2 Webhook events to send. All available events are:
|
livekit.yaml
:#
As OpenVidu Server is built on top of LiveKit, the configuration of OpenVidu Server is done in the livekit.yaml
file in its own openvidu
section in this file. The rest of the configuration is the same as the LiveKit server configuration.
COMMUNITY OpenVidu Server Configuration:#
openvidu:
analytics: # (1)
enabled: true # (2)
mongo_url: mongodb://<MONGO_ADMIN_USERNAME>:<MONGO_ADMIN_PASSWORD>@localhost:20000/ # (3)
interval: 10s # (4)
expiration: 768h # (5)
- The
analytics
configuration should be defined at theopenvidu
level in thelivekit.yaml
file. - This must be set to
true
to send analytics data to MongoDB. If set tofalse
, no analytics data will be sent. - MongoDB connection string. In OpenVidu Single Node, the MongoDB service is running on the same machine, so you can use
localhost
as the hostname. The default port in OpenVidu for MongoDB is20000
.MONGO_ADMIN_USERNAME
andMONGO_ADMIN_PASSWORD
are the credentials to access the MongoDB database. - Time interval to send analytics data to MongoDB.
- Time to keep the analytics data in MongoDB. In this example, it is set to 32 days.
PRO OpenVidu Server Configuration:#
Info
Before deploying OpenVidu PRO, you need to create an OpenVidu account to get your license key. There's a 15-day free trial waiting for you!
openvidu:
license: <YOUR_OPENVIDU_PRO_LICENSE> # (1)
cluster_id: <YOUR_DOMAIN_NAME> # (2)
analytics: # (3)
enabled: true # (4)
interval: 10s # (5)
expiration: 768h # (6)
mongo_url: <MONGO_URL> # (7)
rtc:
engine: pion # (8)
mediasoup:
debug: "" # (9)
log_level: error # (10)
log_tags: [info, ice, rtp, rtcp, message] # (11)
- Specify your OpenVidu Pro license key. If you don't have one, you can request one here.
- The cluster ID for the OpenVidu deployment. It is configured by default by OpenVidu Installer with the domain name of the deployment.
- The
analytics
configuration should be defined at theopenvidu
level in thelivekit.yaml
file. - This must be set to
true
to send analytics data to MongoDB. If set tofalse
, no analytics data will be sent. - Time interval to send analytics data to MongoDB.
- Time to keep the analytics data in MongoDB. In this example, it is set to 32 days.
- MongoDB URL. This is the connection string to the MongoDB database where the analytics data will be stored.
- The
rtc.engine
parameter is set topion
by default. This is the WebRTC engine used by OpenVidu. Depending on your requirements, you can use:pion
mediasoup
- Global toggle to enable debugging logs from Mediasoup. In most debugging cases, using just an asterisk ("*") here is enough, but this can be fine-tuned for specific log levels. More info.
- Default is an empty string.
- Logging level for logs generated by Mediasoup. More info.
- Valid values are:
debug
,warn
,error
,none
. - Default is
error
.
- Valid values are:
- Comma-separated list of log tag names, for debugging. More info.
- Valid values are:
info
,ice
,dtls
,rtp
,srtp
,rtcp
,rtx
,bwe
,score
,simulcast
,svc
,sctp
,message
. - Default is
[info, ice, rtp, rtcp, message]
.
- Valid values are:
Other Services Configuration#
OpenVidu comes with other services configured to work in the deployment. These are the configuration files for each service:
Service | Description | Reference documentation |
---|---|---|
OpenVidu Server | Manage Rooms and Media Streams. | |
Ingress Service | Imports video from other sources into OpenVidu rooms. | LiveKit Ingress Config |
Egress Service | Exports video from OpenVidu rooms for recording or streaming. | LiveKit Egress Config |
Caddy Server | Serves OpenVidu services and handles HTTPS. | Caddy JSON Structure |
Grafana Service | Used for visualizing monitoring data. | Grafana Config |
Mimir Service | Service for long-term prometheus storage | Mimir Config |
Loki Service | Used for log aggregation. | Loki Config |
Prometheus Service | Used for monitoring. | Prometheus Config |
Promtail Service | Collects logs and sends them to Loki. | Promtail Config |