How to Install Jitsi Meet on Ubuntu Linux
Jitsi Meet is a free, open-source program that lets you host private video calls and meetings on your own server. Because you run the server, you control your data and who can join, and you don’t pay for a commercial service.
You can set up Jitsi Meet on Ubuntu 22.04 or 20.04 in about 15 minutes. Once it runs, people join your calls, chat and share screens straight from a web browser. They don’t need an account. Ubuntu 20.04 is an older release, so use 22.04 if you have the choice. You need a server with a public IP address, a domain name, and a user with sudo rights.
Open a terminal on your Ubuntu 22.04 server and run sudo apt update, then install the support packages. Add the Jitsi Meet repository with its GPG key, then run sudo apt install jitsi-meet. Before you start, point an A record for your hostname at the server’s public IP, open ports 80, 443 and UDP 10000, and keep SSH open.
Install prerequisite
Before you install Jitsi Meet, prepare the server. You update the package list and install a few basic tools, such as curl and wget. You also need a domain name that points at the server.
The installer and the certificate process check your web address, so the domain has to resolve to your server before you start.
- Log in to your DNS provider and create an A record for the hostname you want to use, for example a name like meet.example.com. Point it at your server’s public IP address.
- Wait for the record to propagate. This can take a few minutes, sometimes longer.
- Check that the domain resolves to your server’s IP from another machine before you go on. If it doesn’t, the Let’s Encrypt step later will fail.
- Connect to the server over SSH with your sudo user.
First, install the support packages. They let your system download files over HTTPS and handle the repository key you add later.
- Run the commands in the block below. The first one refreshes the package list and the next installs the tools.
- Read the output. If apt asks for confirmation, type Y and press Enter.
- When the prompt returns with no errors, the packages are installed.
sudo apt update sudo apt install wget curl gnupg2 apt-transport-https
Next, open the ports your server needs to talk to the outside world. Jitsi uses ports 80 and 443 for the web interface and certificates. It uses UDP port 10000 for the video and audio traffic. Port 22 is for SSH, and the official Jitsi guide also lists 3478/UDP and 5349/TCP for its TURN service. Keep SSH open or you will lock yourself out of the server.
- Run the firewall commands in the block below, one after another.
- Check the output of each command. A rule that is accepted prints a confirmation such as “Rule added”.
- Run the status command shown in the block to confirm the rules are listed. If the firewall is not yet enabled, enable it only after the SSH rule is in place.
If your server sits behind a cloud provider’s firewall or security group, open the same ports there too. A rule on the server alone is not enough in that case.
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 10000/udp sudo ufw enable
Add Jitsi Meet repository and install
Jitsi Meet is not in the standard Ubuntu package lists. To install it, you add the official Jitsi repository. That takes two parts: download the project’s GPG security key, then add the software source. The key lets apt check that every package really comes from Jitsi. After that, your system downloads and installs the official files safely.
Download the GPG key and save it in the keyring folder.
- Run the command in the block below.
- The command prints nothing on success. You only see the prompt come back.
- If you get a “permission denied” error, check that you run the command with sudo where the block shows it.
curl https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
Next, add the repository to your system’s source list and point it at the keyring you just created. Tying the source to that keyring means apt trusts this key for the Jitsi packages only.
- Run the command in the block below.
- Check that it finishes without an error.
To undo this later, delete the Jitsi source file from the apt sources folder and the key from the keyring folder.
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 > /dev/null
Now update the package list so your system sees the new repository, then install Jitsi Meet.
- Run the update command from the block below. In the output, you should see the Jitsi repository listed among the sources apt reads.
- Run the install command. apt lists the packages it will add, which include several Jitsi components and a web server. Confirm when it asks.
- Keep the terminal open. The installer will stop and ask you questions, which the next section covers.
sudo apt update sudo apt install jitsi-meet

During the installation, a text screen asks for your domain name. Then it asks about SSL certificates.
- Type the domain you set up in your A record, exactly as you entered it in DNS. Use the arrow keys and Tab to move to Ok, then press Enter.
- When the certificate choice appears, pick “Let’s Encrypt”. This is the best option for a production server, because browsers trust the certificate and don’t show a warning.
- If asked for an email address, enter one you check. Let’s Encrypt uses it for expiry notices.
- Wait for the installation to finish and the prompt to return.
Let’s Encrypt only works if your domain resolves to this server and ports 80 and 443 are reachable from the internet. If it fails, fix DNS or the firewall first. A self-signed certificate is fine for a quick test, but every visitor then sees a browser warning.
Configure Jitsi Meet
After installation, Jitsi usually works with no changes. You edit its configuration files only when you need to change something about your domain or its web settings. These files tie the software to your web address and control how it runs on the server.
Changes to these files take effect only after the Jitsi services restart. If you’re unsure how to restart them, rebooting the server also works.
- Open the first configuration file with the command in the block below. It uses a text editor in the terminal, so you need sudo.
- Find the setting you want to change and edit its value.
- Save the file and exit the editor.
sudo nano /etc/prosody/conf.avail/yourdomain.com.cfg.lua
You can also edit the main settings file for your domain. This file holds the options for the meeting interface in the browser. Open it the same way as before, change only what you need, and save it.
sudo nano /etc/jitsi/meet/yourdomain.com-config.js
%%IMG1%%
If your server sits behind a NAT or a firewall, Jitsi may not know its own public address. That is common on cloud servers where the public IP is not assigned to the network interface. In that case, calls may connect but show no video or audio. Defining your IP addresses in the properties file fixes this. Open the file with the command in the block below.
sudo nano /etc/jitsi/videobridge/sip-communicator.properties
Add your local (private) IP address and your public IP address to the file, then save and exit. The local address is the one the server sees on its own network card. The public address is the one people reach from the internet. Restart the Jitsi services or reboot the server so the change applies.
Your Jitsi Meet portal is now available at your domain name. To test it, follow these steps.
- Open a web browser on any device and type your domain name into the address bar.
- You should see the Jitsi Meet start page, with a box to name a new meeting.
- Enter a meeting name and start the call. Allow the browser to use your camera and microphone when it asks.
- Join the same meeting from a second device to confirm that audio and video flow both ways.
If the page doesn't load, check that DNS points at the server and that ports 80 and 443 are open. If the page loads but calls show no video, check that UDP port 10000 is open and revisit the NAT settings above.
Conclusion
Installing Jitsi Meet on Ubuntu is straightforward thanks to its official repository, which gives you a flexible way to set up your own secure meeting service. You get easy configuration options, community support for any issues, and the reliability of open-source software.
Have a question about this guide?
Answered by AI from this guide. Good questions may be added to this page — please don't include personal details.
Did this guide fix your problem?
About the Author
Richard
Tech Writer, IT Professional
Richard is a writer at Geek Rewind who turns complex IT tasks into clear, step-by-step guides. He draws on years of hands-on experience in system administration and enterprise IT operations, focusing on Windows, Linux and WordPress: the problems people actually run into, and the fixes that work. His server and WordPress guides come from systems he runs himself. Richard builds and maintains the platform behind Geek Rewind, from its Ubuntu servers and Nginx configuration to its custom WordPress plugins. Many new tutorials start with readers' questions, and he's always glad to answer them in the comments.
No comments yet — be the first to share your thoughts!