# Self-hosting Jitsi – LandChad.net

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:

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

    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]