|
|
||
|---|---|---|
| app | ||
| server | ||
| .gitignore | ||
| CHANGELOG.md | ||
| README.md | ||
| multiparty-meeting.service | ||
README.md
multiparty-meeting
A WebRTC meeting service using mediasoup as its backend.
Try it online at https://letsmeet.no. You can add /roomname to the URL for specifying a room.
Features
- Audio/Video
- Chat
- Screen sharing
- File sharing
- Different video layouts
There is also a SIP gateway that can be found here. To test it, call: roomname@letsmeet.no.
Installation
- Clone the project:
$ git clone https://github.com/havfo/multiparty-meeting.git
$ cd multiparty-meeting
- Copy
server/config.example.jstoserver/config.js:
$ cp server/config.example.js server/config.js
- Copy
app/config.example.jstoapp/config.js:
$ cp app/config.example.js app/config.js
-
Edit your two
config.jswith appropriate settings (listening IP/port, logging options, valid TLS certificate, etc). -
Set up the browser app:
$ cd app
$ npm install
$ export NODE_ENV=production
$ gulp dist
This will build the client application and copy everythink to server/public from where the server can host client code to browser requests. (no apache/NGINX needed)
- Globally install
gulp-cliNPM module (may needsudo):
$ npm install -g gulp-cli
- Set up the server:
$ cd ..
$ cd server
$ npm install
Run it locally
- Run the Node.js server application in a terminal:
$ node server.js
- test your service in a webRTC enabled browser:
https://yourDomainOrIPAdress:3443/roomname
Deploy it in a server
- Stop your locally running server. Copy systemd-service file
multiparty-meeting.serviceto/etc/systemd/system/and check location path settings:
$ cp multiparty-meeting.service /etc/systemd/system/
$ edit /etc/systemd/system/multiparty-meeting.service
- reload systemd configuration and start service:
$ systemctl daemon-reload
$ systemctl start multiparty-meeting
- if you want to start multiparty-meeting at boot time:
$ systemctl enable multiparty-meeting
Ports and firewall
-
3443/tcp (default https webserver and signaling - adjustable in
server/config.js) -
3000/tcp (default
gulp liveport for developing with live browser reload, not needed in production enviroments - adjustable in app/gulpfile.js) -
40000-49999/udp/tcp (media ports - adjustable in
server/config.js) -
If you want your service running at standard ports 80/443 you should:
- Configure a forwarding rule with iptables from port 443 to your configured service port (default 3443)
TURN configuration
- You need an addtional TURN-server for clients located behind restrictive firewalls! Add your server and credentials to
app/config.js
Author
- Håvar Aambø Fosstveit
- Stefan Otto
- Mészáros Mihály
This is heavily based on the work done by:
License
MIT