Self-hosting Jitsi

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 alternative to Zoom or other video conferencing software. You can create calls just by typing the URL, and loging-in is not necessary.

In this tutorial I'm assuming you're running Devian 9 or newer on your server, although Jitsi is also supported out-of-the-box for Ubuntu, but that need some extra steps you can see here.

How to get

First of all, you'll need to make sure you have apt-transport-https installed, so run

apt update
apt install apt-transport-https

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

curl https://download.jitsi.org/jitsi-key.gpg.key | sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null

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

Setup and configure your firewall

The following ports need to be open in your firewall, to allow traffic to the Jitsi Meet server:

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

SSL certificate

I'll be using certbot and Nginx to generate the certificate.

Add the subdomain to your Nginx configuration file, wich for me is /etc/nginx/sites-available/mywebsite. Open it and add the following at the end:

server {
  server_name meet.example.com ;
  location / {
    try_files $uri $uri/ =404 ;
  }
}

Substitute meet.example.com accordingly, where meet can be any subdomain you want.

Run certbot and reload nginx.

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.com.

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.com/privkey.pem and /etc/letsencrypt/live/meet.example.com/cert.pem respectively.

Confirm that your installation is working

Just open a web browser and go to meet.example.com.

Enjoy Jitsi!

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]