openvidu/openvidu-server/deployments/enterprise-ha/docker-compose/node/docker-compose.yml

155 lines
7.2 KiB
YAML
Raw Normal View History

# ------------------------------------------------------------------------------
#
# DO NOT MODIFY THIS FILE !!!
#
# Configuration properties should be specified in .env file
#
# This docker-compose file coordinates all services of OpenVidu Enterprise HA Node
#
# This file will be overridden when update OpenVidu Enterprise HA Node
#
# Openvidu Version: 2.30.0
#
# Installation Mode: On Premises
#
# ------------------------------------------------------------------------------
version: '3.1'
services:
openvidu-server:
image: openvidu/openvidu-server-pro:2.30.0
container_name: openvidu-server
restart: on-failure
network_mode: host
entrypoint: ['/usr/local/bin/entrypoint.sh']
volumes:
- ./coturn:/run/secrets/coturn
- /var/run/docker.sock:/var/run/docker.sock
- ${OPENVIDU_RECORDING_PATH}:${OPENVIDU_RECORDING_PATH}
- ${OPENVIDU_RECORDING_CUSTOM_LAYOUT}:${OPENVIDU_RECORDING_CUSTOM_LAYOUT}
- ${OPENVIDU_CDR_PATH}:${OPENVIDU_CDR_PATH}
- ./cluster:/opt/openvidu/cluster
- .env:${PWD}/.env
env_file:
- .env
environment:
- SERVER_SSL_ENABLED=false
- SERVER_PORT=5443
- KMS_URIS=[]
- OPENVIDU_WEBHOOK=false
- OPENVIDU_WEBHOOK_ENDPOINT=http://127.0.0.1:7777/webhook
- MULTI_MASTER_REPLICATION_MANAGER_WEBHOOK=http://127.0.0.1:4443/openvidu/replication-manager-webhook?OPENVIDU_SECRET=${OPENVIDU_SECRET}
- COTURN_IP=${COTURN_IP:-auto-ipv4}
- COTURN_PORT=${COTURN_PORT:-443}
- OPENVIDU_PRO_CLUSTER=true
- OPENVIDU_EDITION=enterprise
- OPENVIDU_PRO_CLUSTER_ENVIRONMENT=${OPENVIDU_PRO_CLUSTER_ENVIRONMENT:-on_premise}
- OPENVIDU_PRO_CLUSTER_MODE=manual
- OPENVIDU_PRO_CLUSTER_AUTOSCALING=false
- OPENVIDU_PRO_RECORDING_STORAGE=${OPENVIDU_PRO_RECORDING_STORAGE:-s3}
- OPENVIDU_PRO_AWS_S3_WITH_PATH_STYLE_ACCESS=${OPENVIDU_PRO_AWS_S3_WITH_PATH_STYLE_ACCESS:-true}
- OPENVIDU_PRO_ELASTICSEARCH=${OPENVIDU_PRO_ELASTICSEARCH:-true}
- OPENVIDU_PRO_KIBANA_HOST=${OPENVIDU_PRO_KIBANA_HOST:-http://127.0.0.1/kibana}
- OPENVIDU_PRO_ELASTICSEARCH_HOST=${OPENVIDU_PRO_ELASTICSEARCH_HOST:-http://127.0.0.1:9200}
- OPENVIDU_PRO_COTURN_IN_MEDIA_NODES=${OPENVIDU_PRO_COTURN_IN_MEDIA_NODES:-false}
- OPENVIDU_PRO_COTURN_PORT_MEDIA_NODES=${OPENVIDU_PRO_COTURN_PORT_MEDIA_NODES:-443}
- OPENVIDU_PRO_MEDIA_NODE_PUBLIC_IP_AUTODISCOVER=${OPENVIDU_PRO_MEDIA_NODE_PUBLIC_IP_AUTODISCOVER:-auto-ipv4}
- OPENVIDU_PRO_CLUSTER_RECONNECTION_TIMEOUT=60
- WAIT_KIBANA_URL=${OPENVIDU_PRO_KIBANA_HOST:-http://127.0.0.1/kibana}
- MULTI_MASTER_NODE_ID=${OPENVIDU_ENTERPRISE_HA_NODE_PRIVATE_IP}
- DOTENV_PATH=${PWD}
- SUPPORT_DEPRECATED_API=false
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
replication-manager:
image: openvidu/replication-manager-on-prem:2.30.0
container_name: replication-manager
restart: always
network_mode: host
volumes:
- ./:/opt/openvidu
- /var/run/docker.sock:/var/run/docker.sock
environment:
- SERVER_PORT=4443
- SERVER_SSL_ENABLED=false
- OPENVIDU_SECRET=${OPENVIDU_SECRET}
- LOCAL_OPENVIDU_SERVER_URI=http://127.0.0.1:5443/
- OPENVIDU_PRO_CLUSTER_ENVIRONMENT=${OPENVIDU_PRO_CLUSTER_ENVIRONMENT:-on_premise}
- OPENVIDU_PRO_LICENSE=${OPENVIDU_PRO_LICENSE:-}
- OPENVIDU_ENTERPRISE_MEDIA_SERVER=${OPENVIDU_ENTERPRISE_MEDIA_SERVER:-}
- OPENVIDU_ENTERPRISE_HA_REDIS_HOST=${OPENVIDU_ENTERPRISE_HA_REDIS_HOST}
- OPENVIDU_ENTERPRISE_HA_REDIS_PORT=${OPENVIDU_ENTERPRISE_HA_REDIS_PORT}
- OPENVIDU_ENTERPRISE_HA_REDIS_PASSWORD=${OPENVIDU_ENTERPRISE_HA_REDIS_PASSWORD}
- REDIS_TIMEOUT=5
- REDIS_DB=replicationmanager
- OPENVIDU_ENTERPRISE_HA_NODE_PRIVATE_IP=${OPENVIDU_ENTERPRISE_HA_NODE_PRIVATE_IP}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_SERVICE_ENDPOINT=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_SERVICE_ENDPOINT}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_BUCKET=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_BUCKET}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_REGION=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_REGION:-}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_ACCESS_KEY=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_ACCESS_KEY:-}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_SECRET_KEY=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_SECRET_KEY:-}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_PATH_STYLE_ACCESS=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_PATH_STYLE_ACCESS:-true}
- OPENVIDU_ENTERPRISE_HA_S3_CONFIG_HEADERS=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_HEADERS:-}
- OPENVIDU_ENTERPRISE_S3_CONFIG_AUTORESTART=${OPENVIDU_ENTERPRISE_S3_CONFIG_AUTORESTART:-true}
- INITIAL_CONFIG_SYNC=${INITIAL_CONFIG_SYNC:-false}
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
coturn:
image: openvidu/openvidu-coturn:2.30.0
restart: on-failure
env_file:
- .env
ports:
- 443:443/tcp
- 443:443/udp
environment:
- COTURN_INTERNAL_RELAY=${COTURN_INTERNAL_RELAY:-true}
volumes:
- ./coturn:/run/secrets/coturn
command:
- --log-file=stdout
- --external-ip=$$(detect-external-ip)
- --listening-port=${COTURN_PORT:-443}
- --fingerprint
- --min-port=${COTURN_MIN_PORT:-40000}
- --max-port=${COTURN_MAX_PORT:-65535}
- --realm=openvidu
- --verbose
- --use-auth-secret
- --static-auth-secret=$${COTURN_SHARED_SECRET_KEY}
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
media-node-controller:
image: openvidu/media-node-controller:2.30.0
restart: always
ulimits:
core: -1
environment:
- MEDIA_NODE_CONTROLLER_RECORDINGS_PATH=/opt/openvidu/mncontroller/recordings
- KMS_IMAGE=kurento/kurento-media-server:7.1.1
- MEDIASOUP_IMAGE=openvidu/mediasoup-controller:2.30.0
- METRICBEAT_IMAGE=docker.elastic.co/beats/metricbeat-oss:7.8.0
- FILEBEAT_IMAGE=docker.elastic.co/beats/filebeat-oss:7.8.0
- OPENVIDU_RECORDING_IMAGE=openvidu/openvidu-recording:2.30.0
- COTURN_IMAGE=openvidu/openvidu-coturn:2.30.0
- SPEECH_TO_TEXT_IMAGE=openvidu/speech-to-text-service:2.30.0
- NO_COLOR=true
ports:
- 3000:3000
volumes:
- /opt/openvidu/mncontroller/recordings:/opt/openvidu/mncontroller/recordings
- /opt/openvidu/beats:/opt/openvidu/beats
- /var/run/docker.sock:/var/run/docker.sock
- /opt/openvidu/kurento-logs:/opt/openvidu/kurento-logs
- ./beats:/beats
logging:
options:
max-size: "100M"