How to install Jitsi Meet on Ubuntu?

Jitsi Meet is an open-source video-conferencing application based on WebRTC. During this Circuit Breaker (CB) period, no doubt you have been ~~forced~~ requested by your company to download Zoom or Teams so that you may continue to work productively while stuck at home.

So why bother to selfhost your own video conferencing software? Jitsi is E2E encrypted and by hosting it on your own server, you can be sure that no one will be able to snoop on your calls since the data only passes through the server which you control!

  1. Set the system hostname

    sudo hostnamectl set-hostname

  2. Set a local mapping of the server’s hostname to the loopback IP address,

    sudo nano /etc/hosts

    Append the following:

    Save and exit.

  3. Configure the firewall

    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw allow 4443/tcp
    sudo ufw allow 10000/udp

  4. Prepare for setup:

    sudo apt-key add jitsi-key.gpg.key
    rm jitsi-key.gpg.key
    sudo nano /etc/apt/sources.list.d/jitsi-stable.list

    Append the following:

    deb stable/

    Save and exit.

  5. Install Jitsi Meet

    sudo apt update
    sudo apt install jitsi-meet

    During installation, you will be prompted to enter the domain name to use. Next, the installer will ask if you want to create and use a self-signed TLS certificate or use an existing one, choose ‘*Generate a new self-signed certificate*’.

  6. Obtaining a signed TLS certificate:

    sudo add-apt-repository ppa:certbot/certbot
    sudo apt install certbot
    sudo /usr/share/jitsi-meet/scripts/

    Allow the script to run and once it’s done, run the following command to close port 80 which is not used by Jitsi Meet:

    sudo ufw delete allow 80/tcp

  7. That’s it! Your Jitsi Meet server is now up and running. Simply launch a browser and point it to your domain name. You will be able to create a new conference room and invite others to join you.
  8. To customise the application name, info, and logo, look to modifying the following files and it should be pretty self-explanatory: