diff --git a/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml b/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml index 3bdc8df0..4de5aa2f 100644 --- a/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml +++ b/openvidu-server/docker/openvidu-docker-compose/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.1' services: openvidu-server: - image: openvidu/openvidu-server:2.12.0 + image: openvidu/openvidu-server entrypoint: ["java", "-jar", "/openvidu-server.jar"] restart: on-failure network_mode: host @@ -12,12 +12,12 @@ services: environment: - SERVER_SSL_ENABLED=false - SERVER_PORT=5443 - - OPENVIDU_PUBLICURL=https://${DOMAIN_OR_PUBLIC_IP}:4443 + - OPENVIDU_PUBLICURL=https://${DOMAIN_OR_PUBLIC_IP} - OPENVIDU_SECRET=${OPENVIDU_SECRET} - OPENVIDU_RECORDING=true - OPENVIDU_RECORDING_PATH=${OPENVIDU_RECORDING_FOLDER} - KMS_URIS="[\"ws://127.0.0.1:8888/kurento\"]" - - COTURN_IP=127.0.0.1 + - COTURN_IP=${DOMAIN_OR_PUBLIC_IP} - COTURN_REDIS_IP=127.0.0.1 kms: @@ -38,7 +38,6 @@ services: network_mode: host environment: - REDIS_IP=127.0.0.1 - - TURN_PUBLIC_IP=127.0.0.1 - TURN_LISTEN_PORT=3478 - DB_NAME=0 - DB_PASSWORD=turn @@ -63,6 +62,6 @@ services: ports: - "5442:80" environment: - - OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP}:4443 + - OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP} - OPENVIDU_SECRET=${OPENVIDU_SECRET} diff --git a/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu-call.conf b/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu-call.conf index 8d98d151..cb417f55 100644 --- a/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu-call.conf +++ b/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu-call.conf @@ -1,3 +1,15 @@ +add_header X-Frame-Options SAMEORIGIN; +add_header X-Content-Type-Options nosniff; +add_header X-XSS-Protection "1; mode=block"; + +upstream openviducall { + server localhost:5442; +} + +upstream openviduserver { + server localhost:5443; +} + server { listen 443 ssl; server_name {domain_name}; @@ -24,7 +36,26 @@ server { proxy_headers_hash_bucket_size 512; proxy_redirect off; + # WebSocket support + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + location / { - proxy_pass http://localhost:5442; + proxy_pass http://openviducall; + } + + location /api/ { + proxy_pass http://openviduserver$request_uri; + } + + location /dashboard { + proxy_bind $server_addr; + rewrite ^/dashboard/(.*)$ /$1 break; + proxy_pass http://openviduserver; + } + + location /openvidu { + proxy_pass http://openviduserver; } } \ No newline at end of file diff --git a/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu.conf b/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu.conf deleted file mode 100755 index 76fcb9bb..00000000 --- a/openvidu-server/docker/openvidu-docker-compose/nginx_conf/openvidu.conf +++ /dev/null @@ -1,25 +0,0 @@ -server { - listen 4443 ssl; - server_name {domain_name}; - - ssl_certificate /etc/letsencrypt/live/{domain_name}/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/{domain_name}/privkey.pem; - ssl_trusted_certificate /etc/letsencrypt/live/{domain_name}/fullchain.pem; - - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-Proto https; - proxy_headers_hash_bucket_size 512; - proxy_redirect off; - - # Websockets - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - location / { - proxy_pass http://localhost:5443; - } -} \ No newline at end of file diff --git a/openvidu-server/docker/openvidu-docker-compose/readme.md b/openvidu-server/docker/openvidu-docker-compose/readme.md new file mode 100644 index 00000000..f4f2b54d --- /dev/null +++ b/openvidu-server/docker/openvidu-docker-compose/readme.md @@ -0,0 +1,17 @@ +# Deploy Openvidu using Docker Compose + +In this repository we explain how deploy a video call application stack using Openvidu Server and Openvidu Call. + +## 1. Prerequisites: + +This docker-compose running in Ubuntu 16.04 or Ubuntu 18.04. We need have a docker and docker-compose installed in the machine. For this propuse we proportionally the next documentation for how install docker and docker compose in Ubuntu. + +- [Install Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) +- [Install Docker Compose](https://docs.docker.com/compose/install/) + +We need open the next ports: + +- 443 TCP (OpenVidu Inspector is served on port 443 by default) +- 4443 TCP (OpenVidu Server Pro REST API endpoint listens on port 4443 by default) +- 3478 TCP (coturn listens on port 3478 by default) +- 3478 UDP (opening also UDP port has been proved to facilitate connections with certain type of clients) \ No newline at end of file