0.5.0 • Public • Published

    Signal-Fire Server

    Signal-Fire Server is a WebRTC signaling server built for node.js.

    A WebRTC signaling server communicates between peers to set up peer-to-peer audio/video and/or data channels. This allows your clients to communicate directly with each other.


    • WebSockets powered WebRTC signaling server
    • There is a tailor-made browser client available as well
    • Automatic peer ID generation (also possible to plug in your own)
    • Automatic routing of messages
    • Supports one-to-one, one-to-many and many-to-many out of the box
    • Horizontally scalable by using registries


    You can help by reporting bugs or unexpected behavior. If you encounter anything, please open an issue, or even better, a pull request.

    Install the module through npm:

    npm i @signal-fire/server

    Command Line Interface (CLI)

    There is also a CLI available to start and manage multiple workers simultaneously. The CLI is a work-in-progress, but can already be used.

    To install the CLI:

    npm i -g @signal-fire/cli

    To start a new worker on port 3003:

    > signal-fire start -p 3003

    See the CLI documentation to learn how to use the CLI.


    Click here to view the documentation.


    In this example we use the LocalRegistry in-memory registry from the @lucets/registry package.

    The resulting app is in fact just a Luce application, which you can extend yourself. You'll also need to use your own HTTP server, of course.

    import { Server } from 'http'
    import createApp from './index'
    import { LocalRegistry } from '@lucets/registry'
    const registry = new LocalRegistry()
    const app = createApp(registry)
    const server = new Server()
    server.on('upgrade', app.onUpgrade())
    server.listen(3003, () => {
      console.log('Server listening on port 3003')


    Copyright 2021 Michiel van der Velde.

    This software is licensed under the MIT License.


    npm i @signal-fire/server

    DownloadsWeekly Downloads






    Unpacked Size

    14.8 kB

    Total Files


    Last publish


    • michielvdvelde