What Jitsi needs, in Jitsi's order
| Resource | Jitsi handbook guidance |
|---|---|
| Network | Speed and reliability are essential; 1 Gbit/s often enough for a small organisation, 10 Gbit/s advisable for a serious server |
| CPU | 4 dedicated cores can be enough for a basic server; Prosody uses only one core |
| RAM | 8 GB suggested; 4 GB for small meetings; 2 GB for tests |
| Disk | 20 GB of standard disk |
| Recording | Jibri: one system per recording, not on the Jitsi Meet server |
The network figures are for the videobridge, the component that carries the media; the CPU, RAM and disk figures are for the Jitsi Meet server as a whole. Prosody, the XMPP server that handles signalling, is single-threaded, so a few fast cores do more for it than many slow ones.
Sizing the port
Jitsi Videobridge is a Selective Forwarding Unit: it does not mix video, it forwards each participant's stream to the others. The handbook's approximate bitrates are 200 kbit/s at 180p, 500 kbit/s at 360p, 2,500 kbit/s at 720p and 10 Mbit/s at 4K.
| Call | Upper bound sent by the bridge |
|---|---|
| 5 people, everyone at 720p | 5 x 4 x 2.5 Mbit/s = 50 Mbit/s |
| 10 people, everyone at 720p | 10 x 9 x 2.5 Mbit/s = 225 Mbit/s |
| 4 meetings of 10 at once | about 900 Mbit/s |
Those are ceilings, every participant receiving every other in HD; real calls send less. They still show where a 1 Gbit/s port runs out and why the handbook points serious deployments at 10 Gbit/s. On unmetered dedicated servers the port carries your traffic alone and nothing counts the gigabytes, so a busy week of meetings changes nothing on the invoice. The port can be upgraded to 10 Gbps when the meetings outgrow it.
Installing on Ubuntu
- Point a DNS A record, such as
meet.example.org, at the server. Let's Encrypt needs it. - Open the firewall ports Jitsi lists: 80 for the certificate, 443 for the web app, 10000/udp for media, 22 for SSH, 5349/tcp for the TURN fallback, and 3478/udp if you enable STUN.
- Enable the universe repository, add the Prosody and Jitsi package repositories, and install
jitsi-meet. Jitsi requires OpenJDK 17. - When the installer asks, give the hostname and choose the Let's Encrypt certificate. Jitsi's mobile apps need a certificate from a trusted authority, so a self-signed one is a dead end.
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
sudo add-apt-repository universe
sudo apt update
sudo apt install apt-transport-https
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
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
sudo apt install jitsi-meet
Jitsi supports Ubuntu 24.04 or newer and Debian 12 or newer. Beyond 100 participants, the handbook raises the systemd limits DefaultLimitNOFILE, DefaultLimitNPROC and DefaultTasksMax to 65000.
Closing it to strangers
Out of the box, the handbook says, anyone who reaches the server can start a meeting and talk to anyone else. Room passwords protect one room after it exists; they do not stop someone creating rooms on your bridge and spending your bandwidth.
Restrict who may create meetings with authentication. The handbook's older 'secure domain' method, Prosody accounts with a guest domain for invitees, is marked as not for new installations, and the handbook points new deployments to JWT token authentication instead.
Why a whole machine
On a single-tenant machine no neighbour's burst shares the cores or the port, and the port is yours alone at the switch. One IPv4 address is included, IPv6 can be added free at checkout on most lines, and the videobridge needs a public address for UDP 10000 without NAT to work around.
A machine already on the shelf is delivered about 30 minutes after the order is approved; a build to order takes 4 to 24 hours. Pick the city nearest the people meeting, New York, Miami, San Francisco, Amsterdam or Bucharest, because round-trip time is felt in every conversation.
Recording and when to stop scaling up
For recording, the handbook says Jibri needs one system per recording, with RAM, CPU and disk needs far higher than Jitsi Meet itself: at least 8 GB of RAM to record at 1080x720. Put it on its own machine, not on the bridge.
Past one bridge's capacity, Jitsi can add more videobridges, and the network then matters on each of them. For a few meetings a week, a hosted service is cheaper than any server.
Questions
How much bandwidth does a Jitsi Meet server need?
Jitsi's handbook puts 720p video at about 2,500 kbit/s per stream and says 1 Gbit/s is often enough for a small organisation, with 10 Gbit/s advisable for a serious server. Because the bridge forwards each stream to the other participants, outbound traffic grows quickly with the size of the call.
How many CPU cores does Jitsi need?
The handbook says 4 dedicated cores can be enough for a basic server. Prosody uses only one core, so per-core speed matters for signalling.
Which ports must be open?
TCP 80 for Let's Encrypt, TCP 443 for the web app, UDP 10000 for audio and video, TCP 22 for SSH and TCP 5349 for the TURN fallback; UDP 3478 is optional, for STUN.
Can I stop strangers creating meetings?
Yes, with authentication. The handbook's Prosody secure-domain method is marked as not for new installations; it recommends JWT token authentication instead. Room passwords alone do not stop new rooms being created.
Can the same server record meetings?
The handbook advises against it. Jibri needs one system per recording and far more RAM, CPU and disk than Jitsi Meet; 8 GB of RAM is the minimum for one 1080x720 recording.
Which Ubuntu version should I use?
Ubuntu 24.04 or newer, with the universe repository enabled; Debian 12 or newer also works. Jitsi requires OpenJDK 17.