Skip to content
Jitsi.help

How to install Jitsi Meet on Ubuntu 24.04

Updated By the Jitsi Help engineering team

Short answer

Set the server's hostname to your Jitsi domain, add the Prosody and Jitsi package repositories with their signing keys, open 80/tcp, 443/tcp, 10000/udp, 3478/udp and 5349/tcp, then run sudo apt install jitsi-meet and choose Let's Encrypt when asked. The package installer configures Nginx, Prosody, Jicofo, the videobridge and a TURN server.

The Debian packages are the original way to install Jitsi Meet. The installer asks a few questions and wires everything together on the host: Nginx, Prosody, Jicofo, the videobridge and a TURN server.

If you want easier upgrades and isolation, use the Docker guide instead. Both end with the same Jitsi Meet.

Before you start

  • Ubuntu 24.04 or 22.04 LTS, 2 vCPU and 4 GB of RAM. See server requirements.
  • A domain like meet.example.com with an A record pointing at the server’s public IP.
  • A user with sudo.

1. Set the hostname

sudo hostnamectl set-hostname meet.example.com

Add the public name to /etc/hosts so the server resolves itself:

127.0.0.1   localhost
203.0.113.10 meet.example.com

2. Install prerequisites

sudo apt update
sudo apt install -y gnupg2 curl apt-transport-https nginx-full
sudo apt-add-repository universe

3. Add the Prosody repository

sudo curl -sL https://prosody.im/files/prosody-debian-packages.key \
  -o /usr/share/keyrings/prosody-debian-packages.key
echo "deb [signed-by=/usr/share/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" \
  | sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list
sudo apt install -y lua5.2

4. Add the Jitsi repository

curl -sL https://download.jitsi.org/jitsi-key.gpg.key \
  | sudo 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/" \
  | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
sudo apt update

5. Open the firewall

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

3478/udp and 5349/tcp are for the bundled TURN server, which helps users behind strict corporate firewalls. Open the same ports in your cloud provider’s firewall.

6. Install Jitsi Meet

sudo apt install -y jitsi-meet

The installer asks for:

  1. The hostname: enter meet.example.com.
  2. The SSL certificate: choose Let’s Encrypt, and give an email address for expiry notices.

7. Test

Open https://meet.example.com and join one room from three devices. Two-person calls go peer to peer and hide videobridge problems.

Where things live

Component Config
Web app /etc/jitsi/meet/meet.example.com-config.js
Nginx site /etc/nginx/sites-available/meet.example.com.conf
Prosody /etc/prosody/conf.avail/meet.example.com.cfg.lua
Jicofo /etc/jitsi/jicofo/jicofo.conf
Videobridge /etc/jitsi/videobridge/jvb.conf

Logs are in /var/log/jitsi/ and through journalctl -u jicofo -u jitsi-videobridge2 -u prosody.

Next steps

  • Require a login to create rooms. On the package install, set the Prosody virtual host to authentication = "internal_hashed" and add a guest virtual host.
  • Add JWT authentication for app integrations.
  • Keep it patched with sudo apt update && sudo apt upgrade, and test after each Jitsi upgrade.

Frequently asked questions

Should I install Jitsi with Docker or with apt packages?

Docker is easier to upgrade, pin and move between servers, and keeps every component isolated. The Debian packages integrate with the host's Nginx and systemd and include a TURN server out of the box. Pick Docker unless you have a reason to manage services directly on the host.

Can I install Jitsi on a server that already runs Nginx or Apache?

Yes, but carefully. The installer adds its own Nginx site for your Jitsi hostname. An existing Apache on port 443 will conflict. A dedicated server or VM avoids surprises.

How do I uninstall Jitsi Meet installed with apt?

Run sudo apt purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2, then sudo apt autoremove. Remove the Nginx site file for your domain if it remains.

Stuck, or would rather not do this by hand?

Deploy it in one click

A private Jitsi server in your own AWS account with SSL, your domain and optional recording, transcription and JWT. Free 15 minute trial.

Start free trial

Talk to a Jitsi engineer

Setup, fixes, branding, recording, scaling. Tell us what is happening and we reply with a plan and a quote.

Get expert help

Related