How to Use Jitsi: The Beginner's Guide to Self-Hosted Video Meetings

CodexFuse Team · 2026-11-01T15:16:16.036Z · 11 min read

What Is Jitsi?

Learning how to use Jitsi is the fastest way to get Zoom-style video meetings without paying for Zoom. Jitsi is a free, open-source video conferencing platform you host on your own server — your private alternative to Zoom or Google Meet, with no per-user subscription and no meeting platform watching your calls.

A complete Jitsi deployment is four parts working together: web is the Jitsi Meet interface your users see in the browser, Prosody is the XMPP server that handles all the signaling (who joins, who leaves, who speaks), Jicofo is the conference focus that assigns each meeting to a video bridge, and Jitsi Videobridge is the video router that moves everyone's audio and video between participants. The mental model to carry through this guide is simple: Meet is the face, the other three are the machinery behind it. If you have run anything in containers before, our Docker beginner guide covers the container basics this walkthrough assumes.

One clarification before anything else: Jitsi is not only self-hosting software. The project also runs meet.jit.si, a free public instance where anyone can start a meeting in a browser with no account at all. It is still live today, though since October 2026 its meetings are limited to 95 minutes. That public instance is the perfect try-before-you-host lane — the rest of this guide is about running your own Jitsi, where you set the rules.

How Do You Install Jitsi?

The fastest supported path is the official docker-jitsi-meet repository — still the project's official Docker deployment in late 2026, with the current stable release stable-11248-1. Treat this section as your Jitsi Meet tutorial for a first production deployment. Note two recent changes: since the stable-11146 line the images run as rootless unprivileged containers and are published to GitHub Container Registry instead of Docker Hub. Here is the whole arc:

  1. Download the latest release archive from the docker-jitsi-meet releases page and unzip it on your server. Do not clone the Git repository for a production install — it carries the daily unstable images and is meant for testing.
  2. Copy env.example to .env and run ./gen-passwords.sh to generate the internal service passwords.
  3. Create the persistent config directories under ~/.jitsi-meet-cfg/ (web, prosody, jicofo, jvb, plus jigasi, jibri, and transcriber when you need those).
  4. Edit .env: set PUBLIC_URL to your real domain, and turn on built-in Let's Encrypt with ENABLE_LETSENCRYPT=1, LETSENCRYPT_DOMAIN, and LETSENCRYPT_EMAIL.
  5. Open your firewall ports: 80/tcp (redirects to HTTPS), 443/tcp (the meetings themselves), and 10000/udp (the actual audio and video traffic — UDP is the media highway).
  6. Run docker compose up -d.
  7. Open https://your-domain, type any room name, and start talking.
# production install — use the release archive, not git clone
wget -q -O - https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep zip
unzip docker-jitsi-meet-*.zip && cd docker-jitsi-meet-*
cp env.example .env
./gen-passwords.sh
mkdir -p ~/.jitsi-meet-cfg/{web,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri,transcriber}
# edit .env: PUBLIC_URL, ENABLE_LETSENCRYPT, LETSENCRYPT_DOMAIN, LETSENCRYPT_EMAIL
docker compose up -d

A complete Jitsi install on a fresh VPS takes about an afternoon, and the official Jitsi Docker images have run rootless since the stable-11146 line. The domain and TLS step is the one beginners underestimate. For real use, PUBLIC_URL must be your actual domain and the built-in Let's Encrypt setup handles certificates automatically. The default local setup uses a self-signed certificate — fine for a smoke test, but the official guide warns plainly that the mobile apps will not work with it. Proper TLS is not optional if your team joins from phones.

For the server itself, the official requirements suggest 8 GB of RAM, 4 dedicated CPU cores, and 20 GB of disk for a real server (a small test box can get by with less), plus roughly 1 Gbits/s of bandwidth for a friends-and-family deployment. Media bandwidth scales with resolution:

Video qualityBandwidth per participant
180p200 kbits/s
360p500 kbits/s
720p2500 kbits/s
4K10 Mbits/s

If you do not have a server yet, our VPS hosting guide walks through picking one — any modest VPS meets the bar above.

How Do You Secure Jitsi?

Here is the gotcha every beginner needs to hear exactly once: by default, anyone with your meeting link can join your Jitsi room. There is no login wall until you add one, so enable authentication before you share your server with the public internet.

The official way is ENABLE_AUTH=1 in .env plus an AUTH_TYPE — internal (XMPP usernames, the default), jwt, or ldap. Pair it with ENABLE_GUESTS=1 and unauthenticated visitors wait until an authenticated user joins the room. Create users inside the Prosody container:

docker compose exec prosody /bin/bash
prosodyctl --config /run/prosody/config/prosody.cfg.lua register alice meet.jitsi "a-strong-password"

One migration note for anyone following older tutorials: the legacy "secure domain" setup — a separate guest.meet.jitsi Prosody domain for anonymous joiners — is now deprecated. The official documentation points new deployments at JWT authentication instead. If a guide tells you to hand-build a guest domain from scratch, it is quoting an older era.

How Do Rooms and Moderator Controls Work?

A Jitsi room is just a name: opening https://your-domain/TeamStandup creates the room the moment the first person arrives, and it vanishes when everyone leaves. There is no dashboard and no scheduling database — the URL is the room.

Once inside, Jitsi moderator controls live in the toolbar: add a password from Security options, hold newcomers in the lobby until admitted, mute everyone, kick disruptive participants, and share your screen. Community tutorials report that whoever joins first acts as moderator — so with authentication enabled, only your signed-in users can claim that role, which is exactly why the previous section matters. For recurring team meetings, pair this guide with a plan: our Jitsi Meet video meeting planner helps you set the agenda and build shareable room links before you go live.

How Do You Record a Jitsi Meeting?

Say the recording lesson once and build your plan around it: Jibri, Jitsi's recording component, needs its own machine. One Jibri instance records exactly one meeting at a time, and the official requirements warn plainly that running it on the same server as Jitsi Meet will hurt call quality. Budget a second VM with at least 8 GB of RAM for a single 720p recording (12 GB if you want higher resolution).

Jitsi recording comes in two flavors: Jibri-powered file recordings and YouTube/RTMP livestreams, plus a native local mode that saves a WebM file to the device. The project's FAQ also documents Dropbox integration. The point is that recording is an add-on you enable deliberately — not a button that works out of the box on a default install. Plan the second server before you promise recordings to your team.

How Do You Add Dial-In Phone Numbers?

Jigasi is Jitsi's gateway to the telephone network: a small, still-maintained component that lets regular phone callers dial into your meetings, and it also powers server-side transcription (including Whisper-based engines). In the Docker setup it is an optional compose file, not part of the default stack:

docker compose -f docker-compose.yml -f jigasi.yml up

It needs UDP ports 20000–20050 open. Most small teams can skip Jigasi entirely — add it only when someone on your team genuinely needs to join from a plain phone line.

How Do the Jitsi Mobile Apps Work?

The official Jitsi Meet apps for Android and iOS — published by 8x8, Inc., which has stewarded the Jitsi project for years — connect to any deployment: open the app, point it at your server's URL, and join. The one hard rule, stated once: the apps refuse the default self-signed certificate, so the Let's Encrypt setup from the install section is mandatory for a phone-using team. If you want to try the apps today with zero setup, the public meet.jit.si instance is the place to do it.

When Should You Use Jitsi-as-a-Service Instead?

The graduation line, said once: self-hosting is for teams that want full control over their data and their bill; if you would rather pay than maintain servers, Jitsi-as-a-Service (JaaS) is 8x8's hosted Jitsi offering — you sign up through the 8x8 developer portal and embed Jitsi's video into your own product without touching Docker. It comes from the same project that runs meet.jit.si and publishes the mobile apps. (Free-tier details were not verifiable on 8x8's own pages this week, so check the current offer before budgeting around it.)

How Does Jitsi Compare to Zoom?

They answer different questions. Zoom is a polished commercial product with a generous free tier; Jitsi is the best-known self hosted Zoom alternative — infrastructure you own. In any Jitsi vs Zoom decision, the honest comparison for a team choosing between them:

QuestionSelf-hosted JitsiZoom (free plan)meet.jit.si (public)
CostYour server bill only — the software is free and open sourceFree with limitsFree, no account needed
Meeting lengthYou decide — limited only by your hardware40 minutes per meeting (per a third-party guide)95 minutes (since October 2026)
Who hosts the mediaYour serverZoom's cloud8x8's cloud
Join without an accountYes — link join, you control authYes — link joinYes — link join
MaintenanceYours (updates, backups, monitoring)NoneNone

If your team already runs services behind its own front door, our Caddy beginner guide covers the reverse-proxy pattern for putting Jitsi alongside your other apps on one server.

7 Mistakes Beginners Make With Jitsi

MistakeWhat actually happensDo this instead
Sharing the room link before enabling authenticationAnyone who guesses or receives the link walks straight inSet ENABLE_AUTH=1 and create users before going public
Testing with the default self-signed certificateBrowsers warn, mobile apps refuse to connect at allFinish the Let's Encrypt setup before inviting phone users
Putting Jibri on the Jitsi server itselfRecordings drain CPU and degrade everyone's call qualityGive Jibri its own VM — 8 GB RAM minimum for 720p
Following an old secure-domain tutorialYou build a deprecated guest.meet.jitsi setup the docs no longer recommendUse AUTH_TYPE=jwt for new deployments
Forgetting UDP port 10000The page loads fine but nobody hears or sees anyoneOpen 10000/udp alongside 80/tcp and 443/tcp
Cloning the Git repo for a production installYou run daily unstable images instead of a tested releaseDownload the latest stable release archive
Reusing the example passwordsInternal service credentials are guessable by designRun ./gen-passwords.sh and keep .env private

Sources

  • Jitsi Handbook — Docker self-hosting guide (install, .env, ports, auth, mobile cert warning, Jigasi compose)
  • Jitsi Handbook — Secure domain documentation (guest domain deprecation, JWT recommendation)
  • Jitsi Handbook — Server requirements (sizing, bandwidth table, Jibri separate-server rule)
  • Jitsi Handbook — FAQ (recording modes, Dropbox integration)
  • Jitsi Handbook — Configuration reference (file recording options)
  • docker-jitsi-meet releases — current stable release (stable-11248-1)
  • jitsi-meet releases — current stable tag (stable/jitsi-meet_11248)
  • Jigasi repository — SIP gateway and transcription role, maintained status
  • meet.jit.si — public instance live status
  • Jitsi blog, October 2026 — 95-minute meeting limit on meet.jit.si
  • 8x8 developer portal — Jitsi-as-a-Service onboarding
  • Google Play — Jitsi Meet app listing (8x8, Inc.)
  • allthings.how — Jitsi Meet usage walkthrough (no-account joining, password controls)
  • createyourownonlinecourse.org — Jitsi video conferencing tips (Zoom free-plan comparison)

Frequently Asked Questions

Is Jitsi really free?

The software is free and open source — you pay only for the server you run it on. The public meet.jit.si instance is also free to use with no account, but since October 2026 its meetings are capped at 95 minutes, so it is a trial lane, not a home base.

Do participants need an account to join my Jitsi meeting?

No. Anyone with the room link can join from a browser with no account and no download, which is why enabling authentication on your own server matters: it decides who gets to create rooms while guests simply wait for an authenticated user to let them in.

Can I record a Jitsi meeting?

Yes, with Jibri — but plan for a second server, because one Jibri instance records one meeting at a time and running it on your Jitsi box degrades call quality. Jibri supports file recordings and YouTube or RTMP livestreams, and there is also a native local recording mode that saves a WebM to your device.

How is Jitsi different from Zoom?

Zoom is a commercial service with a free tier limited to 40-minute meetings; Jitsi is software you host yourself, so there is no vendor-imposed time limit and no per-user fee — your only cost is the server. You also keep your meeting data on your own infrastructure instead of a vendor's cloud.

Is Jitsi secure?

It can be, but security is opt-in. Out of the box anyone with the link can join, so enable authentication, use room passwords and the lobby for sensitive meetings, and keep the server updated. For the strongest setup the official docs now recommend JWT authentication over the deprecated secure-domain approach.

Featured on Twelve Tools Launch Llama Tools Launch your MCP