Jitsi Meet
A browser-based video meeting application with screen sharing, chat, moderation, recording integrations, and embedding options.
Why consider Jitsi Meet?
Jitsi Meet is a fully encrypted, open-source video conferencing platform that allows teams to host secure meetings directly in web browsers and mobile apps. It provides self-hostable server components and developer SDKs for integrating real-time audio, video, and screen sharing into custom applications.
Learn Jitsi Meet by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide4 sections
Jitsi Meet: Deploying Open-Source Video Conferencing and Embedding Real-Time Audio-Video
Organizations seeking complete control over their communications infrastructure frequently turn to self-hosted collaboration tools. As stated in the official project repository, Jitsi Meet is a set of Open Source projects which empower users to use and deploy video conferencing platforms with state-of-the-art video quality and features. The platform enables distributed teams to communicate securely without relying on third-party SaaS vendors.
From an end-user perspective, simplicity is a primary design goal. According to official project documentation, using Jitsi Meet is straightforward, as it's browser based. Participants can join meetings instantly using modern web browsers on desktop systems or through official mobile clients on iOS and Android without mandatory pre-meeting software installations.
Privacy and security form the foundation of the platform's protocol design. As documented on the official website, Jitsi Meet is a fully encrypted, 100% open source video conferencing solution that you can use all day, every day, for free — with no account needed. This architecture guarantees that meeting metadata and media streams remain under the host organization's direct governance.
Core Architecture and Component Breakdown
Understanding the underlying infrastructure helps administrators maintain and scale their clusters efficiently. As explained in the deployment guide, a Jitsi Meet installation can be broken down into the following components: a web front-end served by Nginx, the Prosody XMPP signaling server, the Jicofo conference focus orchestrator, the Jitsi Videobridge (JVB) Selective Forwarding Unit for video routing, the optional Jigasi SIP gateway, and the Jibri broadcasting recorder.
Each component handles a distinct tier in the media pipeline. Signaling between clients takes place over XMPP, while high-throughput audio and video streams flow directly through the videobridge SFU to minimize latency across multi-party conferences.
Deploying Jitsi Meet with Docker and Containers
Containerization offers the fastest route to running a complete stack locally or on cloud virtual machines. As outlined in the official handbook, in order to quickly run Jitsi Meet on a machine running Docker and Docker Compose, follow these steps: start by obtaining the release archive and copying the template configuration file.
cp env.example .envSecurity hardening is built into the container deployment pipeline to prevent unauthorized room access. Operators must generate distinct internal cryptographic keys before starting any containers, as noted in the guide at https://raw.githubusercontent.com/jitsi/handbook/master/docs/devops-guide/docker.md by executing the bundled password generator script:
./gen-passwords.shModern container releases enforce rootless isolation for all runtime services. In accordance with the security policy in the documentation, the containers run as an unprivileged user (uid/gid 1000), so the storage and tmp directories must be writable by that user. Preparing host directory permissions prior to boot ensures that Prosody, Jicofo, and Web containers start without permission errors.
Public instances require valid transport encryption certificates for WebRTC media streams to function. The handbook highlights that if you want to expose your Jitsi Meet instance to the outside traffic directly, but don't own a proper TLS certificate, you are in luck because Let's Encrypt support is built right in. Enabling automated ACME renewal in your environment configuration provides effortless SSL management.
Self-Hosting Prerequisites on Debian and Ubuntu
For production bare-metal environments, administrators can deploy native packages directly. Follow these steps for a quick Jitsi-Meet installation on a Debian-based GNU/Linux system. The following distributions are supported out-of-the-box: Debian 11 (Bullseye) or newer, and Ubuntu 22.04 (Jammy Jellyfish) or newer.
Proper network firewall rules are mandatory for WebRTC media negotiation and Let's Encrypt domain validation. As documented in the quickstart guide, the following ports need to be open in your firewall, to allow traffic to the Jitsi Meet server: port 80 TCP for HTTP validation, port 443 TCP for HTTPS web traffic, and port 10000 UDP for RTP audio and video data streams.
Integrating Video Rooms with the React SDK
Developers can easily embed interactive video meetings into web products using official client libraries. As documented in the developer handbook, the Jitsi Meet React SDK provides the same user experience as the Jitsi Meet app, in a customizable way which you can embed in your apps. This allows teams to construct custom collaboration interfaces without rebuilding WebRTC signaling from scratch.
To access the React SDK modules in your application you need to install it as a dependency: you can add the official package to your JavaScript or TypeScript project using the standard package manager.
npm install @jitsi/react-sdkAfter installation, developers can instantiate video meetings directly in their JSX layout with custom event handlers and interface overrides, as detailed in the official documentation at https://raw.githubusercontent.com/jitsi/handbook/master/docs/dev-guide/react-sdk.md using the JitsiMeeting component:
<JitsiMeeting domain = { YOUR_DOMAIN } roomName = "PleaseUseAGoodRoomName" configOverwrite = {{ startWithAudioMuted: true, disableModeratorIndicator: true, startScreenSharing: true, enableEmailInStats: false }} interfaceConfigOverwrite = {{ DISABLE_JOIN_LEAVE_NOTIFICATIONS: true }} userInfo = {{ displayName: 'YOUR_USERNAME' }} onApiReady = { (externalApi) => { // here you can attach custom event listeners to the Jitsi Meet External API // you can also store it locally to execute commands } } getIFrameRef = { (iframeRef) => { iframeRef.style.height = '400px'; } }/>By combining resilient container deployment patterns, modular server components, and developer-friendly client SDKs, Jitsi Meet empowers teams to operate high-performance, private video conferencing platforms. For additional source code, issue tracking, and ecosystem contributions, explore the main Jitsi Meet GitHub Repository.
Related tools
More options with a similar category or technology profile.
MISP
Open source threat intelligence and cyber security information sharing platform.
Zulip Mobile
Official React Native mobile application for Zulip organized team chat.
Wire Server
End-to-end encrypted enterprise team communication, conferencing, and file sharing platform.
Signal Server
Enterprise-grade end-to-end encrypted messaging server infrastructure powering Signal.