openvidu/openvidu-server/deployments/pro/docker-compose/openvidu-server-pro/docker-compose.yml

181 lines
6.6 KiB
YAML
Raw Normal View History

2020-03-30 18:55:06 +02:00
# ------------------------------------------------------------------------------
#
# DO NOT MODIFY THIS FILE !!!
#
# Configuration properties should be specified in .env file
#
2020-04-06 11:59:05 +02:00
# Application based on OpenVidu should be specified in
2020-03-30 18:55:06 +02:00
# docker-compose.override.yml file
#
2020-11-06 16:46:08 +01:00
# This docker-compose file coordinates all services of OpenVidu Pro Platform
2020-03-30 18:55:06 +02:00
#
# This file will be overridden when update OpenVidu Platform
#
2020-11-12 16:36:15 +01:00
# Openvidu Version: 2.16.0
2020-05-05 18:01:08 +02:00
#
# Installation Mode: On Premises
#
2020-03-30 18:55:06 +02:00
# ------------------------------------------------------------------------------
2020-03-24 12:08:36 +01:00
version: '3.1'
services:
2020-03-30 18:55:06 +02:00
openvidu-server:
image: openvidu/openvidu-server-pro:2.17.0-dev2
restart: on-failure
network_mode: host
entrypoint: ['/usr/local/bin/entrypoint.sh']
2020-03-24 17:18:37 +01:00
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${OPENVIDU_RECORDING_PATH}:${OPENVIDU_RECORDING_PATH}
2020-04-16 10:41:32 +02:00
- ${OPENVIDU_RECORDING_CUSTOM_LAYOUT}:${OPENVIDU_RECORDING_CUSTOM_LAYOUT}
- ${OPENVIDU_CDR_PATH}:${OPENVIDU_CDR_PATH}
- ./cluster:/opt/openvidu/cluster
- .env:${PWD}/.env
2020-04-06 11:59:05 +02:00
env_file:
- .env
2020-03-24 12:32:48 +01:00
environment:
- SERVER_SSL_ENABLED=false
- SERVER_PORT=5443
- KMS_URIS=[]
- COTURN_REDIS_IP=127.0.0.1
2020-05-13 16:25:53 +02:00
- COTURN_REDIS_PASSWORD=${OPENVIDU_SECRET}
- COTURN_IP=${COTURN_IP:-auto-ipv4}
- OPENVIDU_PRO_CLUSTER=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}
- WAIT_KIBANA_URL=${OPENVIDU_PRO_KIBANA_HOST:-http://127.0.0.1/kibana}
- DOTENV_PATH=${PWD}
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
2020-03-24 12:32:48 +01:00
2020-03-29 01:10:10 +01:00
redis:
image: openvidu/openvidu-redis:2.0.0-dev2
2020-04-16 11:53:32 +02:00
restart: always
network_mode: host
2020-05-13 16:25:53 +02:00
environment:
- REDIS_PASSWORD=${OPENVIDU_SECRET}
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
2020-03-24 12:08:36 +01:00
2020-03-29 01:10:10 +01:00
coturn:
image: openvidu/openvidu-coturn:3.0.0-dev2
restart: on-failure
2020-03-24 12:08:36 +01:00
network_mode: host
environment:
- REDIS_IP=127.0.0.1
2020-03-24 12:08:36 +01:00
- TURN_LISTEN_PORT=3478
- DB_NAME=0
2020-05-13 16:25:53 +02:00
- DB_PASSWORD=${OPENVIDU_SECRET}
- MIN_PORT=40000
2020-03-24 12:08:36 +01:00
- MAX_PORT=65535
- TURN_PUBLIC_IP=${TURN_PUBLIC_IP:-auto-ipv4}
- ENABLE_COTURN_LOGS=true
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
2020-04-06 11:59:05 +02:00
2020-03-29 01:10:10 +01:00
nginx:
image: openvidu/openvidu-proxy:5.0.0-dev2
restart: on-failure
2020-03-24 12:08:36 +01:00
network_mode: host
volumes:
2020-03-27 13:21:26 +01:00
- ./certificates:/etc/letsencrypt
- ./owncert:/owncert
- ./custom-nginx-vhosts:/etc/nginx/vhost.d/
2020-04-20 18:45:56 +02:00
- ${OPENVIDU_RECORDING_CUSTOM_LAYOUT}:/opt/openvidu/custom-layout
2020-04-06 11:59:05 +02:00
environment:
- DOMAIN_OR_PUBLIC_IP=${DOMAIN_OR_PUBLIC_IP}
- CERTIFICATE_TYPE=${CERTIFICATE_TYPE}
- LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL}
2020-04-29 11:12:10 +02:00
- PROXY_HTTP_PORT=${HTTP_PORT:-}
- PROXY_HTTPS_PORT=${HTTPS_PORT:-}
2020-04-30 11:02:50 +02:00
- ALLOWED_ACCESS_TO_DASHBOARD=${ALLOWED_ACCESS_TO_DASHBOARD:-}
- ALLOWED_ACCESS_TO_RESTAPI=${ALLOWED_ACCESS_TO_RESTAPI:-}
- PROXY_MODE=PRO
2020-05-04 13:35:21 +02:00
- WITH_APP=true
- SUPPORT_DEPRECATED_API=${SUPPORT_DEPRECATED_API:-true}
2020-11-01 21:03:12 +01:00
- 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: docker.elastic.co/elasticsearch/elasticsearch:7.8.0
restart: always
environment:
- discovery.type=single-node
- xpack.security.enabled=true
2020-11-05 16:30:34 +01:00
- "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;
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}"
2020-11-12 10:23:46 +01:00
metricbeat:
image: docker.elastic.co/beats/metricbeat-oss:7.8.0
network_mode: host
restart: always
user: root
env_file:
- .env
environment:
- OPENVIDU_PRO_ELASTICSEARCH_HOST=${OPENVIDU_PRO_ELASTICSEARCH_HOST:-http://127.0.0.1:9200}
volumes:
- ./beats/metricbeat.yml:/usr/share/metricbeat/metricbeat.yml:ro
command: >
/bin/bash -c "metricbeat -e -strict.perms=false
`if [ ! -z $ELASTICSEARCH_USERNAME ]; then echo '-E output.elasticsearch.username=$ELASTICSEARCH_USERNAME'; fi`
`if [ ! -z $ELASTICSEARCH_PASSWORD ]; then echo '-E output.elasticsearch.password=$ELASTICSEARCH_PASSWORD'; fi`"
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"
filebeat:
image: docker.elastic.co/beats/filebeat-oss:7.8.0
network_mode: host
restart: always
user: root
env_file:
- .env
environment:
- OPENVIDU_PRO_ELASTICSEARCH_HOST=${OPENVIDU_PRO_ELASTICSEARCH_HOST:-http://127.0.0.1:9200}
volumes:
- ./beats/filebeat.yml:/usr/share/filebeat/filebeat.yml:ro
- /var/lib/docker:/var/lib/docker:ro
- /var/run/docker.sock:/var/run/docker.sock
command: >
/bin/bash -c "filebeat -e -strict.perms=false
`if [ ! -z $ELASTICSEARCH_USERNAME ]; then echo '-E output.elasticsearch.username=$ELASTICSEARCH_USERNAME'; fi`
`if [ ! -z $ELASTICSEARCH_PASSWORD ]; then echo '-E output.elasticsearch.password=$ELASTICSEARCH_PASSWORD'; fi`"
logging:
options:
max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}"