From f8e2a96de9e65711b1b71cd0e706d6b1dde1fbf8 Mon Sep 17 00:00:00 2001 From: William Belcher Date: Thu, 27 Jul 2023 16:29:34 +1000 Subject: [PATCH 1/4] Merge dockerfiles. Update docker build context --- SignallingWebServer/Dockerfile | 10 +++++++++- .../platform_scripts/bash/docker-build-cirrus.sh | 6 ++++-- .../platform_scripts/bash/docker-start-cirrus.sh | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/SignallingWebServer/Dockerfile b/SignallingWebServer/Dockerfile index 685badbe..b2479c6d 100644 --- a/SignallingWebServer/Dockerfile +++ b/SignallingWebServer/Dockerfile @@ -14,12 +14,20 @@ EXPOSE 443 # Expose TCP port 8888 for streamer WebSocket connections EXPOSE 8888 +EXPOSE 8888/udp # Expose TCP port 8889 for connections from the SFU EXPOSE 8889 +# Expose TCP port 19302 for connections to Google's stun server +EXPOSE 19302 + # Expose TCP port 9999 for connections from the Matchmaker EXPOSE 9999 +# Expose TCP port 19302 for connections from coturn +EXPOSE 3478 +EXPOSE 3479 + # Set the signalling server as the container's entrypoint -ENTRYPOINT ["/usr/local/bin/node", "/SignallingWebServer/cirrus.js"] +ENTRYPOINT ["/usr/local/bin/node", "/SignallingWebServer/cirrus.js"] \ No newline at end of file diff --git a/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh b/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh index 6c9d1c96..9474f80d 100755 --- a/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh +++ b/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh @@ -1,7 +1,9 @@ #!/bin/bash # Copyright Epic Games, Inc. All Rights Reserved. +BASH_LOCATION=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +pushd "${BASH_LOCATION}" > /dev/null # When run from SignallingWebServer/platform_scripts/bash, this uses the SignallingWebServer directory # as the build context so the Cirrus files can be successfully copied into the container image -docker build --network=host -t 'cirrus-webserver:latest' -f ./Dockerfile ../.. - +docker build --network=host -t 'cirrus-webserver:latest' -f "${BASH_LOCATION}/../../Dockerfile" "${BASH_LOCATION}/../../.." \ No newline at end of file diff --git a/SignallingWebServer/platform_scripts/bash/docker-start-cirrus.sh b/SignallingWebServer/platform_scripts/bash/docker-start-cirrus.sh index 7bc6c0a5..9eb0f4e3 100755 --- a/SignallingWebServer/platform_scripts/bash/docker-start-cirrus.sh +++ b/SignallingWebServer/platform_scripts/bash/docker-start-cirrus.sh @@ -27,5 +27,5 @@ else peerConnectionOptions="{\""iceServers\"":[{\""urls\"":[\""stun:"${stunserver}"\""]}]}" fi -docker run --name cirrus_latest --network host --rm --entrypoint /usr/local/bin/node cirrus-webserver /opt/SignallingWebServer/cirrus.js --peerConnectionOptions="${peerConnectionOptions}" --publicIp="${publicip}" +docker run --name cirrus_latest --network host --rm --entrypoint /usr/local/bin/node cirrus-webserver /SignallingWebServer/cirrus.js --peerConnectionOptions="${peerConnectionOptions}" --publicIp="${publicip}" From b1d9999fffcea55f9941b23770a3b376f6dec053 Mon Sep 17 00:00:00 2001 From: William Belcher Date: Thu, 27 Jul 2023 16:35:59 +1000 Subject: [PATCH 2/4] Update file line endings --- .../platform_scripts/bash/docker-build-cirrus.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh b/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh index 9474f80d..dc0a5fb0 100755 --- a/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh +++ b/SignallingWebServer/platform_scripts/bash/docker-build-cirrus.sh @@ -6,4 +6,4 @@ pushd "${BASH_LOCATION}" > /dev/null # When run from SignallingWebServer/platform_scripts/bash, this uses the SignallingWebServer directory # as the build context so the Cirrus files can be successfully copied into the container image -docker build --network=host -t 'cirrus-webserver:latest' -f "${BASH_LOCATION}/../../Dockerfile" "${BASH_LOCATION}/../../.." \ No newline at end of file +docker build --network=host -t 'cirrus-webserver:latest' -f "${BASH_LOCATION}/../../Dockerfile" "${BASH_LOCATION}/../../.." From a71a9f3b1f65f088959cd71e78003ab8656de48d Mon Sep 17 00:00:00 2001 From: William Belcher Date: Thu, 27 Jul 2023 16:36:33 +1000 Subject: [PATCH 3/4] Update file line endings 2 --- SignallingWebServer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SignallingWebServer/Dockerfile b/SignallingWebServer/Dockerfile index b2479c6d..615cc380 100644 --- a/SignallingWebServer/Dockerfile +++ b/SignallingWebServer/Dockerfile @@ -30,4 +30,4 @@ EXPOSE 3478 EXPOSE 3479 # Set the signalling server as the container's entrypoint -ENTRYPOINT ["/usr/local/bin/node", "/SignallingWebServer/cirrus.js"] \ No newline at end of file +ENTRYPOINT ["/usr/local/bin/node", "/SignallingWebServer/cirrus.js"] From 18446d583e14310c0d8583776d7e594bb5895af2 Mon Sep 17 00:00:00 2001 From: William Belcher Date: Thu, 27 Jul 2023 16:37:18 +1000 Subject: [PATCH 4/4] Remove extra dockerfile --- .../platform_scripts/bash/Dockerfile | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 SignallingWebServer/platform_scripts/bash/Dockerfile diff --git a/SignallingWebServer/platform_scripts/bash/Dockerfile b/SignallingWebServer/platform_scripts/bash/Dockerfile deleted file mode 100644 index 48b3d23e..00000000 --- a/SignallingWebServer/platform_scripts/bash/Dockerfile +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# Copyright Epic Games, Inc. All Rights Reserved. - -FROM node:latest - -# Copy the signalling server source code to the Docker build context -COPY . /opt/SignallingWebServer - -# Install the dependencies for the signalling server -WORKDIR /opt/SignallingWebServer -RUN npm install . - -# Expose TCP port 80 for player WebSocket connections and web server HTTP access -EXPOSE 80 - -# Expose TCP port 8888 for streamer WebSocket connections -EXPOSE 8888 -EXPOSE 8888/udp - -# Expose port for SFU connections -EXPOSE 8889 - -# Google stun -EXPOSE 19302 - -# Matchmaker -EXPOSE 9999 - -# Turn coturn -EXPOSE 3478 -EXPOSE 3479 - -# Set the signalling server as the container's entrypoint -ENTRYPOINT ["/usr/local/bin/node", "/opt/SignallingWebServer/cirrus.js"] -