Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk10 min

How to Self-Host Jitsi Meet on Your Own VPS

A practical guide to running Jitsi Meet on a VPS, including the Docker and Debian/Ubuntu installation paths, DNS and TLS setup, required firewall ports, validation steps, and fixes for missing audio or video.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can run Jitsi Meet on a VPS you control by deploying either the official Docker Compose stack or the Debian/Ubuntu packages. In both cases, the essentials are the same: a publicly reachable Linux server, a DNS name such as meet.example.org, administrative access, a firewall you can change, HTTPS, and working UDP media connectivity. Point the hostname at the server, allow web and media traffic, complete the certificate setup, then test a room from two separate clients.

What you need before installing

Self-hosting is a small systems-administration project rather than a single web-app upload. Prepare the network identity, operating system, and firewall before running an installer.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Server and operating-system requirements

  • A Linux VPS or physical server with a public IP address, or a router that can forward the required ports to a private server.
  • Root access or a user with sudo privileges.
  • A fully qualified domain name (FQDN), for example meet.example.org.
  • A firewall you can configure at both the hosting provider and the operating system.
  • Current system packages. The package deployment supports Debian 12 (Bookworm) or newer and Ubuntu 24.04 (Noble Numbat) or newer, and requires OpenJDK 17.

There is no universal official CPU, memory, or participant number that applies to every meeting. Camera resolution, screen sharing, recording, network quality, and the number of simultaneous conferences all change resource use. Start with a server appropriate to your expected workload and validate it with representative meetings instead of relying on a promised capacity figure.

DNS and NAT

  1. Choose the final hostname, such as meet.example.org. Use the same name during installation; changing it later requires coordinated web, Prosody, Jicofo, and Videobridge configuration changes.
  2. Create an A record for the hostname that points to the server’s public IPv4 address.
  3. If the server is behind NAT, point the record to the router’s public address and forward the required ports to the internal host. The public bridge address and firewall rules must match that design.
  4. Wait for the record to resolve from outside your network before requesting a certificate or testing from a remote participant.

Open the correct ports

Allow these ports in the VPS provider’s security group and in the host firewall. Opening only one layer produces the same symptoms as a blocked service.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Port Protocol Purpose Required?
22 (or your configured SSH port) TCP Server administration Required for remote administration; restrict the source addresses when practical.
80 TCP HTTP, including Let’s Encrypt validation and an optional redirect to HTTPS Required for the normal certificate flow.
443 TCP Secure web access and signaling through the web front end Required for normal browser access.
10000 UDP Jitsi Videobridge audio and video media Required for a basic installation; this is the most common cause of one-way or missing media.
3478 UDP coturn/STUN/TURN support Optional, when you deploy and configure coturn.
5349 TCP TURN over TCP fallback Optional, when enabled with coturn.

Keep Prosody, Jicofo, and other internal XMPP or component ports private. They are service-to-service interfaces, not public web endpoints.

Choose Docker Compose or native packages

Both supported routes use the same Jitsi architecture. The decision is mainly about isolation and operational style.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Consideration Docker Compose Debian/Ubuntu packages
Service layout Web, Prosody, Jicofo, and Videobridge run in separate containers. Services run directly on the host operating system.
Host prerequisites Docker Engine and Docker Compose, plus a release archive. Supported Debian or Ubuntu release, package tools, and OpenJDK 17.
Configuration Environment file and persistent configuration directories supplied by the release. Installer prompts and generated Nginx, Prosody, Jicofo, and Videobridge configuration.
Updates Replace or upgrade the release stack while preserving the documented persistent directories. Use the distribution package mechanism and review service changes.
Best fit Useful when you want component isolation and a self-contained stack. Useful when you prefer conventional system services and package administration.

Do not mix instructions from one route with the other. In particular, use the directory layout shipped with the Docker release you downloaded; the documented layout applies to stable-11146 and newer releases, while older archives can differ.

Install with Docker Compose

1. Install Docker and obtain a release archive

Install a supported Docker Engine and Compose implementation on the server. Download the latest Jitsi release archive from the official Jitsi distribution page, verify that you have the intended release, and extract it. Use the archive supplied for deployment rather than cloning the source repository when the installation guide calls for a release archive.

tar -xf jitsi-meet-release.tar.bz2
cd jitsi-meet-*/

The exact archive filename and extracted directory depend on the release. Run the remaining commands from that release directory.

2. Create and secure the environment file

Copy the example environment file and edit the values that describe your host. At minimum, set the public hostname and review the HTTP and HTTPS port variables. If Docker is running behind unusual NAT, set the documented DOCKER_HOST_ADDRESS value to the address that remote participants can reach.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
cp env.example .env
nano .env

Leave the published ports at their standard values unless another service already occupies them. If you change HTTP_PORT or HTTPS_PORT, the firewall, DNS validation path, and any reverse proxy must use the same external ports.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

3. Generate service passwords

Generate the internal passwords before starting containers. This creates separate credentials for the services that communicate inside the stack.

./gen-passwords.sh

Do not commit the resulting .env file or password-bearing configuration to a public repository. Restrict its permissions and keep a protected backup of the values needed to recreate the deployment.

4. Create persistent configuration directories

Create the persistent directories specified by the release documentation for web, Prosody, Jicofo, and Videobridge data. The precise tree is release-dependent, so copy the layout from the archive’s documentation rather than inventing a path from an older tutorial. Persisting these directories is what keeps certificates and configuration when containers are recreated.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Start and inspect the stack

Start the services with the Compose file included in the release.

docker compose up -d

Confirm that the containers are running, then inspect logs for the web front end, Prosody, Jicofo, and Videobridge.

docker compose ps
docker compose logs --tail=200 web
docker compose logs --tail=200 prosody
docker compose logs --tail=200 jicofo
docker compose logs --tail=200 jvb

If your release uses a different Compose command or service name, use the files and names shipped with that release.

Install with Debian or Ubuntu packages

1. Confirm the supported base system

Use Debian 12 or newer, or Ubuntu 24.04 or newer. Update the host and confirm that OpenJDK 17 is available. Ubuntu installations need the universe repository enabled.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
sudo apt update
sudo apt full-upgrade
sudo apt install openjdk-17-jre-headless gnupg2 nginx-full curl wget sudo

The package guide lists these utilities as prerequisites; package names can vary slightly with a distribution release. Reboot if the operating-system upgrade requires it, then reconnect over SSH.

2. Set the hostname and repository

Set the system hostname to the same FQDN you placed in DNS. Add Jitsi’s package repository and signing key using the current commands in the official quick-start documentation, refresh package indexes, and install jitsi-meet. Do not substitute an unrelated repository or an old key copied from an obsolete guide.

sudo hostnamectl set-hostname meet.example.org
sudo apt update
sudo apt install jitsi-meet

During installation, the wizard asks for the hostname and the TLS certificate choice. Enter the public FQDN exactly, including its domain suffix.

3. Complete the certificate prompts

Choose the certificate option that matches your deployment. A public Let’s Encrypt certificate requires the name to resolve publicly and port 80 to reach the server. If you select a temporary or self-signed certificate, browsers will warn users until you replace it with a trusted certificate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

4. Check generated services

Verify Nginx, Prosody, Jicofo, and Videobridge after installation. Use your distribution’s service manager to check status and logs.

sudo systemctl status nginx prosody jicofo jitsi-videobridge2
sudo journalctl -u nginx -u prosody -u jicofo -u jitsi-videobridge2 --since today

Service names can differ between package generations; list installed units if one of the names is not present.

Get HTTPS and access control right

HTTPS is part of the deployment, not a cosmetic upgrade. Browsers require a secure context for microphone and camera access, and a valid certificate prevents confusing trust errors.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Certificate issuance and renewal

  • Ensure the A record resolves to the current public address.
  • Ensure TCP port 80 reaches the web service during certificate validation.
  • Use the final hostname in the Jitsi installer or Docker environment before requesting the certificate.
  • After issuance, browse to the HTTPS URL and verify that the certificate name matches the hostname.
  • If your policy is to force encryption, confirm that HTTP redirects to HTTPS without a loop.

Renewal depends on the deployment route and its certificate tooling. Keep port 80 reachable for the validation method you selected, and monitor renewal failures rather than waiting for the certificate to expire.

Decide who may create rooms

A default installation can allow anyone who knows a room URL to attempt to join. That is convenient for open meetings but does not provide identity assurance. If you need controlled room creation, configure Prosody authentication and moderator controls according to the deployment documentation. Share moderator credentials through a protected channel, and avoid exposing XMPP or component administration ports to the Internet.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Understand the service architecture

Knowing which component owns a failure makes troubleshooting much faster.

Component Responsibility
Web front end and Nginx Serve the browser application, proxy signaling, and terminate HTTPS.
Prosody Provide XMPP signaling, room coordination, and authentication features.
Jicofo Select a Videobridge and manage the conference focus for each room.
Jitsi Videobridge Route participants’ audio and video packets.
Jigasi Optional SIP gateway for telephone audio.
Jibri Optional worker for recording or live broadcasting.

Jigasi and Jibri are not required for ordinary browser meetings. Installing them adds services, credentials, and operational work.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Validate the first meeting

  1. Open the landing page over HTTPS from a network other than the server’s local network.
  2. Create a room and join it from a second browser, device, or private window. A second client avoids mistaking a local browser session for end-to-end connectivity.
  3. Grant microphone and camera permission in both browsers.
  4. Speak and display video in each direction. Confirm that the remote participant sees and hears you, not merely that the local preview works.
  5. On the server, watch the web, Prosody, Jicofo, and Videobridge logs while the room starts. Authentication or bridge-selection errors are easier to identify during a live join.
  6. Repeat the test from a different Internet connection, such as a mobile hotspot, before inviting users.

Troubleshoot common failures

The certificate cannot be issued

Check the FQDN from an external resolver and confirm that it returns the server’s public IP. Test that TCP 80 reaches the intended Nginx or web container, and remove conflicting proxy or firewall rules. A private-only DNS record, stale address, or NAT forwarding to the wrong host prevents validation.

The page is blank or keeps redirecting

Check whether the web container or Nginx service is running, then compare the configured HTTP and HTTPS ports with the ports exposed by Docker and allowed by the firewall. A reverse proxy that terminates TLS but forwards the wrong scheme can create a redirect loop. Inspect web logs while loading the page to distinguish an application error from a network error.

Participants join but have no audio or video

Signaling can succeed even when media is blocked. Confirm UDP port 10000 in both the cloud security group and the host firewall. If the server is behind NAT, verify the public bridge address and forwarding rule. When a participant’s network blocks direct UDP, configure the documented coturn/TURN path and allow UDP 3478 and, when enabled, TCP 5349. TURN adds another service and should be monitored like the rest of the stack.

A room never starts

Inspect Prosody and Jicofo logs first. Verify that the public hostname is identical in every generated configuration file and that the service passwords produced by the Docker password script are present and consistent. For package installations, check that all expected system services are active and that the host’s Java runtime is OpenJDK 17.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

It works locally but not remotely

Test the public DNS name from outside the server’s network. Review NAT forwarding, the cloud security-group rules, the host firewall, and the Videobridge public address. Local success proves only that the internal path works; it does not prove that a remote client can reach UDP media.

Recording, telephone access, and scaling

Recording and live streaming

Add Jibri only when you need recording or live broadcast. It is a separate worker with its own resource and configuration requirements; treat it as an additional deployment rather than a checkbox in the basic installation.

SIP telephone access

Add Jigasi only when callers must enter through a SIP service. Telephone integration introduces external telephony credentials and another failure domain.

TURN for restrictive networks

coturn can relay media when direct UDP is unavailable. It improves reachability for restrictive corporate, hotel, or mobile networks, but it consumes bandwidth and requires the additional 3478/UDP and 5349/TCP rules when those transports are enabled. Keep relay credentials and administration interfaces private.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Multiple Videobridges

A single Videobridge may serve a small installation, but larger or geographically distributed deployments need a deliberate scaling design. The official scalable approach adds bridges and region-aware configuration; it is not simply a matter of starting a second container. Measure CPU, memory, network throughput, and meeting behavior under your actual mix of cameras, screen shares, and conferences before adding capacity.

Operate the VPS safely

  • Apply operating-system, Docker, and Jitsi updates on a schedule, with a maintenance window for meetings.
  • Back up the persistent Docker directories or the equivalent package configuration, especially certificates, Prosody data, and customized settings.
  • Restrict SSH, use key-based authentication, and disable password login after confirming that key access works.
  • Keep internal XMPP and component ports off the public Internet.
  • Protect .env, service passwords, TURN credentials, and any Prosody authentication database.
  • Monitor certificate expiry, disk space, service restarts, and network traffic.
  • Document the DNS provider, firewall layers, NAT rules, release version, and recovery procedure so another administrator can restore the service.

A successful first call confirms only the basic path. Re-test after firewall changes, certificate renewal, operating-system upgrades, and any change to the public hostname or network address.

The Bottom Line

For a straightforward deployment, choose one supported route, use a stable public hostname, allow 80/TCP, 443/TCP, and 10000/UDP end to end, obtain a trusted certificate, and verify a two-client call from outside the server’s network. Add TURN, recording, SIP, or multiple bridges only when a measured requirement justifies the extra operational complexity.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.