How Jitsi high availability and scaling differ from a single-server install
If your team has a working Jitsi Meet test server and now needs room for more concurrent meetings or a second site, the first thing to understand is that Jitsi scales by adding videobridges while the central server stays separate. High availability is therefore a planning exercise rather than a switch you turn on in the configuration file. The single-server install hides this split because one machine runs the web server, Prosody, Jicofo and Jitsi Videobridge together. Once you divide those roles, each one needs its own sizing, its own failure plan and its own place in your network design.
The central server is the first source of difficulty. Prosody and Jicofo handle signaling for every conference, so they remain a single point of dependency even when you have several bridges. If that node fails, existing media paths may survive for a short time, but new meetings cannot be created and participants cannot be coordinated reliably. The official scalable setup guide suggests a 4 CPU, 8 GB machine for the central server, which is a starting point to validate against your own meeting volume, not a guarantee of capacity. Ask your team to document how you will restore this node, how quickly, and what state (such as user accounts or configuration) must be recovered from backup.
Bridges are the second source of difficulty. Each videobridge must be configured to register with the central server, use the correct domain, and advertise a reachable address for media. Small differences between bridges, such as a different Java version, an outdated package or a missing firewall rule for 10000/UDP, can cause meetings to fail only when they land on one particular bridge. A bridge failure is also different from a central server failure: it drops media for the participants currently on that bridge, and they must rejoin. Plan how users will be told to reconnect, and test that a meeting moved to another bridge behaves as you expect.
The official scalable setup guide states that the default install is already configured for horizontal scaling, and it recommends configuration management tools such as Ansible or Puppet so that every bridge is built the same way. It also warns that building scalable infrastructure is not a task for beginning Jitsi administrators. Before you commit to a design, confirm internally who will own the central server, who will build and rebuild bridges, and whether that team can maintain configuration drift controls. If that skill set is not present, scope a partner or a pilot before you add production load.
Practically, the next steps are to write down your expected concurrent participants per site, choose how many bridges you will run at first, and decide how a lost bridge or central server will be detected and recovered. Put those answers in a short runbook and test a bridge loss in a staging environment with the same versions and firewall rules as production. The sibling sections on sizing and network configuration cover the detailed ports and capacity work, so use this section to frame which decisions must be made before those details are finalized.
Which Jitsi components carry signaling, media and capacity
A Jitsi Meet deployment splits work between a central signaling server and media routers that can be added as capacity grows. Knowing which component carries which job tells you what to scale, what to duplicate for resilience and what can stay optional.
Web server serving the app
The web server, typically nginx or Apache, serves the Jitsi Meet web application to browsers and terminates HTTPS for the public domain. It carries no conference media, so its load is light compared with the videobridges. Check that the certificate matches the domain users open, because the Jitsi handbook states that HTTPS with a proper domain certificate is necessary for working audio and video and warns that self-signed certificates cause problems, especially on mobile clients.
Prosody as the XMPP server
Prosody is the XMPP server that handles signaling: room state, participant presence and authentication for the meeting. It runs on the central server alongside Jicofo, so it is not added per meeting or per bridge. Confirm how it is recovered after a failure, since every new participant depends on it being reachable before any media flows. Sizing guidance in the scalable setup guide starts from a central server of 4 CPU and 8 GB RAM.
Jicofo as the conference focus
Jicofo, the conference focus, decides which videobridge hosts each conference and coordinates media sessions between participants and bridges. Like Prosody, it runs on the central server, so it sets how the platform distributes load rather than carrying media itself. When you add bridges, confirm that Jicofo discovers and balances across all of them, and test that a new bridge receives conferences after it joins.
Videobridges as media routers
Jitsi Videobridge routes encrypted audio and video between participants, and it is the component that scales out. The scalable setup guide says videobridges scale horizontally by adding more, and it suggests 4 or 8 CPU with 8 GB RAM for each bridge. Capacity planning starts from the expected concurrent participants and the number of bridges that will carry them, so the number of bridges is the main variable to size.
Container placement in Docker
The official Docker setup runs web, prosody, jicofo and jvb as separate containers, so each component can be restarted, replaced or moved without rebuilding the others. Bridge containers are the ones to place on separate hosts when you need more capacity or regional spread. Check how each bridge's public address is advertised, since a bridge that is replaced on a new host must advertise the address its clients can reach.
Optional Jibri and Jigasi components
Jibri handles recording and streaming and Jigasi provides SIP dial-in and transcription. Both are optional and sit outside the core signaling and media path, so they do not change how conferences scale. Jibri runs one recording at a time per instance and should run on its own machine or VM, so plan its capacity separately if recording is required. Decide whether either component is needed before sizing the core cluster.
Which architecture decisions shape Jitsi availability
This table compares the main topology and packaging choices for a Jitsi Meet fleet, with the concurrency, site count and downtime tolerance that suit each one and the operational cost it carries. Read each row as a decision: the first column names the choice, and the other cells show when it fits and what it asks of your team.
| Decision option | When it fits | Operational cost | What a central server outage stops |
|---|---|---|---|
| Single central server with one videobridge | Small, single-site use with low concurrency and tolerance for planned downtime | Simplest to build and monitor; one host to patch, one certificate set, no bridge drift | Everything: web app, Prosody, Jicofo and the only bridge, so no new meetings start |
| Central server with several bridges in one location | Growing concurrency at one site where a few bridges share the same network | Each bridge needs matching configuration and certificates; monitor each bridge's load and health | Signaling stops new meetings, while bridges already carrying media depend on the central services |
| Separate regional bridges homed to one central server | Several sites or regions that need media close to participants and can accept a shared control plane | Bridges in each region add firewall, public IP and certificate work; monitoring scope spans regions | Control plane for all regions: no new conferences start anywhere until the central server recovers |
| Docker containers for the bridge fleet | Teams already running container platforms and wanting repeatable image-based rollouts | Image versions, environment files and read-only filesystem settings must match across bridges; upgrades are image swaps | Same as the chosen topology; packaging does not remove the central dependency |
| Debian packages for the bridge fleet | Teams that run Debian or Ubuntu hosts and manage them with configuration management | Package versions and repository pins must match across hosts; configuration management must cover every bridge | Same as the chosen topology; packaging does not remove the central dependency |
| Central server sized per the supplied guidance | Any deployment where the central services run on dedicated hosts | Central server needs its own patching, backups and monitoring separate from bridges | Signaling, web delivery and conference focus; confirm failover approach with your vendor or test plan |
How to build a horizontally scaled Jitsi deployment
This sequence builds one central server and a set of videobridges that each run on their own host with their own public address. Each step ends with a check, so the team knows the deployment can take on another bridge before moving on.
Confirm the operating system and install path
The engineer who owns the platform compares the target hosts with the Jitsi Debian/Ubuntu quick start, which supports Debian 12 (Bookworm) or newer and Ubuntu 24.04 or newer and requires OpenJDK 17. The team then chooses between the Debian packages and the official Docker setup, since the two paths differ in how services are installed and upgraded. Confirm that the chosen path is documented for the exact release you will run. Done means a written decision record that names the OS, the install path and the Jitsi release tag.
Provision the dedicated central server
The infrastructure team creates a host for the web server, Prosody and Jicofo only, and keeps videobridges off it. The Jitsi scalable setup guide suggests 4 CPUs and 8 GB of RAM for the central server, which you should treat as a starting point and confirm against your expected load. Assign a DNS name with a valid domain certificate, and open 80/TCP and 443/TCP for the web interface. Done means the host resolves by name, serves a valid HTTPS page, and passes a basic reachability test from a client network.
Install the core stack on the central server
The engineer installs the web server, Prosody, and Jicofo on the central host, using the path chosen in the first step. Configure the domain, the XMPP settings and the signaling components so that Jicofo can coordinate conferences across bridges that do not exist yet. Keep the default horizontal scaling configuration that the scalable setup guide describes. Done means every core service starts cleanly, the web app loads in a browser, and the logs show no certificate or XMPP authentication errors.
Add the first videobridge on its own host
The infrastructure team provisions a separate host for the first videobridge, sized at 4 or 8 CPUs with at least 8 GB of RAM according to the scalable setup guide. Give the bridge its own public address and make sure UDP 10000 is reachable from clients. Open 5349/TCP if you need a TCP fallback for restrictive networks, and install a valid domain certificate because the bridge terminates media. Done means the host answers on its public address, the certificate validates from outside your network, and the port checks pass from a test client.
Confirm the bridge registers with the central server
The engineer connects the first bridge to the central server using the settings from the core install, then restarts the bridge service. Check the central server and bridge logs, or your monitoring, for evidence that the bridge has connected and is available to Jicofo. If it does not appear, verify the shared secret or credentials, the DNS name and the open ports before retrying. Done means the central server reports the bridge as connected and the bridge logs show a successful connection.
Test a conference lands on the expected bridge
The engineer creates a test room from two browsers on different networks and confirms that audio and video flow in both directions. Check the bridge logs or statistics to verify the conference is hosted on the bridge you added, not on the central server. Repeat the test after each restart of the bridge to confirm that registration persists. Done means the test conference runs on the expected bridge with working audio and video, and the result is recorded in the change log.
Add further bridges one at a time
The infrastructure team adds each additional bridge using the same host sizing, public address, certificate and port rules as the first bridge. Add one bridge at a time, register it, and run a test conference that lands on it before adding the next. Use configuration management to build each bridge, so it matches the first one exactly. Done means each new bridge passes the registration check and the test conference, and the central server lists every bridge as available.
Keep bridges identical with configuration management
The engineering team writes the bridge configuration as code, using a tool such as Ansible or Puppet, which the Jitsi scalable setup guide recommends. Store the playbook or manifest in version control, and use it to build and update every bridge. Run the same test conference after each change to confirm nothing drifted. Done means a fresh bridge built from the code registers and passes the test conference without manual edits.
Sizing CPU and RAM for each videobridge
The Jitsi scalable setup guide gives a starting point for each role: a 4 CPU, 8 GB machine for the central server, and 4 or 8 CPU with 8 GB RAM for each videobridge. Treat these figures as a baseline for a first build, not as a capacity commitment. The guide recommends adding more videobridges to scale horizontally, so the decision you actually face is how many bridges to run and how large each one should be. Settle the per-bridge size only after you have measured how your own meetings load it.
Bridge load does not follow from the machine specification alone. It depends on how many participants share a bridge, the video quality that participants send and receive, whether simulcast is in use, how often screen sharing runs (screen content is heavier to encode and route than camera video), and the network bandwidth each bridge carries in and out. Two bridges of the same size can behave very differently if one hosts large all-hands meetings with screen sharing and the other hosts small team calls. Build your load test around the meeting pattern you expect in production, with a realistic mix of participant counts, video on and off, and sharing, rather than a single synthetic test of maximum participants.
During a pilot, measure CPU, memory and network bandwidth on each videobridge while meetings run, and record them alongside the participant count per bridge. Look at peak values during the busiest meetings, not averages across a quiet day. Use those measurements to set a per-bridge participant ceiling with headroom, so that the scheduler or your operating procedure moves new meetings to another bridge before the current one is saturated. Confirm the bridge's network allocation and any cloud bandwidth limits with your provider, because a bridge can run out of bandwidth before it runs out of CPU.
Keep Jibri out of this sizing exercise. The Jibri README states that a Jibri instance should run on its own machine or VM, because it runs Chrome in a virtual framebuffer and encodes with ffmpeg. Its load is a different profile from a videobridge, so do not count a Jibri host toward bridge capacity or place it on a bridge host. Recording needs are covered in the Jibri section of this page, but plan the machine for it separately from the bridge pool.
What drives the effort of scaling Jitsi
This table lists the drivers that change the effort and cost of scaling Jitsi Meet beyond one server, with how to keep each one down and who usually pays for it. Read each row as a lever you control in the design, with the last column showing where a partner's fixed-scope work and your internal time typically differ. The main takeaway is that a repeatable bridge template and automated certificates reduce effort more than any single hardware choice.
| Driver | Why it changes effort or cost | How to keep it down | Who is paid for what with a partner |
|---|---|---|---|
| Expected peak concurrent participants | Peak load sets how many videobridges you need and how much CPU and RAM each one carries. Estimates made without a peak figure tend to be revised after launch. | Measure peak concurrency from current meeting data, then size from a fixed baseline with headroom agreed in writing. | Partner scopes the sizing study and load profile. Your team supplies usage data and approves the target load. |
| Number of sites and regions | Each region adds a bridge pool, network paths, DNS records and certificates to manage, and multiplies monitoring scope. | Start with one region and a documented pattern, then copy it. Keep the region list short until users show a need. | Partner designs and builds each region from the same pattern. Your network team confirms routing, firewall and public IP details. |
| Bridge count and hardware or cloud instance type | Each videobridge is a separate machine or VM to patch, monitor and replace. Shared hosts complicate failure planning. | Use one image or template for every bridge, and keep instance types identical so capacity can be added by cloning. | Partner builds the image and automation. Your cloud or data center team provides accounts, instance quotas and hardware lead times. |
| Certificate and DNS work per host | Every public host needs a valid domain certificate, since the Jitsi handbook says self-signed certificates cause problems with audio and video. Manual renewal across many hosts is a recurring risk. | Automate issuance and renewal with one certificate process for all hosts, and monitor expiry dates centrally. | Partner sets up the automation and DNS records once. Your team owns domain registration, DNS zone access and any internal certificate authority policy. |
| Configuration management setup | The Jitsi scalable setup guide recommends tools such as Ansible or Puppet, because hand-configured bridges drift apart over time. | Keep all bridge and central server settings in version-controlled playbooks or manifests, with one inventory per environment. | Partner writes and tests the playbooks as a fixed-scope deliverable. Your team handles access, secrets storage and the review process for changes. |
| Load testing time | Scaling claims need evidence from realistic meeting patterns, including screen sharing and many video tiles. Test rounds repeat when results miss the target. | Define the test scenarios and pass criteria before testing, and rerun only the scenarios that changed. | Partner runs the load tests and writes the report. Your team agrees the scenarios, provides test accounts and reviews findings. |
| Monitoring and alerting | Bridge health, CPU, memory, bandwidth and certificate expiry all need alerts. Gaps show up as failed meetings, not as clear errors. | Use a single monitoring stack for every bridge and the central server, with alert thresholds documented in the runbook. | Partner configures dashboards and alert rules. Your team owns the monitoring platform, notification routing and alert tuning after handover. |
| Internal IT time for on-call | Someone must respond when a bridge fails mid-meeting. The effort depends on how many people are trained and how many out-of-hours cases the rota covers. | Write a short failover runbook, practice bridge replacement, and keep the rota small but trained. | Partner can provide retainer support for defined hours or incident types. Your team keeps the final accountability and any out-of-hours staffing decisions. |
How Jitsi scaling changes by deployment model
A single server runs the web app, Prosody, Jicofo and one videobridge. This is the simplest layout to build and verify, and it suits pilots and small teams. Every meeting on the platform depends on that one machine being available.
- Availability gain: little beyond a clean restart. A failure of the host ends every meeting on it.
- New failure points: the host, its disk and network link, and the signaling services that share the same box.
- Networking needs: one public address reachable on 443/TCP, 80/TCP and 10000/UDP, with 5349/TCP for TCP fallback and 3478/UDP for STUN if you use them. Confirm NAT settings if the host sits behind a firewall.
- Operational overhead: the lowest of any layout, with one set of patches, one certificate and one backup target.
Confirm whether the business can accept a full outage during patching and restarts before treating this layout as the production baseline.
Videobridges run on separate hosts in one location, while the central server stays on its own machine. Adding bridges spreads media load and limits the blast radius of a single bridge failure. The central server then becomes the shared dependency for the whole platform.
- Availability gain: losing one bridge drops only the meetings it hosts. New meetings can use the remaining bridges, but confirm how Jicofo handles a bridge that disappears mid-meeting.
- New failure points: the central server running Prosody and Jicofo. If it is down, new conferences do not start, even when every bridge is healthy.
- Networking needs: each bridge needs 10000/UDP reachable from clients and an address it advertises correctly. Confirm the NAT and public address settings for each bridge.
- Operational overhead: more hosts to patch in step, matching stable releases, and configuration management. The Jitsi scalable setup guide recommends tools such as Ansible or Puppet for this work.
Test a bridge removal in a pilot and record how existing and new meetings behave before you rely on this layout.
Bridges run in several regions, close to users, and all of them register with one shared central server. Media stays regional, which reduces the effect of a regional bridge outage. The central server is still a single control point across every region unless you design a recovery path for it.
- Availability gain: a bridge outage affects meetings in that region only, and users elsewhere keep their meetings.
- New failure points: the central server's location, wide-area links carrying signaling between regions, and per-region DNS and certificate handling.
- Networking needs: a public address for each bridge, correct advertised addresses per region, 10000/UDP open from every region, and TURN or TCP fallback for restrictive networks. Confirm each setting for your topology.
- Operational overhead: the highest of the public layouts. It covers monitoring across regions, version consistency, capacity planning per region, and a tested runbook for rebuilding the central server.
Confirm how long a central server rebuild takes from your backups in your environment, since that duration sets the impact of losing it.
Clients, bridges and the central server sit on an internal network with no public internet path. Availability depends entirely on the redundancy you build locally, because no external services are available for fallback. Naming, certificates and software updates all have to be handled inside the network.
- Availability gain: the same as the connected layouts, but without any external fallback path for media or signaling.
- New failure points: internal DNS, the internal certificate authority and its trust on every client, since the Jitsi handbook warns that self-signed certificates cause problems. Public STUN is also unavailable, so candidate addresses must resolve inside the network.
- Networking needs: private addresses for each bridge, 443/TCP for the web app, and 10000/UDP reachable inside the segment. Confirm whether you need local STUN or TURN servers for clients on separate subnets.
- Operational overhead: you stage operating system packages, Docker images and Jitsi releases into the network yourself, then test each update offline before it reaches production.
Confirm your internal certificate chain, DNS names and update process with your security and network teams before you size the bridges.
Kubernetes can host Jitsi components as scaled workloads, and bridges may be rescheduled after a node failure. Media over UDP needs careful service exposure and address advertising, so the design depends on how the cluster handles that traffic. Treat every Kubernetes layout as a design to validate, not a settled pattern.
- Availability gain: pods can restart or move to another node, but this depends on how media ports and addresses are exposed.
- New failure points: ingress for the web app, UDP exposure and load balancing for media, and node-level networking.
- Networking needs: confirm how 10000/UDP reaches each bridge and how each bridge advertises its address.
- Operational overhead: cluster operations are added on top of Jitsi operations.
Confirm the Kubernetes approach against current Jitsi documentation before use.
What happens when a videobridge fails during a meeting
A videobridge failure and a central server failure have different effects, so plan for each one separately. When a videobridge crashes or is taken out of service during a meeting, media stops for the participants homed on that bridge. Meetings on other bridges keep running. The central server runs Prosody and Jicofo, and its failure affects the whole deployment. New conferences cannot be created, and signaling for meetings already in progress is interrupted. Your design should treat the central server as a single point of failure unless you add redundancy to it, and your implementer should document how it is restored and how long that takes in your environment.
Spreading active meetings across bridges is the first control. Jicofo places participants on bridges, so the blast radius of one failure depends on how many meetings and participants share each bridge. More, smaller bridges mean a single failure touches a smaller share of meetings, but they also mean more machines to patch, monitor and pay for. Decide the per-bridge load you are willing to accept using the CPU, RAM and bandwidth figures from your sizing work. Then run a test meeting set and record which bridge each participant landed on, so you can confirm that placement matches your intent before go-live.
Draining a bridge before maintenance is the second control. A drain means no new conferences are placed on the bridge, existing meetings end or move on their own schedule, and only then is the host patched or restarted. Confirm with your Jitsi version whether the videobridge offers a graceful shutdown or drain mode, and how Jicofo responds to it. Schedule maintenance outside peak hours, announce the window to users, and check that the remaining bridges can carry the expected load during the window. Write the drain steps into a runbook and rehearse them in staging.
Deciding how many spare bridges to keep is a sizing decision that no general rule settles. The inputs are your peak concurrent participants, the largest number of participants you can accept losing in one failure, the time your team needs to replace or restart a bridge, and whether maintenance drains must run while the system still meets peak demand. Ask your implementer to model these inputs against your own usage data and to load test the chosen count. Revisit the number after each quarter of usage data, because growth in meeting size or recording use changes the answer.
Client behavior during a bridge loss must be confirmed in a pilot against the Jitsi version you run. The pilot should answer whether browsers and mobile apps reconnect automatically, whether users must rejoin by hand, how long recovery takes, and whether the participant lands on a healthy bridge. Kill a bridge during a scripted test meeting and record what each client shows. Then publish a clear rejoin path to users before cutover: the room link stays the same, the steps to take if the video freezes, and the contact who handles problems during a meeting.
What to monitor, back up and document for a scaled Jitsi fleet
A scaled Jitsi Meet deployment is a set of separate components that must stay in step: one central server, one or more videobridges and the configuration that ties them together. The four areas below cover what to watch, what to protect, how to keep versions aligned and what your team needs written down so that adding or losing a bridge does not depend on one person's memory.
Per-bridge capacity monitoring
Track CPU, memory, bandwidth and active participant counts for every videobridge separately, not as a fleet average. Jicofo places new conferences on bridges, so one saturated machine can degrade meetings while the aggregate graphs look healthy. Compare live figures against the sizing baseline you recorded, and alert on sustained high CPU and on bandwidth close to the port's capacity so you can drain a bridge before users notice.
Central server health checks
Monitor the central server as its own service: the web server, Prosody and Jicofo processes, their memory use and whether the XMPP and conference services accept connections. Bridges depend on this host for signaling, so a failure here stops new meetings even when every bridge is idle. Include checks for the JVB connection to Prosody, since a bridge that has lost its link stays online but receives no conferences.
Certificate expiry tracking
Track expiry dates for the public certificate on the web endpoint and for any certificate used by the components that connect to the central server. The Jitsi handbook says HTTPS with a proper domain certificate is necessary for working audio and video, so an expired certificate breaks every meeting at once. Confirm how renewal runs, who receives expiry alerts and whether the renewal process has been tested on a staging fleet.
Configuration and secrets backups
Back up the central server configuration, the .env files used by the deployment, the certificates and the configuration management repository that builds each host. Store the .env files and certificate private keys in an encrypted location with restricted access, because they hold secrets and identity settings. Test a restore onto a clean host, since a backup that has never been restored is an assumption rather than a recovery plan. Confirm retention and storage location with your security team.
Version alignment and staged upgrades
Keep Jicofo, Prosody and every videobridge on matching stable releases, and change them in the same window. Mixed versions across the central server and bridges are a common source of signaling faults that are hard to diagnose. Apply each upgrade to a staging fleet with the same number of bridges and the same configuration as production, run test meetings across browsers, then roll production one bridge at a time while the others carry load.
Bridge inventory and sizing baseline
Maintain a current inventory of every bridge: hostname, region, public address, CPU and memory size, the release it runs and the date it was last changed. Record the sizing baseline beside it, meaning the participant load each bridge handled at a known CPU and bandwidth level. Without this record, adding capacity is guesswork, and a replacement bridge can be configured differently from the one it replaces.
Runbooks and escalation path
Write runbooks for adding a bridge, draining one before maintenance and removing one after a failure, and keep them next to the configuration repository. Name the people or on-call rota responsible for the central server, for bridges and for the network path, and define how an incident moves between them. Review the runbooks after each upgrade, because the steps for registering a new bridge can change between releases.
How to test that a scaled Jitsi deployment works and fails safely
Scaling a Jitsi Meet deployment is only proven when the team has tested the failure cases as well as the happy path. Before go-live, define the pass criteria for each test in writing, run the tests against the production-like topology (signaling server, Prosody, Jicofo and every Jitsi Videobridge in the planned regions), and record the results as the baseline that the operations runbook will reference. Without a recorded baseline, the first real bridge failure becomes the first time anyone learns how the system behaves.
Start with test conferences that force participants onto each bridge. Jicofo chooses a bridge for each conference, so the team needs a way to make a test client land on a specific videobridge, for example by controlling which bridges are available during the test window or by running clients from the network segment closest to each bridge. Confirm the exact method with your platform engineers against your deployed version. For each bridge, verify that audio, video and screen sharing flow in both directions, that the bridge shows up as active in monitoring, and that the participants' media is encrypted in transit as designed.
Next, run load tests that step up concurrent participants in defined increments until one bridge reaches its measured ceiling. The ceiling must come from your own measurements on the chosen instance size, not from a vendor figure. The Jitsi scalable setup guide suggests a starting machine profile for videobridges, but it does not give a participant limit, so treat any number you read elsewhere as unverified. Record CPU, memory, network throughput and packet loss at each step, and define in advance the level at which the bridge counts as full, so that new meetings are moved to another bridge before quality degrades.
Then stop one bridge on purpose during a live test meeting and observe three things: what the connected participants see and how quickly their clients recover, whether new meetings are routed to the remaining bridges, and whether the monitoring and alerting detect the outage. Repeat with the central server restarted, because the signaling components (Prosody and Jicofo) sit in front of every bridge. Record which conferences survive, which must be rejoined, and how long participants wait. Agree with the business owner whether a mid-meeting drop is acceptable for a bridge loss and whether it is acceptable for a central restart, since these outcomes differ and should be documented as separate pass criteria.
Finish with certificate and port checks from restricted networks, such as guest Wi-Fi, a branch office behind a strict proxy and a mobile network. Confirm that the certificate chain is trusted by each client type, that 443/TCP and 10000/UDP are reachable where your design expects them, and that the fallback path works where UDP is blocked. Store the results, the test versions and the exact configuration in version control so that a later upgrade or scaling change can be retested against the same criteria.
Questions buyers ask about Jitsi high availability and scaling
What does a scaled Jitsi Meet deployment cost, and what drives the price?
The cost comes from four groups: servers, bandwidth, people and recurring operations. Each videobridge is a media router that carries audio and video for participants, so the number of bridges and their CPU and RAM follow your expected concurrent participants. The Jitsi scalable setup guide suggests a 4 CPU, 8 GB machine for the central server and 4 or 8 CPU with 8 GB RAM for each videobridge, which is a starting point to validate, not a sizing result. Bandwidth, monitoring, backups and the central server are recurring costs, while design, build and testing are mostly one-time. Ask any partner for a written scope that lists the bridge count, regions, hosting assumptions, monitoring and who pays for each line, then compare the quote against your own internal time. DeployOpen does not publish prices; a quote follows from the written scope.
How long does it take to make Jitsi highly available?
Duration depends on how many bridges you need, how many regions are involved, whether the infrastructure is built from configuration management, and how long your network and certificate approvals take. The Jitsi scalable setup guide warns that building scalable infrastructure is not a task for beginning administrators and recommends tools such as Ansible or Puppet, so teams without that experience should expect more time for build and testing. Load testing with realistic meeting sizes usually takes longer than the initial install. Delays often come from firewall change requests, public IP mapping and certificate issuance rather than from Jitsi itself. Ask for a timeline that separates design, build, load testing, a pilot window and cutover, and that names the internal dependencies it assumes.
What does our internal team need to provide before a scaled Jitsi build starts?
Your team provides the infrastructure and access; the build work depends on them being ready. You will need hosts or cloud accounts for the central server and each videobridge, DNS records for the public domain, and valid certificates for that domain, since the Jitsi handbook says HTTPS with a proper domain certificate is necessary for working audio and video and that self-signed certificates cause problems, especially with mobile clients. Network access is required for ports 80/TCP, 443/TCP and 10000/UDP, with 5349/TCP for TCP fallback and 3478/UDP for STUN as optional. You should also allocate a test window with real users or a representative group, and a named owner who can approve firewall and DNS changes during the build. Confirm each item against your own environment before work begins.
Can our own IT team build and run a scaled Jitsi deployment without a partner?
Yes, many teams can, provided they have Linux administration, networking, TLS and monitoring skills and enough time to test. The Jitsi handbook provides Debian and Ubuntu quick starts and a Docker setup, and the default install is already configured for horizontal scaling by adding videobridges. The harder parts are NAT and public IP settings for bridges, capacity testing, failover planning for a server lost mid-meeting, and keeping Prosody, Jicofo and videobridges on matching stable releases through upgrades. Assess your team honestly against those tasks and against the time they will take from other work. A partner can cover the part you do not want to own, or act as a second pair of hands for design review and testing.
Is Jitsi's hosted service an alternative for some of our meetings?
It can be, for some workloads, and the decision depends on data control and capacity rather than on feature needs. The free public instance at meet.jit.si and the paid JaaS service from 8x8 run Jitsi for you, so you do not operate servers or bridges. Self-hosting keeps meeting infrastructure inside your own cloud accounts, data centers or air-gapped network, and lets you control scaling, authentication and retention. Many organizations use a hybrid approach: hosted for guest or external meetings and self-hosted for internal or regulated ones. Before deciding, confirm the hosted service terms, data location and capacity limits with 8x8, and compare them with your own requirements in a written scope.
How does a Jitsi deployment handle the loss of a videobridge during a meeting?
Plan for it in design, because a bridge that fails mid-meeting disconnects the participants it was carrying. Jitsi routes media through videobridges, and the Jitsi handbook describes adding more bridges to scale horizontally, so capacity is spread across several machines rather than concentrated on one. Engineers should confirm how new conferences are placed on healthy bridges, how users reconnect after a drop, and how the central components recover. Test this deliberately by stopping a bridge during a load test and recording what users see. Monitoring of bridge health, CPU and bandwidth should trigger alerts before a bridge saturates. Ask any partner to show the failure test results and the runbook they will hand over.
Which components must be redundant in a highly available Jitsi setup?
Jitsi has several roles, and each needs a plan. A standard deployment includes a web server serving the web app, the Prosody XMPP server, Jicofo (the conference focus) and one or more videobridges, according to the Jitsi self-hosting quick start. Videobridges are the easiest to add, but the central server running Prosody and Jicofo is a single point of coordination that needs its own recovery approach, such as backups, rebuild steps or a tested failover design. The web tier also needs a load balancing or DNS plan. Engineers should document each component's state, how it is restored, and which failures stop new meetings versus existing ones. Confirm the chosen design with your architecture review before procurement.
What should we verify before accepting a scaled Jitsi deployment?
Verify capacity, failure behavior, access and operations, not only that the page loads. The acceptance checklist should include a load test at your expected concurrent participant count, a test of bridge loss during a live conference, a check that HTTPS works on desktop and mobile clients, and confirmation that the required ports are open from the networks your users actually use. Confirm that authentication matches your policy, such as JWT tokens or LDAP, and that upgrade steps, backup restoration and monitoring alerts are documented and tested by your team. Ask the partner for a written list of these tests, the results and any open risks, so acceptance is based on evidence rather than on sign-off alone.
How DeployOpen works on this
DeployOpen plans, builds, documents and supports Jitsi high availability and scaling inside your own cloud accounts, data centers or air-gapped networks. The work starts from a written scope that covers the signaling server, the videobridges and the failure behavior you need during a live meeting. Engagements are fixed-scope, and ongoing support is available as a retainer.
How we scope
- The written scope names the expected concurrent participants and the number of videobridges to plan for.
- We confirm the signaling server layout, how clients reach each bridge and which regions must keep meetings running.
- Scope records what happens to a meeting when one bridge fails, and which of those outcomes you accept.
How we build
- We set up the signaling server and separate videobridges, then add bridges in the pattern the written scope defines.
- Each bridge gets CPU and RAM sized to the scoped load, with ports and public IP checked per host.
- Load tests and bridge-loss tests run before sign-off, and the results go into the handover record.
How we hand over
- Handover includes architecture diagrams, configuration files, automation code and the test records.
- Your team receives a runbook for adding a bridge, draining one for maintenance and recovering from a lost server.
- Operators are walked through monitoring, upgrades and the failure drills so they can run the platform themselves.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer, scoped separately from the build.
- Upgrades keep the web app, Prosody, Jicofo and videobridges on matching stable releases, tested before rollout.
- Ask the team to confirm the support hours, response targets and escalation path in the written retainer.

