Skip to content
This repository has been archived by the owner on Mar 1, 2024. It is now read-only.

Dockerfile for SFU #431

Merged
merged 5 commits into from
Nov 21, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
13 changes: 13 additions & 0 deletions SFU/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Use the current Long Term Support (LTS) version of Node.js
FROM node:lts

COPY /SFU /SFU

RUN SFU/platform_scripts/bash/setup.sh

ENV SIGNALLING_URL ws://localhost:8889

EXPOSE 40000-49999/tcp
EXPOSE 40000-49999/udp

CMD node /SFU/sfu_server.js --signallingURL=${SIGNALLING_URL}
46 changes: 32 additions & 14 deletions SFU/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions SFU/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@
"private": true,
"scripts": {
"start-local": "run-script-os --",
"start-local:windows": ".\\platform_scripts\\cmd\\run.bat",
"start-local:default": "./platform_scripts/bash/run_local.sh",
"start-local:windows": ".\\platform_scripts\\cmd\\run.bat",
"start-local:default": "./platform_scripts/bash/run_local.sh",
"start-cloud": "run-script-os --",
"start-cloud:windows": ".\\platform_scripts\\cmd\\run_cloud.bat",
"start-cloud:default": "./platform_scripts/bash/run_cloud.sh",
"start-cloud:windows": ".\\platform_scripts\\cmd\\run_cloud.bat",
"start-cloud:default": "./platform_scripts/bash/run_cloud.sh",
"start": "run-script-os",
"start:windows": "platform_scripts\\cmd\\node\\node.exe sfu_server.js",
"start:default": "if [ `id -u` -eq 0 ]\nthen\n export process=\"./platform_scripts/bash/node/bin/node sfu_server.js\"\nelse\n export process=\"sudo ./platform_scripts/bash/node/bin/node sfu_server.js\"\nfi\n$process "

"start:windows": "platform_scripts\\cmd\\node\\node.exe sfu_server.js",
"start:default": "if [ `id -u` -eq 0 ]\nthen\n export process=\"./platform_scripts/bash/node/bin/node sfu_server.js\"\nelse\n export process=\"sudo ./platform_scripts/bash/node/bin/node sfu_server.js\"\nfi\n$process "
},
"dependencies": {
"mediasoup-sdp-bridge": "file:mediasoup-sdp-bridge",
"ws": "^7.1.2",
"mediasoup_prebuilt": "^3.8.4",
"run-script-os": "^1.1.6"
"mediasoup-sdp-bridge": "file:mediasoup-sdp-bridge",
"minimist": "^1.2.8",
"run-script-os": "^1.1.6",
"ws": "^7.1.2"
}
}
7 changes: 7 additions & 0 deletions SFU/sfu_server.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ const config = require('./config');
const WebSocket = require('ws');
const mediasoup = require('mediasoup_prebuilt');
const mediasoupSdp = require('mediasoup-sdp-bridge');
const minimist = require('minimist');

if (!config.retrySubscribeDelaySecs) {
config.retrySubscribeDelaySecs = 10;
Expand Down Expand Up @@ -351,6 +352,12 @@ async function createWebRtcTransport(identifier) {
}

async function main() {
var argv = minimist(process.argv.slice(2));

if ('signallingURL' in argv) {
config.signallingURL = argv['signallingURL'];
}

console.log('Starting Mediasoup...');
console.log("Config = ");
console.log(config);
Expand Down
2 changes: 1 addition & 1 deletion SignallingWebServer/platform_scripts/bash/common_utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ function use_args() {
}

function call_setup_sh() {
bash "setup.sh"
bash "setup.sh" $*
}

function start_process() {
Expand Down
7 changes: 4 additions & 3 deletions SignallingWebServer/platform_scripts/bash/run_local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ pushd "${BASH_LOCATION}" > /dev/null
source common_utils.sh

set_start_default_values "n" "n" # No server specific defaults
use_args "$@"
call_setup_sh
use_args "$*"
call_setup_sh $*
print_parameters

process="${BASH_LOCATION}/node/lib/node_modules/npm/bin/npm-cli.js run start:default --"
Expand All @@ -33,4 +33,5 @@ start_process $process $arguments

popd > /dev/null # ../..

popd > /dev/null # BASH_SOURCE
popd > /dev/null # BASH_SOURCE

2 changes: 1 addition & 1 deletion SignallingWebServer/platform_scripts/bash/setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ pushd "${BASH_LOCATION}" > /dev/null

source common_utils.sh

use_args $@
use_args $*
# Azure specific fix to allow installing NodeJS from NodeSource
if test -f "/etc/apt/sources.list.d/azure-cli.list"; then
sudo touch /etc/apt/sources.list.d/nodesource.list
Expand Down