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.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
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.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteServer 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
sudoprivileges. - 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
- 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. - Create an A record for the hostname that points to the server’s public IPv4 address.
- 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.
- 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
- [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.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match| 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.
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
- 【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.
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.
Recommended Free Tools
Rank #3
- [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.
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
- 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.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.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Validate the first meeting
- Open the landing page over HTTPS from a network other than the server’s local network.
- 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.
- Grant microphone and camera permission in both browsers.
- Speak and display video in each direction. Confirm that the remote participant sees and hears you, not merely that the local preview works.
- 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.
- 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.
Best Value
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.
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.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →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.
Quick Recap
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.




