Install Jitsi Private Meet on Ubuntu

Jitsi Meet stands as a complimentary and open-source video conferencing solution, distinguished by a suite of premium features encompassing superior sound quality, advanced encryption and privacy measures, and ubiquitous compatibility across multiple platforms. Leveraging the capabilities of Jitsi Meet facilitates the seamless establishment of an impressive video conferencing service tailored to your unique needs.

Manual Installation

If you prefer to install your server manually, follow the steps below.

Prerequisites

  • A fresh E2E Ubuntu server node. For best results, we recommend a High Frequency Compute instance with at least 2 GB of memory.

  • A non-root sudo user. Use Vultr’s best practice guide to create a sudo user on Ubuntu.

  • A Fully Qualified Domain Name (FQDN) assigned to your server’s IP address.

1. Create a Swap Partition

To enhance system performance on a machine equipped with 2 GB of memory, it is advisable to allocate a swap partition of at least 2 GB (2048 MB). Selecting a swap partition size commensurate with your instance’s memory specifications contributes to optimizing overall system responsiveness and stability.

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab

free -m

2. Set the Hostname and FQDN

You must set the hostname and fully qualified domain name (FQDN) before you deploy the Let’s Encrypt HTTPS certificate for security. Use the E2E Best Practice Guide to configure your server hostname and FQDN. This guide uses the example names jitsi, and jitsi.example.com.

Jitsi requires OpenSSH, HTTP, and HTTPS traffic, along with inbound UDP traffic on port 10000 through port 20000.

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 20000 -j ACCEPT

iptables-save

systemctl restart iptables

Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

When prompted to proceed, type Y and then ENTER.

3. Update the system and Install OpenJDK Java Runtime Environment (JRE)11

sudo apt update

sudo apt install openjdk-11-jre-headless

Verify OpenJDK is installed properly.

java -version

Set the JAVA_HOME environment variable.

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile

source /etc/profile
  1. Install the Nginx Web Server

Jitsi works best with Nginx and will automatically configure Nginx settings if we install it first.

sudo apt install -y nginx

sudo systemctl start nginx.service

sudo systemctl enable nginx.service

5. Install Jitsi

Install Jitsi from the official Jitsi repository.

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

echo "deb https://download.jitsi.org stable/"  | sudo tee -a /etc/apt/sources.list.d/jitsi-stable.list

sudo apt update

sudo apt install -y jitsi-meet

The installer will request your FQDN. Enter the fully-qualified domain name of your server.

../_images/j1.png

When asked to configure SSL, select Generate a new self-signed certificate.

../_images/j2.png

6. Install Let’s Encrypt SSL Certificate

Use the following script to request a Let’s Encrypt SSL certificate.

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

The script prompts for your email address. Enter your address and press ENTER.

Enter your email and press [ENTER]: admin@example.com

You will probably see the following error, because Ubuntu has removed the python-virtualenv package.

Package python-virtualenv is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or is only available from another source.


E: Package 'python-virtualenv' has no installation candidate

This work-around will correct the error.

  1. Install the certbot package from the Ubuntu repository.

sudo apt install certbot
  1. Update install-letsencrypt-cert.sh to use certbot instead of certbot-auto.

sudo sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
  1. The Jitsi script expects certbot in /usr/sbin, and Ubuntu installs it in /usr/bin. Make a symbolic link for the script.

sudo ln -s /usr/bin/certbot /usr/sbin/certbot
  1. Run the script again.

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

7. Start a Meeting

Navigate to https://jitsi.example.com in your favorite web browser to access your Jitsi Meet Video conferencing service.