diff --git a/openvidu-server/docker/openvidu-docker-compose/.env b/openvidu-server/docker/openvidu-docker-compose/.env index 8cd6af92..880e869a 100644 --- a/openvidu-server/docker/openvidu-docker-compose/.env +++ b/openvidu-server/docker/openvidu-docker-compose/.env @@ -5,8 +5,6 @@ # 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. - - # OpenVidu SECRET used for apps to connect to OpenVidu server and users to access to OpenVidu Dashboard OPENVIDU_SECRET= @@ -14,9 +12,98 @@ OPENVIDU_SECRET= # For example: 198.51.100.1, or openvidu.example.com OPENVIDU_DOMAIN_OR_PUBLIC_IP= +# Parameter "openvidu.recording.path" # Openvidu Folder Record used for save the openvidu recording videos. Change it # with the folder you want to use from your host. -OPENVIDU_RECORDING_FOLDER=/opt/recordings +OPENVIDU_RECORDING_PATH=/opt/openvidu/recordings + +# Parameter "openvidu.recording.custom-layout" +# System path where OpenVidu Server should look for custom recording layouts +OPENVIDU_RECORDING_CUSTOM-LAYOUT=/opt/openvidu/custom-layout + +# Parameter "openvidu.recording.public-access" +# 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 + +# Parameter "openvidu.recording.notification" +# 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 + +# Parameter "openvidu.recording.autostop-timeout" +# 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 + +# Parameter "openvidu.streams.video.max-recv-bandwidth" +# Maximum video bandwidth sent from clients to OpenVidu Server, in kbps. +# 0 means unconstrained +OPENVIDU_STREAMS_VIDEO_MAX-RECV-BANDWIDTH=1000 + +# Parameter "openvidu.streams.video.min-recv-bandwidth" +# Minimum video bandwidth sent from clients to OpenVidu Server, in kbps. +# 0 means unconstrained +OPENVIDU_STREAMS_VIDEO_MIN-RECV-BANDWIDTH=300 + +# Parameter "openvidu.streams.video.max-send-bandwidth" +# Maximum video bandwidth sent from OpenVidu Server to clients, in kbps. +# 0 means unconstrained +OPENVIDU_STREAMS_VIDEO_MAX-SEND-BANDWIDTH=1000 + +# Parameter "openvidu.streams.video.min-send-bandwidth" +# Minimum video bandwidth sent from OpenVidu Server to clients, in kbps. +# 0 means unconstrained +OPENVIDU_STREAMS_VIDEO_MIN-SEND-BANDWIDTH=300 + +# Parameter "openvidu.webhook" +# true to enable OpenVidu Server Webhook service. false' otherwise +# Values: true | false +OPENVIDU_WEBHOOK=false + +# Parameter "openvidu.webhook.endpoint" +# HTTP endpoint where OpenVidu Server will send Webhook HTTP POST messages +# Must be a valid URL: http(s)://ENDPOINT +#OPENVIDU_WEBHOOK_ENDPOINT= + +# Parameter "openvidu.webhook.headers" +# List of headers that OpenVidu Server Webhook service will attach to HTTP POST messages +#OPENVIDU_WEBHOOK_HEADERS= + +# Parameter "openvidu.webhook.events" +# List of events that will be sent by OpenVidu Server Webhook service +# Leave blank if all events. +OPENVIDU_WEBHOOK_EVENTS=[sessionCreated,sessionDestroyed,participantJoined,participantLeft,webrtcConnectionCreated,webrtcConnectionDestroyed,recordingStatusChanged,filterEventDispatched,mediaNodeStatusChanged] + +# Parameter "openvidu.sessions.garbage.interval" +# 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 + +# Parameter "openvidu.sessions.garbage.threshold" +# 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 + +# Parameter "openvidu.cdr" +# Call Detail Record enabled +# Whether to enable Call Detail Record or not +# Values: true | false +OPENVIDU_CDR=false # Certificate type: # - selfsigned: Self signed certificate. Not recommended for production use. diff --git a/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml b/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml index 9edf13fb..b74285c9 100644 --- a/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml +++ b/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml @@ -23,23 +23,19 @@ services: network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock - - ${OPENVIDU_RECORDING_FOLDER}:${OPENVIDU_RECORDING_FOLDER} + - ${OPENVIDU_RECORDING_PATH}:${OPENVIDU_RECORDING_PATH} env_file: - .env environment: - SERVER_SSL_ENABLED=false - SERVER_PORT=5443 - - OPENVIDU_SECRET=${OPENVIDU_SECRET} - - OPENVIDU_PUBLICURL= - OPENVIDU_RECORDING=true - - OPENVIDU_RECORDING_PATH=${OPENVIDU_RECORDING_FOLDER} - KMS_URIS=["ws://localhost:8888/kurento"] - COTURN_IP=${OPENVIDU_DOMAIN_OR_PUBLIC_IP} - COTURN_REDIS_IP=127.0.0.1 - - LOGGING_LEVEL_ROOT=${OV_CE_DEBUG_LEVEL:-INFO} kms: - image: ${KMS_IMAGE:-kurento/kurento-media-server-dev:6.13} + image: ${KMS_IMAGE:-kurento/kurento-media-server-dev:6.13.1} restart: on-failure network_mode: host ulimits: @@ -68,7 +64,7 @@ services: - MAX_PORT=65535 nginx: - image: openvidu/openvidu-proxy:1.0.0-beta2 + image: openvidu/openvidu-proxy:1.0.0-beta3 restart: on-failure network_mode: host volumes: @@ -78,3 +74,5 @@ services: - DOMAIN_OR_PUBLIC_IP=${OPENVIDU_DOMAIN_OR_PUBLIC_IP} - CERTIFICATE_TYPE=${CERTIFICATE_TYPE} - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} + - PROXY_MODE=CE + - WITH_DEMOS=true diff --git a/openvidu-server/docker/openvidu-docker-compose/install_docker_compose.sh b/openvidu-server/docker/openvidu-docker-compose/install_docker_compose.sh new file mode 100644 index 00000000..9031fae1 --- /dev/null +++ b/openvidu-server/docker/openvidu-docker-compose/install_docker_compose.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +# Create folder openvidu-docker-compose +mkdir openvidu-docker-compose + +# Download necessaries files +curl https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-server/docker/openvidu-docker-compose/.env \ + --output .env +curl https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-server/docker/openvidu-docker-compose/docker-compose.override.yml \ + --output docker-compose.override.yml +curl https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml \ + --output docker-compose.yml +curl https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-server/docker/openvidu-docker-compose/openvidu-restart.sh \ + --output openvidu-restart.sh +curl https://raw.githubusercontent.com/OpenVidu/openvidu/master/openvidu-server/docker/openvidu-docker-compose/readme.md \ + --output readme.md + +# Add execution permissions +chmod +x openvidu-restart.sh + +# Create own certificated folder +mkdir openvidu-docker-compose/owncert + +# Ready to use +printf "\n========================================" +printf "\nOpenvidu CE has successfully installed." +printf '\nNow run "./openvidu-restart.sh" for setup. Check "readme.md" for more details.\n\n' +exit 0