multiparty-meeting/README.md

105 lines
2.1 KiB
Markdown

# 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