Skip to content
simple server for webrtc signaling
JavaScript Shell
Find file
Latest commit 3381453 @legastero legastero Merge pull request #51 from liebeskind/master
Fixes typo preventing SSL cert generation
Failed to load latest commit information.
config use newer syntax
scripts adding generate-ssl-certs and making configs for production
.gitignore adding generate-ssl-certs and making configs for production
.jshintignore initial commit
.jshintrc es5 is now on by default
Dockerfile added dockerfile
Procfile procfile and port
package.json bump to 1.3.7
server.js Added the ability to use an existing express server
sockets.js Merge branch 'master' into iceserver-urls
test.js Added the ability to use an existing express server


A simple signaling server for clients to connect and do signaling for WebRTC.

Specifically created as a default connection point for SimpleWebRTC.js

It also supports vending STUN/TURN servers with the shared secret mechanism as described in this draft. This mechanism is implemented e.g. by rfc-5766-turn-server or by a patched version of restund.

Read more:


Running the server requires a valid installation of node.js which can be installed from the website. After installing the package you will need to install the node dependencies.

1) npm install async, node-uuid, redis, underscore, precommit-hook, getconfig, yetify,

2) run the server using "node server.js"

3) In the console you will see a message which tells you where the server is running:

                    "signal master is running at: http://localhost:8888"

4) Open a web browser to the specified URL and port to ensure that the server is running properly. You should see the message

                    "Welcome to"

Production Environment

  • generate your ssl certs
$ ./scripts/
  • run in Production mode
$ NODE_ENV=production node server.js

Use with Express

var express = require('express')
var sockets = require('signalmaster/sockets')

var app = express()
var server = app.listen(port)
sockets(server, config) // config is the same that server.js uses


You can build this image by calling:

docker build -t signalmaster

To run the image execute this:

docker run --name signalmaster -d -p 8888:8888 signalmaster

This will start a signal master server on port 8888 exposed on port 8888.

Something went wrong with that request. Please try again.