Skip to content

Instantly share code, notes, and snippets.

@cyroxx
Last active April 3, 2020 13:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cyroxx/6e496069aeeceae3ca40927a3c1eb260 to your computer and use it in GitHub Desktop.
Save cyroxx/6e496069aeeceae3ca40927a3c1eb260 to your computer and use it in GitHub Desktop.
Install jitsi

There is also an Ansible playbook that uses docker-compose: https://github.com/cfra/jitsi-playbook

Installation

Steps to get Jitsi up and running.

Install jitsi

(taken from https://jitsi.org/downloads/)

You can use our Ubuntu/Debian repository:

First install the Jitsi repository key onto your system:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

Create a sources.list.d file with the repository:

sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

Update your package list:

sudo apt-get -y update

Install the full suite:

sudo apt-get -y install jitsi-meet

or only the packages you need like for example:

sudo apt-get -y install jitsi-videobridge
sudo apt-get -y install jicofo
sudo apt-get -y install jigasi

Firewall

Open incoming connections to the following ports:

  • 80 (HTTP)
  • 443 (HTTPS)
  • 4443/tcp
  • 10000:20000/udp
  • 5347/tcp from localhost to localhost

If you are using ufw, you can use an application profile. Create /etc/ufw/applications.d/jitsi with the following content:

[Jitsi]
title=Jitsi Videoconferencing (TCP/UDP)
description=Videochat tool
ports=80,443,4443/tcp|10000:20000/udp

Then run ufw allow Jitsi. This will open the ports mentioned above.

See also the section "Network description" under https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md.

SSL: certbot

Use certbot to obtain a LetsEncrypt certificate for your jitsi server. Follow the instructions here: https://certbot.eff.org

As an example, the steps needed for an Nginx running in Ubuntu 18.04 LTS (bionic) are listed here: https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx

NOTE: If the certbot run fails with the following error, edit /etc/nginx/sites-enabled/<YOUR-DOMAIN-NAME>.conf and comment the line server_names_hash_bucket_size (should be right at the top):

Performing the following challenges:
http-01 challenge for <YOUR-DOMAIN-NAME>
nginx: [emerg] "server_names_hash_bucket_size" directive is duplicate in /etc/nginx/sites-enabled/<YOUR-DOMAIN-NAME>.conf:1
Cleaning up challenges
nginx restart failed:
b''
b''

Apart from that, you might need to add server_names_hash_bucket_size 128 to the http section of your /etc/nginx/nginx.conf. This whole issue is also disussed in certbot/certbot#5199.

Configuration

Other things you might want to configure

Audio and/or video muted by default

Per room

As Moderator: Go to Settings (hidden in the three dots at the bottom right), then under More you will see the options "Everyone starts muted" and "Everyone starts hidden".

As a user, you can choose to enter a particular room with video and/or audio muted using config.startWithVideoMuted and/or config.startWithAudioMuted like so:

https://<YOUR-DOMAIN-NAME>/<ROOM-NAME>#config.startWithVideoMuted=true

Server-wide

In /etc/jitsi/meet/<YOUR-DOMAIN-NAME>-config.js, there are a bunch of options. I haven't have not tried them yet, though:

    // Start the conference in audio only mode (no video is being received nor
    // sent).
    // startAudioOnly: false,

    // Every participant after the Nth will start audio muted.
    // startAudioMuted: 10,

    // Start calls with audio muted. Unlike the option above, this one is only
    // applied locally. FIXME: having these 2 options is confusing.
    // startWithAudioMuted: false,

...(snip)...

    // Every participant after the Nth will start video muted.
    // startVideoMuted: 10,

    // Start calls with video muted. Unlike the option above, this one is only
    // applied locally. FIXME: having these 2 options is confusing.
    // startWithVideoMuted: false,

Room passwords

haven't used these yet

Guests vs. non-guests

same here

@tmulzer
Copy link

tmulzer commented Apr 3, 2020

ufw allow from 127.0.0.1 port 5347 to 127.0.0.1 proto tcp
.. war eben die passende Zeile für localhost:5347 to localhost
.. oder ist doch eher folgende gemeint:
ufw allow from 127.0.0.1 port 5347 to 127.0.0.1 proto tcp

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