multiparty-meeting/README.md

2.1 KiB

multiparty-meeting

A WebRTC meeting service using mediasoup as its backend.

Try it online at https://mediasoup.akademia.no.

Installation

  • Clone the project:
$ git clone https://github.com/havfo/multiparty-meeting.git
$ cd multiparty-meeting
  • Set up the server:
$ cd server
$ npm install

In addition, the server requires a screen to be installed for the server to be able to seed shared torrent files. This is because the headless Electron instance used by WebTorrent expects one. This means that in order to run the project on a server, you need to install a virtual screen such as xvfb by running

sudo apt install xvfb

See webtorrent-hybrid for more information about this.

  • Copy config.example.js as config.js and customize it for your scenario:
$ cp config.example.js config.js
  • Set up the browser app:
$ cd app
$ npm install
  • Globally install gulp-cli NPM module (may need sudo):
$ npm install -g gulp-cli

Run it locally

  • Run the Node.js server application in a terminal:
$ cd server
$ node server.js
  • In another terminal build and run the browser application:
$ cd app
$ gulp live
  • Enjoy.

Deploy it in a server

  • Build the production ready browser application:
$ cd app
$ gulp dist
  • Upload the entire server folder to your server and make your web server (Apache, Nginx...) expose the server/public folder.

  • Edit your server/config.js with appropriate settings (listening IP/port, logging options, valid TLS certificate, etc).

  • Within your server, run the server side Node.js application. We recommend using the pm2 NPM daemon launcher, but any other can be used.

Author

  • Håvar Aambø Fosstveit

This is heavily based on the work done by:

License

MIT