−25%

on annual Windows plans, until 31 Oct. See plans

EQVPS

VPS for Jitsi Meet: private video calls

Self-host Jitsi Meet for private video calls: what a VPS really handles, the apt install, UDP port 10000, HTTPS and locking rooms against strangers.

Most video-call services are free because your meetings pay for them in data. Jitsi Meet is the open-source alternative you can run yourself: calls in the browser, no account needed for guests, and the server is yours. It installs from an apt repository in about fifteen minutes. The part to plan for is capacity.

How Jitsi uses the server

Jitsi uses a Selective Forwarding Unit: each participant sends their video once to the server, and the server forwards it to everyone else. No transcoding, so CPU stays moderate — but bandwidth grows with every person on the call. A participant typically sends 1–2 Mbit/s and receives several streams.

Meeting sizePlan
1:1 calls, up to ~5 peopleMicro-IP — 1 vCPU, 2 GB, $10/mo
Team meetings, up to ~10–15 with videoSmall-IP — 2 vCPU, 4 GB, $16/mo
Larger calls, several rooms at onceMedium-IP — 4 vCPU, 6 GB, $20/mo

These are rough numbers. Screen sharing costs less than camera video; everyone at 720p costs more.

What you need

Install

Set the hostname to your meeting domain, add the Jitsi repository, and install:

hostnamectl set-hostname meet.example.com
curl -sL https://download.jitsi.org/jitsi-key.gpg.key \
  | gpg --dearmor -o /usr/share/keyrings/jitsi-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" \
  > /etc/apt/sources.list.d/jitsi-stable.list
apt update && apt install -y jitsi-meet

The official quick-install guide also adds the Prosody repository — follow it for your Ubuntu version. The installer asks for the domain and offers a free Let's Encrypt certificate; take it.

Open the ports

ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000/udp
ufw allow 22/tcp

If calls connect but show black video or drop after a few seconds, UDP 10000 is almost always the reason.

Lock it down

Out of the box, anyone who finds your URL can create meetings on your server. Turn on secure domain authentication: only accounts you create can start a room, while guests with the link can still join. The steps are in the Jitsi handbook under "Secure Domain setup" — it's a few lines in the Prosody and Jicofo configs, then:

prosodyctl register alice meet.example.com 'a-strong-password'
systemctl restart prosody jicofo jitsi-videobridge2

For sensitive calls, also set a room password and turn on the lobby from the meeting menu.

Honest limits

Self-hosted calls fit nicely with other private tools — a WireGuard or OpenVPN server, or your own Matrix chat. How IPv4 and IPv6 work on each plan is in the network docs.

Ready to deploy? Pay with crypto, no KYC — live in about a minute.

Deploy now →

FAQ

How many people can a small VPS handle?

Jitsi forwards video instead of mixing it, so bandwidth and CPU grow with participants. On a 2 vCPU / 4 GB server, meetings of up to roughly 10–15 people with video work well. Turning video down or off lets you go higher.

Why do I need a dedicated IP?

Participants connect to your server on TCP 443 for the web page and on UDP 10000 for the media. A NAT plan forwards only your personal SSH port, so the media can't reach the server.

How do I stop strangers from creating rooms?

Enable secure domain authentication in Prosody. Then only accounts you create can start a meeting, while guests with the link can still join it.

Can I record meetings?

Recording uses Jibri, which runs a full Chrome instance plus ffmpeg per recording and needs several more gigabytes of RAM. It's not a good fit for small plans; run it on a separate, larger server if you need it.

Is Jitsi end-to-end encrypted?

Calls are always encrypted in transit. Jitsi also supports optional end-to-end encryption in supported browsers. Self-hosting means even the transport-level keys are on a server you control.

Comments

No comments yet. Be the first.

Leave a comment

Comments are moderated before they appear.