mirror of https://github.com/OpenVidu/openvidu.git
350 lines
17 KiB
Bash
350 lines
17 KiB
Bash
# OpenVidu configuration
|
|
# ----------------------
|
|
# Documentation: https://docs.openvidu.io/en/stable/reference-docs/openvidu-config/
|
|
|
|
# NOTE: This file doesn't need to quote assignment values, like most shells do.
|
|
# All values are stored as-is, even if they contain spaces, so don't quote them.
|
|
|
|
# Domain name. If you do not have one, the public IP of the machine.
|
|
# For example: 198.51.100.1, or openvidu.example.com
|
|
DOMAIN_OR_PUBLIC_IP=
|
|
|
|
# OpenVidu Pro License
|
|
OPENVIDU_PRO_LICENSE=
|
|
|
|
# OpenVidu SECRET used for apps to connect to OpenVidu server and users to access to OpenVidu Dashboard
|
|
OPENVIDU_SECRET=
|
|
|
|
# OpenVidu edition to use. Can be "pro" or "enterprise"
|
|
OPENVIDU_EDITION=pro
|
|
|
|
# Certificate type:
|
|
# - selfsigned: Self signed certificate. Not recommended for production use.
|
|
# Users will see an ERROR when connected to web page.
|
|
# - owncert: Valid certificate purchased in a Internet services company.
|
|
# Please put the certificates files inside folder ./owncert
|
|
# with names certificate.key and certificate.cert
|
|
# - letsencrypt: Generate a new certificate using letsencrypt. Please set the
|
|
# required contact email for Let's Encrypt in LETSENCRYPT_EMAIL
|
|
# variable.
|
|
CERTIFICATE_TYPE=selfsigned
|
|
|
|
# If CERTIFICATE_TYPE=letsencrypt, you need to configure a valid email for notifications
|
|
LETSENCRYPT_EMAIL=user@example.com
|
|
|
|
# Proxy configuration
|
|
# If you want to change the ports on which openvidu listens, uncomment the following lines
|
|
|
|
# Allows any request to http://DOMAIN_OR_PUBLIC_IP:HTTP_PORT/ to be automatically
|
|
# redirected to https://DOMAIN_OR_PUBLIC_IP:HTTPS_PORT/.
|
|
# WARNING: the default port 80 cannot be changed during the first boot
|
|
# if you have chosen to deploy with the option CERTIFICATE_TYPE=letsencrypt
|
|
# HTTP_PORT=80
|
|
|
|
# Changes the port of all services exposed by OpenVidu.
|
|
# SDKs, REST clients and browsers will have to connect to this port
|
|
# HTTPS_PORT=443
|
|
|
|
# Old paths are considered now deprecated, but still supported by default.
|
|
# OpenVidu Server will log a WARN message every time a deprecated path is called, indicating
|
|
# the new path that should be used instead. You can set property SUPPORT_DEPRECATED_API=false
|
|
# to stop allowing the use of old paths.
|
|
# Default value is true
|
|
# SUPPORT_DEPRECATED_API=false
|
|
|
|
# If true request to with www will be redirected to non-www requests
|
|
# Default value is false
|
|
# REDIRECT_WWW=false
|
|
|
|
# How many workers to configure in nginx proxy.
|
|
# The more workers, the more requests will be handled
|
|
# Default value is 10240
|
|
# WORKER_CONNECTIONS=10240
|
|
|
|
# Access restrictions
|
|
# In this section you will be able to restrict the IPs from which you can access to
|
|
# Openvidu API and the Administration Panel
|
|
# WARNING! If you touch this configuration you can lose access to the platform from some IPs.
|
|
# Use it carefully.
|
|
|
|
# This section limits access to the /dashboard (OpenVidu CE) and /inspector (OpenVidu Pro) pages.
|
|
# The form for a single IP or an IP range is:
|
|
# ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.1 and ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.0/24
|
|
# To limit multiple IPs or IP ranges, separate by commas like this:
|
|
# ALLOWED_ACCESS_TO_DASHBOARD=198.51.100.1, 198.51.100.0/24
|
|
# ALLOWED_ACCESS_TO_DASHBOARD=
|
|
|
|
# This section limits access to the Openvidu REST API.
|
|
# The form for a single IP or an IP range is:
|
|
# ALLOWED_ACCESS_TO_RESTAPI=198.51.100.1 and ALLOWED_ACCESS_TO_RESTAPI=198.51.100.0/24
|
|
# To limit multiple IPs or or IP ranges, separate by commas like this:
|
|
# ALLOWED_ACCESS_TO_RESTAPI=198.51.100.1, 198.51.100.0/24
|
|
# ALLOWED_ACCESS_TO_RESTAPI=
|
|
|
|
# Mode of cluster management. Can be auto (OpenVidu manages Media Nodes on its own.
|
|
# Parameter KMS_URIS is ignored) or manual (user must manage Media Nodes. Parameter
|
|
# KMS_URIS is used: if any uri is provided it must be valid)
|
|
OPENVIDU_PRO_CLUSTER_MODE=manual
|
|
|
|
# Which environment are you using
|
|
# Possibles values: aws, on_premise
|
|
OPENVIDU_PRO_CLUSTER_ENVIRONMENT=on_premise
|
|
|
|
# Unique identifier of your cluster. Each OpenVidu Server Pro instance corresponds to one cluster.
|
|
# You can launch as many clusters as you want with your license key.
|
|
# Cluster ID will always be stored to disk so restarting OpenVidu Server Pro will keep the same previous cluster ID
|
|
# if this configuration parameter is not given a distinct value.
|
|
# OPENVIDU_PRO_CLUSTER_ID=
|
|
|
|
# What parameter should be used to distribute the creation of new sessions
|
|
# (and therefore distribution of load) among all available Media Nodes
|
|
OPENVIDU_PRO_CLUSTER_LOAD_STRATEGY=streams
|
|
|
|
# Whether to enable or disable Network Quality API. You can monitor and
|
|
# warn users about the quality of their networks with this feature
|
|
# OPENVIDU_PRO_NETWORK_QUALITY=false
|
|
|
|
# If OPENVIDU_PRO_NETWORK_QUALITY=true, how often the network quality
|
|
# algorithm will be invoked for each user, in seconds
|
|
# OPENVIDU_PRO_NETWORK_QUALITY_INTERVAL=5
|
|
|
|
# If you want to use Elasticsearch and Kibana, this variable should be set to true.
|
|
OPENVIDU_PRO_ELASTICSEARCH=true
|
|
|
|
# Max days until delete indexes in state of rollover on Elasticsearch
|
|
# Type number >= 0
|
|
# Default Value is 7
|
|
# OPENVIDU_PRO_ELASTICSEARCH_MAX_DAYS_DELETE=
|
|
|
|
# If you have an external Elasticsearch and Kibana already running, put here the url to elasticsearch and kibana services.
|
|
# If you want to use the deployed Elasticsearch and Kibana locally, keep these variables commented.
|
|
#OPENVIDU_PRO_ELASTICSEARCH_HOST=
|
|
#OPENVIDU_PRO_KIBANA_HOST=
|
|
|
|
# Speech To Text service module to be enabled. Can be: [disabled, vosk, azure]
|
|
# Default is disabled
|
|
# OPENVIDU_PRO_SPEECH_TO_TEXT=disabled
|
|
|
|
# Speech To Text service module Docker image to be used in media nodes
|
|
# This parameter is empty by default, because the default image is the one provided by OpenVidu
|
|
# If defined, it will override the default image
|
|
# OPENVIDU_PRO_SPEECH_TO_TEXT_IMAGE=
|
|
|
|
# If OPENVIDU_PRO_SPEECH_TO_TEXT=azure, Azure key for the Speech To Text service.
|
|
# See https://azure.microsoft.com/en-us/products/cognitive-services/speech-to-text/
|
|
# OPENVIDU_PRO_SPEECH_TO_TEXT_AZURE_KEY=
|
|
|
|
# If OPENVIDU_PRO_SPEECH_TO_TEXT=azure, Azure region in which the Speech To Text service is located (e.g. 'westeurope').
|
|
# Default value is empty
|
|
# See https://azure.microsoft.com/en-us/products/cognitive-services/speech-to-text/"
|
|
# OPENVIDU_PRO_SPEECH_TO_TEXT_AZURE_REGION=
|
|
|
|
# Where to store recording files. Can be 'local' (local storage) or 's3' (AWS bucket).
|
|
# You will need to define a OPENVIDU_PRO_AWS_S3_BUCKET if you use it.
|
|
#OPENVIDU_PRO_RECORDING_STORAGE=
|
|
|
|
# S3 Bucket where to store recording files. May include paths to allow navigating
|
|
# folder structures inside the bucket. This property is only taken into account
|
|
# if OPENVIDU_PRO_RECORDING_STORAGE=s3
|
|
#OPENVIDU_PRO_AWS_S3_BUCKET=
|
|
|
|
# If OPENVIDU_PRO_RECORDING_STORAGE=s3, the collection of HTTP header values that the internal AWS client will use during
|
|
# the upload process. The property is a key-value map of strings, following the format of a JSON object. For example, for applying
|
|
# server-side encryption with AES-256, this header is mandatory: {"x-amz-server-side-encryption":"AES256"}.
|
|
# The list of available headers can be found here: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/Headers.html
|
|
# This property is only taken into account if OPENVIDU_PRO_RECORDING_STORAGE=s3
|
|
#OPENVIDU_PRO_AWS_S3_HEADERS=
|
|
|
|
# This property applies to OPENVIDU_PRO_RECORDING_STORAGE=s3 and/or OPENVIDU_PRO_SPEECH_TO_TEXT=aws.
|
|
# It is the AWS long-lived credentials access key. Depending on the service you have enabled:
|
|
# - OPENVIDU_PRO_RECORDING_STORAGE=s3: Must have read and write permissions over the bucket defined in property
|
|
# OPENVIDU_PRO_AWS_S3_BUCKET. In this case credentials are optional:
|
|
# if not provided the internal S3 client will try to use the default AWS credentials of the Master Node, if available
|
|
# - OPENVIDU_PRO_SPEECH_TO_TEXT=aws: Must have permissions to manage Amazon Transcribe services.
|
|
# In this case credentials are mandatory.
|
|
# OPENVIDU_PRO_AWS_ACCESS_KEY=
|
|
|
|
# This property applies to OPENVIDU_PRO_RECORDING_STORAGE=s3 and/or OPENVIDU_PRO_SPEECH_TO_TEXT=aws.
|
|
# It is the AWS long-lived credentials secret key. Depending on the service you have enabled:
|
|
# - OPENVIDU_PRO_RECORDING_STORAGE=s3: In this case credentials are optional: if not provided then the internal
|
|
# S3 client will try to use the default AWS credentials of the machine, if available.
|
|
# - OPENVIDU_PRO_SPEECH_TO_TEXT=aws: In this case credentials are mandatory.
|
|
# OPENVIDU_PRO_AWS_SECRET_KEY=
|
|
|
|
|
|
# This property applies to OPENVIDU_PRO_RECORDING_STORAGE=s3 and/or OPENVIDU_PRO_SPEECH_TO_TEXT=aws.
|
|
# It is the AWS region hosting the services. Depending on the service you have enabled:
|
|
# - OPENVIDU_PRO_RECORDING_STORAGE=s3: AWS region in which the S3 bucket is located (e.g. "eu-west-1").
|
|
# If not provided, the region will try to be discovered automatically, although this is not always possible.
|
|
# - OPENVIDU_PRO_SPEECH_TO_TEXT=aws: AWS region where Amazon Transcribe will operate. In this case the property is always mandatory.
|
|
#OPENVIDU_PRO_AWS_REGION=
|
|
|
|
# Whether to enable recording module or not
|
|
OPENVIDU_RECORDING=false
|
|
|
|
# Use recording module with debug mode.
|
|
OPENVIDU_RECORDING_DEBUG=false
|
|
|
|
# Openvidu Folder Record used for save the openvidu recording videos. Change it
|
|
# with the folder you want to use from your host.
|
|
OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings
|
|
|
|
# System path where OpenVidu Server should look for custom recording layouts
|
|
OPENVIDU_RECORDING_CUSTOM_LAYOUT=/opt/openvidu/custom-layout
|
|
|
|
# if true any client can connect to
|
|
# https://OPENVIDU_SERVER_IP:OPENVIDU_PORT/recordings/any_session_file.mp4
|
|
# and access any recorded video file. If false this path will be secured with
|
|
# OPENVIDU_SECRET param just as OpenVidu Server dashboard at
|
|
# https://OPENVIDU_SERVER_IP:OPENVIDU_PORT
|
|
# Values: true | false
|
|
OPENVIDU_RECORDING_PUBLIC_ACCESS=false
|
|
|
|
# Which users should receive the recording events in the client side
|
|
# (recordingStarted, recordingStopped). Can be all (every user connected to
|
|
# the session), publisher_moderator (users with role 'PUBLISHER' or
|
|
# 'MODERATOR'), moderator (only users with role 'MODERATOR') or none
|
|
# (no user will receive these events)
|
|
OPENVIDU_RECORDING_NOTIFICATION=publisher_moderator
|
|
|
|
# Timeout in seconds for recordings to automatically stop (and the session involved to be closed)
|
|
# when conditions are met: a session recording is started but no user is publishing to it or a session
|
|
# is being recorded and last user disconnects. If a user publishes within the timeout in either case,
|
|
# the automatic stop of the recording is cancelled
|
|
# 0 means no timeout
|
|
OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT=120
|
|
|
|
# Maximum video bandwidth sent from clients to OpenVidu Server, in kbps.
|
|
# 0 means unconstrained
|
|
OPENVIDU_STREAMS_VIDEO_MAX_RECV_BANDWIDTH=1000
|
|
|
|
# Minimum video bandwidth sent from clients to OpenVidu Server, in kbps.
|
|
# 0 means unconstrained
|
|
OPENVIDU_STREAMS_VIDEO_MIN_RECV_BANDWIDTH=300
|
|
|
|
# Maximum video bandwidth sent from OpenVidu Server to clients, in kbps.
|
|
# 0 means unconstrained
|
|
OPENVIDU_STREAMS_VIDEO_MAX_SEND_BANDWIDTH=1000
|
|
|
|
# Minimum video bandwidth sent from OpenVidu Server to clients, in kbps.
|
|
# 0 means unconstrained
|
|
OPENVIDU_STREAMS_VIDEO_MIN_SEND_BANDWIDTH=300
|
|
|
|
# All sessions of OpenVidu will try to force this codec. If OPENVIDU_STREAMS_ALLOW_TRANSCODING=true
|
|
# when a codec can not be forced, transcoding will be allowed
|
|
# Values: MEDIA_SERVER_PREFERRED, NONE, VP8, VP9, H264
|
|
# Default value is MEDIA_SERVER_PREFERRED
|
|
# OPENVIDU_STREAMS_FORCED_VIDEO_CODEC=MEDIA_SERVER_PREFERRED
|
|
|
|
# Allow transcoding if codec specified in OPENVIDU_STREAMS_FORCED_VIDEO_CODEC can not be applied
|
|
# Values: true | false
|
|
# Default value is false
|
|
# OPENVIDU_STREAMS_ALLOW_TRANSCODING=false
|
|
|
|
# Use Simulcast video on WebRTC Publishers.
|
|
# Senders will encode duplicate video streams with different qualities,
|
|
# so the media server is able to select the most appropriate quality stream
|
|
# for each Subscriber.
|
|
# This setting is honored only if OpenVidu Server was configured to use the
|
|
# mediasoup media server. Otherwise, Simulcast will be disabled.
|
|
# Values: true | false
|
|
# Default: false
|
|
#OPENVIDU_WEBRTC_SIMULCAST=false
|
|
|
|
# Send openvidu-browser logs of clients to Elasticsearch
|
|
# Possible values:
|
|
# - disabled: Don't send logs. (default)
|
|
# - debug: Send all openvidu-browser logs
|
|
# - debug_app: Send openvidu-browser logs and frontend app logs
|
|
# OPENVIDU_BROWSER_LOGS=disabled
|
|
|
|
# true to enable OpenVidu Webhook service. false' otherwise
|
|
# Values: true | false
|
|
OPENVIDU_WEBHOOK=false
|
|
|
|
# HTTP endpoint where OpenVidu Server will send Webhook HTTP POST messages
|
|
# Must be a valid URL: http(s)://ENDPOINT
|
|
#OPENVIDU_WEBHOOK_ENDPOINT=
|
|
|
|
# List of headers that OpenVidu Webhook service will attach to HTTP POST messages
|
|
#OPENVIDU_WEBHOOK_HEADERS=
|
|
|
|
# List of events that will be sent by OpenVidu Webhook service
|
|
# Default value is all available events
|
|
OPENVIDU_WEBHOOK_EVENTS=[sessionCreated,sessionDestroyed,participantJoined,participantLeft,webrtcConnectionCreated,webrtcConnectionDestroyed,recordingStatusChanged,filterEventDispatched,mediaNodeStatusChanged,nodeCrashed,nodeRecovered,broadcastStarted,broadcastStopped]
|
|
|
|
# How often the garbage collector of non active sessions runs.
|
|
# This helps cleaning up sessions that have been initialized through
|
|
# REST API (and maybe tokens have been created for them) but have had no users connected.
|
|
# Default to 900s (15 mins). 0 to disable non active sessions garbage collector
|
|
OPENVIDU_SESSIONS_GARBAGE_INTERVAL=900
|
|
|
|
# Minimum time in seconds that a non active session must have been in existence
|
|
# for the garbage collector of non active sessions to remove it. Default to 3600s (1 hour).
|
|
# If non active sessions garbage collector is disabled
|
|
# (property 'OPENVIDU_SESSIONS_GARBAGE_INTERVAL' to 0) this property is ignored
|
|
OPENVIDU_SESSIONS_GARBAGE_THRESHOLD=3600
|
|
|
|
# Call Detail Record enabled
|
|
# Whether to enable Call Detail Record or not
|
|
# Values: true | false
|
|
OPENVIDU_CDR=false
|
|
|
|
# Path where the cdr log files are hosted
|
|
OPENVIDU_CDR_PATH=/opt/openvidu/cdr
|
|
|
|
# Openvidu Server Level logs
|
|
# --------------------------
|
|
# Uncomment the next line and define this variable to change
|
|
# the verbosity level of the logs of Openvidu Service
|
|
# RECOMENDED VALUES: INFO for normal logs DEBUG for more verbose logs
|
|
# OV_CE_DEBUG_LEVEL=INFO
|
|
|
|
# OpenVidu Java Options
|
|
# --------------------------
|
|
# Uncomment the next line and define this to add options to java command
|
|
# Documentation: https://docs.oracle.com/cd/E37116_01/install.111210/e23737/configuring_jvm.htm#OUDIG00058
|
|
# JAVA_OPTIONS=-Xms2048m -Xmx4096m
|
|
|
|
# ElasticSearch Java Options
|
|
# --------------------------
|
|
# Uncomment the next line and define this to add options to java command of Elasticsearch
|
|
# Documentation: https://docs.oracle.com/cd/E37116_01/install.111210/e23737/configuring_jvm.htm#OUDIG00058
|
|
# By default ElasticSearch is configured to use "-Xms2g -Xmx2g" as Java Min and Max memory heap allocation
|
|
# ES_JAVA_OPTS=-Xms2048m -Xmx4096m
|
|
|
|
# Kibana And ElasticSearch Credentials Configuration
|
|
# --------------------------
|
|
# Kibana And ElasticSearch Basic Auth configuration (Credentials)
|
|
# This credentials will aso be valid for Kibana dashboard
|
|
ELASTICSEARCH_USERNAME=elasticadmin
|
|
ELASTICSEARCH_PASSWORD=
|
|
|
|
# Media Node Configuration
|
|
# --------------------------
|
|
# You can add any KMS environment variable as described in the
|
|
# documentation of the docker image: https://hub.docker.com/r/kurento/kurento-media-server
|
|
# If you want to add an environment variable to KMS, you must add a variable using this prefix: 'KMS_DOCKER_ENV_',
|
|
# followed by the environment variable you want to setup.
|
|
# For example if you want to setup KMS_MIN_PORT to 50000, it would be KMS_DOCKER_ENV_KMS_MIN_PORT=50000
|
|
|
|
# Docker hub kurento media server: https://hub.docker.com/r/kurento/kurento-media-server
|
|
# Uncomment the next line and define this variable with KMS image that you want use
|
|
# By default, KMS_IMAGE is defined in media nodes and it does not need to be specified unless
|
|
# you want to use a specific version of KMS
|
|
# KMS_IMAGE=kurento/kurento-media-server:7.1.1
|
|
|
|
# Uncomment the next line and define this variable to change
|
|
# the verbosity level of the logs of KMS
|
|
# Documentation: https://doc-kurento.readthedocs.io/en/stable/features/logging.html
|
|
# KMS_DOCKER_ENV_GST_DEBUG=
|
|
|
|
# Private Docker registries for custom images
|
|
# --------------------------
|
|
# By default OpenVidu PRO/Enterprise uses the public Docker Hub registry to pull the images,
|
|
# but if you want to use a private registry, you can define your own repository and credentials
|
|
# in this environment variable.
|
|
# You can define as many registries as you want, each repository must be separated by a comma.
|
|
# The format of the variable is: OPENVIDU_PRO_DOCKER_REGISTRIES=["serveraddress=yourserver.com,username=user,password=pass"]
|
|
# OPENVIDU_PRO_DOCKER_REGISTRIES=
|