2022-10-04 10:30:45 +02:00
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
#
|
|
|
|
# DO NOT MODIFY THIS FILE !!!
|
|
|
|
#
|
|
|
|
# Configuration properties should be specified in .env file
|
|
|
|
#
|
|
|
|
# Application based on OpenVidu should be specified in
|
|
|
|
# docker-compose.override.yml file
|
|
|
|
#
|
|
|
|
# This docker-compose file coordinates all services of OpenVidu Pro Platform
|
|
|
|
#
|
|
|
|
# This file will be overridden when update OpenVidu Platform
|
|
|
|
#
|
2022-12-22 13:28:43 +01:00
|
|
|
# Openvidu Version: 2.25.0
|
2022-10-04 10:30:45 +02:00
|
|
|
#
|
|
|
|
# Installation Mode: OpenVidu PRO On Premises - Mono Node
|
|
|
|
#
|
|
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
version: '3.1'
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
|
|
|
openvidu-server:
|
2022-12-22 13:28:43 +01:00
|
|
|
image: openvidu/openvidu-server-pro:2.25.0
|
2022-10-04 10:30:45 +02:00
|
|
|
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=[]
|
|
|
|
- COTURN_IP=${COTURN_IP:-auto-ipv4}
|
|
|
|
- COTURN_PORT=${COTURN_PORT:-3478}
|
|
|
|
- OPENVIDU_PRO_CLUSTER=true
|
2023-03-08 17:57:52 +01:00
|
|
|
- OPENVIDU_PRO_ELASTICSEARCH_ENABLED=${OPENVIDU_PRO_ELASTICSEARCH_ENABLED:-true}
|
2022-10-04 10:30:45 +02:00
|
|
|
- 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}
|
|
|
|
- WAIT_KIBANA_URL=${OPENVIDU_PRO_KIBANA_HOST:-http://127.0.0.1/kibana}
|
|
|
|
- DOTENV_PATH=${PWD}
|
|
|
|
- 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}
|
|
|
|
- COTURN_INTERNAL_RELAY=true
|
|
|
|
- KMS_URIS=["ws://127.0.0.1:8888/kurento"]
|
|
|
|
logging:
|
|
|
|
options:
|
|
|
|
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
|
|
|
|
|
2022-10-13 12:09:36 +02:00
|
|
|
coturn:
|
2022-12-22 13:28:43 +01:00
|
|
|
image: openvidu/openvidu-coturn:2.25.0
|
2022-10-13 12:09:36 +02:00
|
|
|
restart: on-failure
|
|
|
|
env_file:
|
|
|
|
- .env
|
|
|
|
ports:
|
|
|
|
- 3478:3478/tcp
|
|
|
|
- 3478:3478/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:-3478}
|
|
|
|
- --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}"
|
|
|
|
|
2022-10-04 10:30:45 +02:00
|
|
|
nginx:
|
2022-12-22 13:28:43 +01:00
|
|
|
image: openvidu/openvidu-proxy:2.25.0
|
2022-10-04 10:30:45 +02:00
|
|
|
restart: always
|
|
|
|
network_mode: host
|
|
|
|
volumes:
|
|
|
|
- ./certificates:/etc/letsencrypt
|
|
|
|
- ./owncert:/owncert
|
|
|
|
- ./custom-nginx-vhosts:/etc/nginx/vhost.d/
|
|
|
|
- ./custom-nginx-locations:/custom-nginx-locations
|
|
|
|
- ${OPENVIDU_RECORDING_CUSTOM_LAYOUT}:/opt/openvidu/custom-layout
|
|
|
|
environment:
|
|
|
|
- DOMAIN_OR_PUBLIC_IP=${DOMAIN_OR_PUBLIC_IP}
|
|
|
|
- CERTIFICATE_TYPE=${CERTIFICATE_TYPE}
|
|
|
|
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
|
|
|
|
- PROXY_HTTP_PORT=${HTTP_PORT:-}
|
|
|
|
- PROXY_HTTPS_PORT=${HTTPS_PORT:-}
|
|
|
|
- PROXY_HTTPS_PROTOCOLS=${HTTPS_PROTOCOLS:-}
|
|
|
|
- PROXY_HTTPS_CIPHERS=${HTTPS_CIPHERS:-}
|
|
|
|
- PROXY_HTTPS_HSTS=${HTTPS_HSTS:-}
|
|
|
|
- ALLOWED_ACCESS_TO_DASHBOARD=${ALLOWED_ACCESS_TO_DASHBOARD:-}
|
|
|
|
- ALLOWED_ACCESS_TO_RESTAPI=${ALLOWED_ACCESS_TO_RESTAPI:-}
|
|
|
|
- PROXY_MODE=PRO
|
|
|
|
- WITH_APP=true
|
|
|
|
- SUPPORT_DEPRECATED_API=${SUPPORT_DEPRECATED_API:-false}
|
|
|
|
- REDIRECT_WWW=${REDIRECT_WWW:-false}
|
|
|
|
- WORKER_CONNECTIONS=${WORKER_CONNECTIONS:-10240}
|
|
|
|
- PUBLIC_IP=${PROXY_PUBLIC_IP:-auto-ipv4}
|
|
|
|
logging:
|
|
|
|
options:
|
|
|
|
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
|
|
|
|
|
|
|
|
|
|
|
|
elasticsearch:
|
|
|
|
image: openvidu/openvidu-elasticsearch:7.8.0
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- discovery.type=single-node
|
|
|
|
- xpack.security.enabled=true
|
|
|
|
- "ES_JAVA_OPTS=${ES_JAVA_OPTS:--Xms2g -Xmx2g}"
|
|
|
|
ports:
|
|
|
|
- 9200:9200
|
|
|
|
volumes:
|
|
|
|
- ./elasticsearch:/usr/share/elasticsearch/data
|
|
|
|
command: >
|
|
|
|
/bin/bash -c "elasticsearch-users useradd ${ELASTICSEARCH_USERNAME}
|
|
|
|
-p ${ELASTICSEARCH_PASSWORD} -r superuser;
|
|
|
|
elasticsearch-users passwd ${ELASTICSEARCH_USERNAME} -p ${ELASTICSEARCH_PASSWORD};
|
|
|
|
docker-entrypoint.sh"
|
|
|
|
logging:
|
|
|
|
options:
|
|
|
|
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
|
|
|
|
|
|
|
|
kibana:
|
|
|
|
image: docker.elastic.co/kibana/kibana:7.8.0
|
|
|
|
restart: always
|
|
|
|
environment:
|
|
|
|
- SERVER_BASEPATH="/kibana"
|
|
|
|
- xpack.security.enabled=true
|
|
|
|
- ELASTICSEARCH_USERNAME=${ELASTICSEARCH_USERNAME}
|
|
|
|
- ELASTICSEARCH_PASSWORD=${ELASTICSEARCH_PASSWORD}
|
|
|
|
ports:
|
|
|
|
- 5601:5601
|
|
|
|
logging:
|
|
|
|
options:
|
|
|
|
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
|
|
|
|
|
|
|
|
media-node-controller:
|
2022-12-22 13:28:43 +01:00
|
|
|
image: openvidu/media-node-controller:2.25.0
|
2022-10-04 10:30:45 +02:00
|
|
|
restart: always
|
|
|
|
ulimits:
|
|
|
|
core: -1
|
|
|
|
environment:
|
2022-10-07 13:54:33 +02:00
|
|
|
- MEDIA_NODE_CONTROLLER_RECORDINGS_PATH=/opt/openvidu/mncontroller/recordings
|
2022-10-04 10:30:45 +02:00
|
|
|
- KMS_IMAGE=kurento/kurento-media-server:6.18.0
|
2022-12-22 13:28:43 +01:00
|
|
|
- MEDIASOUP_IMAGE=openvidu/mediasoup-controller:2.25.0
|
2022-10-04 10:30:45 +02:00
|
|
|
- METRICBEAT_IMAGE=docker.elastic.co/beats/metricbeat-oss:7.8.0
|
|
|
|
- FILEBEAT_IMAGE=docker.elastic.co/beats/filebeat-oss:7.8.0
|
2022-12-22 13:28:43 +01:00
|
|
|
- OPENVIDU_RECORDING_IMAGE=openvidu/openvidu-recording:2.25.0
|
|
|
|
- SPEECH_TO_TEXT_IMAGE=openvidu/speech-to-text-service:2.25.0
|
|
|
|
- COTURN_IMAGE=openvidu/openvidu-coturn:2.25.0
|
2022-10-04 10:30:45 +02:00
|
|
|
- NO_COLOR=true
|
|
|
|
ports:
|
|
|
|
- 3000:3000
|
|
|
|
volumes:
|
2022-10-07 13:54:33 +02:00
|
|
|
- /opt/openvidu/mncontroller/recordings:/opt/openvidu/mncontroller/recordings
|
2022-10-04 10:30:45 +02:00
|
|
|
- /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"
|