Jitsi is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions.

Is really easy to install, and also a really good private, federated and libre alternative to Zoom or other video conferencing software. You can create calls just by typing the URL, and loging-in is not necessary.

## Dependencies and Installation

First, install some dependencies:

    apt install gpg apt-transport-https nginx python3-certbot-nginx

Jitsi has its own package repository, so let's add it.

    curl https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg
    echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list
    apt update -y

Ok. So now we can install Jitsi, but before we do that, let's setup the firewall `ufw`, in case you have it enabled, and the SSL certificate.

## Enable Required Ports

If you are using ufw or another firewall, there are several ports we need to ensure are open:

    ufw allow 80/tcp
    ufw allow 443/tcp
    ufw allow 10000/udp
    ufw allow 3478/udp
    ufw allow 5349/tcp
    ufw enable

For your information, these allow the following:

- 80 TCP – Certbot.
- 443 TCP – General access to Jitsi Meet.
- 10000 UDP – General network video/audio communications.
- 3478 UDP – Quering the stun server (coturn, optional, needs config.js change to enable it).
- 5349 TCP – Fallback network video/audio communications over TCP (when UDP is blocked for example), served by coturn.

## SSL certificate

I'll be using certbot and Nginx to generate a certificate for the Jitsi subdomain to allow encrypted connections.

    certbot --nginx certonly -d meet.example.org

We will not create an Nginx config file for Jitsi because the Jitsi package we will be installing will do that automatically.

## Installation

To begin the installation process, just run:

    apt install jitsi-meet

It will ask you for your `hostname`; there you'll need to input the subdomain you have just added to Nginx, like `meet.example.org`.

For the SSL certificate, choose `I want to use my own certificate`.

When it ask you for the certification key and cert files, input `/etc/letsencrypt/live/meet.example.org/privkey.pem` and `/etc/letsencrypt/live/meet.example.org/fullchain.pem` respectively.

## Using Jitsi

Jitsi can be used in a browser by then just going to `meet.example.org`.

Note that there are also Jitsi clients for all major platforms:

- Desktop (Windows, MacOS, GNU/Linux)
- Android (F-Droid and Google Play)
- iPhone/iOS

When using a Jitsi app for the first time, remember to go to the "Settings" menu and change your server name to the Jitsi site you just created.

When you create a video chatroom, its address will appear as `meet.example.org/yourvideochatname` and can be shared as such.

## More info

This article is based on the original documentation. There you can find more details and configurations.

- Written by Jose Fabio. Donate Monero: `484RLdsXQCDGSthNatGApRPTyqcCbM3PkM97axXezEuPZppimXmwWegiF3Et4BHBgjWR7sVXuEUoAeVNpBiVznhoDLqLV7j` [QR]
- Edited and revised by Luke.