Skip to content
Jitsi.help

Jitsi Meet server requirements

Updated Tested on Jitsi Meet stable-11031By the Jitsi Help engineering team

Short answer

A Jitsi Meet server for small teams needs 2 vCPU and 4 GB of RAM, a public IP with a domain name, and ports 443/tcp and 10000/udp open. Bandwidth, not CPU, is usually the real limit. Recording with Jibri needs at least 8 GB of RAM, and local transcription with Vosk needs 16 GB.

A Jitsi Meet server is lighter than most people expect on CPU and heavier than most people expect on network. The table below is what we size customer servers with, followed by the reasoning so you can adjust it for your own meetings.

Quick sizing table

These figures come from the servers our platform deploys on AWS. Costs are rounded on-demand prices in ap-south-1 (Mumbai) as of August 2026, and they change by region and over time.

Server vCPU / RAM Comfortable load Approx. AWS cost / month
t3.small 2 / 2 GB Up to about 20 participants, testing $18
t3.medium 2 / 4 GB Up to about 50 participants $33
t3.large 2 / 8 GB Up to about 100 participants, minimum for recording $63
c5.large 2 / 4 GB, compute optimized A dedicated recorder for about 1 concurrent recording $68
c5.xlarge 4 / 8 GB, compute optimized A dedicated recorder for 2 to 3 concurrent recordings $136
t3.xlarge 4 / 16 GB Minimum for Vosk transcription $125

“Participants” means the total across all rooms at the same moment, with most people on camera. Audio-only meetings go much further.

CPU

Jitsi Videobridge (JVB) is a selective forwarding unit. It receives each participant’s video once and forwards copies to the others without decoding or re-encoding them. That is why a 2 vCPU machine goes a long way, and why the CPU graph on a busy videobridge often looks calm while the network graph is not.

Where CPU does matter:

  • Jibri recording. Jibri joins the meeting in a headless Chrome and encodes the screen with ffmpeg. One Jibri records one meeting at a time and keeps roughly two cores busy while it does.
  • Many small rooms. Signalling (Prosody and Jicofo) scales with the number of conferences, so hundreds of tiny rooms cost more than one large room with the same headcount.

A note for AWS: T3 instances are burstable and launch in “unlimited” mode by default. A server that stays above its baseline CPU for hours does not slow down, it bills extra CPU credits. Watch the CPUSurplusCreditsCharged metric, or move steady heavy workloads to a C5 or M5 instance.

RAM

The Jitsi components are Java (Jicofo, JVB) and Lua (Prosody) processes with modest memory needs. On our Docker deployments:

  • 4 GB runs web, Prosody, Jicofo and JVB with room to spare.
  • 8 GB is the minimum we deploy when Jibri records on the same server, because Chrome and ffmpeg need their own headroom.
  • 16 GB is the minimum for local transcription with Vosk. The English speech model is loaded into memory by the Vosk server, and an 8 GB machine runs out once meetings start.

Bandwidth: the real limit

Every participant uploads their camera once, in up to three quality layers (simulcast). The videobridge then sends each receiver only the layers they need: a high layer for the active speaker, low layers for thumbnails.

A useful planning estimate for server upload:

server egress (Mbps) ≈ participants × streams each person receives × Mbps per stream

With typical defaults, thumbnails use around 0.2 to 0.5 Mbps and a large speaker view around 1.5 to 2.5 Mbps. Ten people all on camera in tile view works out to roughly 10 × 9 × 0.4 = 36 Mbps of server upload. The server size calculator does this sum for you.

Things that reduce bandwidth sharply:

  • Two-person calls go peer to peer and do not touch the videobridge at all.
  • Each receiver only gets video for the tiles actually visible on their screen, so a 40 person room does not mean 40 × 39 full streams.
  • Setting a lower maximum resolution in the server config caps every stream.

Inbound traffic is roughly one upload per participant, so it is rarely the bottleneck.

Network and ports

Port Protocol Purpose
443 TCP Web app and signalling (WebSocket)
10000 UDP All audio and video to the videobridge
80 TCP Let’s Encrypt HTTP challenge and redirect to HTTPS
22 TCP SSH for administration, restrict to your IP

If 10000/udp is blocked, two-person calls still work (they go peer to peer) but calls with three or more people show black video or drop. That is the single most common Jitsi problem we fix. See video stops with 3 participants.

The server needs a public IP. If it sits behind NAT, as every EC2 instance does, the videobridge must advertise the public address. On AWS it usually detects this through STUN. When it does not, set JVB_ADVERTISE_IPS to the public IP in the Docker .env file.

Domain and HTTPS

Browsers only give a web page access to the camera and microphone in a secure context, which means HTTPS with a certificate they trust. In practice you need:

  1. A domain or subdomain, for example meet.example.com.
  2. An A record pointing it at the server’s public IP, created before the first start so Let’s Encrypt can validate it.
  3. Port 80 open during issuance and renewal.

Operating system

Any modern 64-bit Linux that runs Docker Engine with the Compose plugin works for the Docker setup. For the Debian packages, use Debian 12 or Ubuntu 22.04 / 24.04 LTS. Plan for at least 20 GB of disk, more if recordings are kept on the server before upload.

Recording and transcription add-ons

Add-on What it needs
Jibri recording 8 GB RAM on a shared server, the snd-aloop kernel module, and one Jibri per concurrent recording
Vosk transcription 16 GB RAM, the Jigasi component in transcriber mode, and a Vosk server container
Both together A t3.2xlarge (8 vCPU, 32 GB) or c5.2xlarge, or split recording onto its own server

On AWS, Ubuntu’s default linux-aws kernel does not ship snd-aloop, so Jibri cannot capture audio until you install the generic kernel and reboot. Details are in Jitsi recording with Jibri.

Summary

Start with 2 vCPU and 4 GB, a domain, and ports 443/tcp and 10000/udp. Size up for recording and transcription, and watch bandwidth before CPU. If you would rather skip the sizing and setup, our platform deploys a correctly sized server into your own AWS account and shows the monthly estimate before you commit.

Frequently asked questions

How much RAM does a Jitsi server need?

4 GB is a comfortable minimum for a server that hosts everyday meetings. 2 GB works for testing and very small groups. Add at least 4 GB more if the same machine runs Jibri recording, and plan for 16 GB if it also runs Vosk transcription.

How many participants can one Jitsi server handle?

On our deployments a 2 vCPU, 4 GB server handles around 50 participants across all rooms and an 8 GB server around 100, provided the network can carry the video. Beyond a few hundred participants you add more videobridges rather than a bigger machine.

Does Jitsi need a GPU?

No. Jitsi Videobridge forwards video streams without decoding them, so it needs network capacity, not graphics hardware. Jibri recording encodes video on the CPU, which is why recording servers need more cores.

Can I run Jitsi without a domain name?

You can reach it by IP address, but browsers only allow camera and microphone access on a secure HTTPS page, and a trusted certificate needs a domain. Without one, every user has to click through a certificate warning, and some browsers and Jibri will refuse to connect.

Which ports does Jitsi Meet use?

443/tcp for the web app and signalling, 10000/udp for audio and video, and 80/tcp for the Let's Encrypt challenge and the redirect to HTTPS. Keep 22/tcp open for SSH, ideally only from your own IP.

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