# 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 SECRET used for apps to connect to OpenVidu server and users to access to OpenVidu Dashboard OPENVIDU_SECRET= # 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 # 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= # 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 # 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] # 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 # Kurento Media Server image # -------------------------- # Docker hub kurento media server: https://hub.docker.com/r/kurento/kurento-media-server-dev # Uncomment the next line and define this variable with KMS image that you want use # KMS_IMAGE=kurento/kurento-media-server-dev:6.14.0 # Kurento Media Server Level logs # ------------------------------- # 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_DEBUG_LEVEL=3,Kurento*:4,kms*:4,sdp*:4,webrtc*:4,*rtpendpoint:4,rtp*handler:4,rtpsynchronizer:4,agnosticbin:4 # 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 # 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 -Duser.timezone=UTC