Skip to content

Instantly share code, notes, and snippets.

@dimaskiddo
Last active August 31, 2020 08:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dimaskiddo/6462c0c7160f193ffd5a8e75e11b8dcb to your computer and use it in GitHub Desktop.
Save dimaskiddo/6462c0c7160f193ffd5a8e75e11b8dcb to your computer and use it in GitHub Desktop.
Jitsi Meet Setup Guide

How to Install Jitsi Meet for WebRTC Video Conference

Following tutorial will guide you to install Jitsi Meet for WebRTC Video Conference in your own on-premises, cloud, or dedicated servers.

This guide is using Ubuntu 16.04 LTS as the operating system, to start the installation you can follow the guide below.

Operating System Preparation

Escelate Privileged

sudo su

Upgrade OS Distribution

apt-get update && apt-get dist-upgrade -y

Clean-up Unused Packages

apt-get autoremove --purge -y
apt-get clean

Install Nodejs

Install Nodejs Repository

curl -sL https://deb.nodesource.com/setup_10.x | -E bash -

Install Nodejs Packages

apt-get update && apt-get install -y nodejs

Install Jitsi Meet

Automatic Installation

wget -qO - https://gist.githubusercontent.com/dimaskiddo/3d843223720ca8f7f0313330a03a448f/raw/f3d17ad07cc6ad9406cd02871396c0d050a71d92/jitsi-meet-setup.sh | bash -e -

Configure Prosody

nano /etc/prosody/prosody.cfg.lua
-- Add following line
network_backend = "epoll"

Configure Prosody VirtualHost

nano /etc/prosody/conf.f/your-domain-name.cfg.lua
-- Find and change to following line
...
plugin_paths = { "/usr/share/jitsi-meet/prosody-plugins/" }
...

-- Find and change to following line
...
--turncredentials_secret = "6jOhPpry2w5XFzYV";

--turncredentials = {
--  { type = "stun", host = "your-domain-name", port = "4446" },
--  { type = "turn", host = "your-domain-name", port = "4446", transport = "udp" },
--  { type = "turns", host = "your-domain-name", port = "443", transport = "tcp" }
--};
...

-- Find and change to following line
...
cross_domain_bosh = true;
consider_bosh_secure = true;
...

-- Add following line
...
cross_domain_websocket = true;
consider_websocket_secure = true;
...

-- Find and change to following line
...
        --speakerstats_component = "speakerstats.your-domain-name"
        --conference_duration_component = "conferenceduration.your-domain-name"
...

-- Find and change to following line
...
        modules_enabled = {
            "bosh";
            "websocket";
            "pubsub";
            "ping"; -- Enable mod_ping
            --"speakerstats";
            --"turncredentials";
            --"conference_duration";
        }
...

-- Find and change to following line
...
--Component "speakerstats.your-domain-name" "speakerstats_component"
--    muc_component = "conference.your-domain-name"

--Component "conferenceduration.your-domain-name" "conference_duration_component"
--    muc_component = "conference.your-domain-name"
...

Restart Prosody Service

systemctl restart prosody
systemctl status prosody

View Prosody Log

tail -n 100 -f /var/log/prosody/prosody.log

Configure Jitsi Meet

nano /etc/jitsi/meet/your-domain-name-config.js
// Find and change to following line
...
    // Websocket URL
    websocket: 'wss://your-domain-name/xmpp-websocket',
...

Next Installing Jitsi VideoBridge for Video Router

To install Jitsi VideoBridge in single or multiple or different machine you can follow the tutorial in How to Install Jitsi VideoBridge for Video Router

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment