# multiparty-meeting A WebRTC meeting service using [mediasoup](https://mediasoup.org) as its backend. Try it online at https://mediasoup.akademia.no. ## Installation * Clone the project: ```bash $ git clone https://github.com/havfo/multiparty-meeting.git $ cd multiparty-meeting ``` * Set up the server: ```bash $ 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 ```bash sudo apt install xvfb ``` See [webtorrent-hybrid](https://github.com/webtorrent/webtorrent-hybrid) for more information about this. * Copy `config.example.js` as `config.js` and customize it for your scenario: ```bash $ cp config.example.js config.js ``` * Set up the browser app: ```bash $ cd app $ npm install ``` * Globally install `gulp-cli` NPM module (may need `sudo`): ```bash $ npm install -g gulp-cli ``` ## Run it locally * Run the Node.js server application in a terminal: ```bash $ cd server $ node server.js ``` * In another terminal build and run the browser application: ```bash $ cd app $ gulp live ``` * Enjoy. ## Deploy it in a server * Build the production ready browser application: ```bash $ 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](https://www.npmjs.com/package/pm2) NPM daemon launcher, but any other can be used. ## Author * Håvar Aambø Fosstveit This is heavily based on the [work](https://github.com/versatica/mediasoup-demo) done by: * Iñaki Baz Castillo [[website](https://inakibaz.me)|[github](https://github.com/ibc/)] ## License MIT