# ------------------------------------------------------------------------------ # # DO NOT MODIFY THIS FILE !!! # # Configuration properties should be specified in .env file # # This docker-compose file coordinates all needed services by OpenVidu Enterprise HA # # This file will be overridden when updating OpenVidu Enterprise HA # # Openvidu Version: 2.31.0 # # Installation Mode: On Premises # # ------------------------------------------------------------------------------ version: '3.1' services: loadbalancer: image: openvidu/openvidu-proxy:2.31.0 restart: always 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}:/opt/openvidu/custom-layout ports: # Nginx letsencrypt port - "${HTTP_PORT:-80}:${HTTP_PORT:-80}" # External Load Balancer port - "${HTTPS_PORT:-443}:${HTTPS_PORT:-443}" # Internal Load Balancer port - 5443:5443 environment: - DOMAIN_OR_PUBLIC_IP=${DOMAIN_OR_PUBLIC_IP} - CERTIFICATE_TYPE=${CERTIFICATE_TYPE} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} - OPENVIDU_ENTERPRISE_HA_NODE_IPS=${OPENVIDU_ENTERPRISE_HA_NODE_IPS} - 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=ENTERPRISE_HA - WITH_APP=true - 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}" minio-s3: image: minio/minio:RELEASE.2023-01-06T18-11-18Z restart: always environment: - MINIO_ACCESS_KEY=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_ACCESS_KEY} - MINIO_SECRET_KEY=${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_SECRET_KEY} - MINIO_BROWSER_REDIRECT_URL=https://${DOMAIN_OR_PUBLIC_IP}:${HTTPS_PORT:-443}/minio/ - CONSOLE_SUBPATH=/minio/ volumes: - ./minio-s3:/data ports: - "9000:9000" - "9001:9001" command: server --console-address ":9001" /data logging: options: max-size: "${DOCKER_LOGS_MAX_SIZE:-100M}" createbuckets: image: minio/mc:RELEASE.2022-12-24T15-21-38Z depends_on: - minio-s3 entrypoint: > /bin/sh -c " /usr/bin/mc config host add openvidu-minio \ http://minio-s3:9000 \ '${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_ACCESS_KEY}' \ '${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_SECRET_KEY}'; /usr/bin/mc mb 'openvidu-minio/${OPENVIDU_ENTERPRISE_HA_S3_CONFIG_BUCKET}'; exit 0; " redis: image: redis:7.0.8-alpine restart: always ports: - "${OPENVIDU_ENTERPRISE_HA_REDIS_PORT:-6379}:${OPENVIDU_ENTERPRISE_HA_REDIS_PORT:-6379}" command: /bin/sh -c "redis-server --bind 0.0.0.0 --port ${OPENVIDU_ENTERPRISE_HA_REDIS_PORT:-6379} --requirepass ${OPENVIDU_ENTERPRISE_HA_REDIS_PASSWORD}" 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}"