# Jitsi Help > Independent Jitsi Meet experts. Deploy a private Jitsi server in your own AWS account in one click, get hands-on help with setup, recording, transcription, JWT and scaling, or fix it yourself with tested guides. Key facts: - One-click platform: deploys Jitsi Meet into the customer's own AWS account with Terraform and Ansible in 10 to 20 minutes. Sign up at https://app.jitsi.help/register. Free 15 minute trial with every feature. - The server, recordings and transcripts stay in the customer's AWS account. AWS bills the customer directly; there are no per-user fees. - Optional one-time features per server: Branding $29, Recording $39, Transcription $29, Room access (JWT) $14, Developer API $49. Volume discounts of 10 to 20 percent. - Guides marked as tested match the configuration the platform deploys on Jitsi Meet stable-11031. - Expert services (installation, white label, recording, transcription, JWT integration, scaling, support) are quoted per job. Replies usually the same day, always within two working days. - Jitsi Help is an independent service. It is not affiliated with, endorsed by or sponsored by 8x8, Inc. or the Jitsi project. Jitsi and Jitsi Meet are trademarks of 8x8, Inc., used here only to describe the software we host and support. ## Main pages - [Managed Jitsi hosting](https://jitsi.help/jitsi-hosting/): one-click Jitsi in your own AWS account - [Pricing](https://jitsi.help/pricing/): feature licenses, AWS server costs, services - [Server size calculator](https://jitsi.help/tools/jitsi-server-size-calculator/): size, bandwidth and cost estimate - [Contact](https://jitsi.help/contact/): get help or a quote ## Guides - [Jitsi Meet server requirements](https://jitsi.help/guides/jitsi-server-requirements.md): A Jitsi Meet server for small teams needs 2 vCPU and 4 GB of RAM, a public IP with a domain name, and ports 443/tcp and 10000/udp open. Bandwidth, not CPU, is usually the real limit. Recording with Jibri needs at least 8 GB of RAM, and local transcription with Vosk needs 16 GB. - [How to install Jitsi Meet with Docker](https://jitsi.help/guides/install-jitsi-docker.md): Point a domain at your server, install Docker, download docker-compose.yml and env.example from one pinned docker-jitsi-meet release, generate passwords, set PUBLIC_URL and Let's Encrypt in .env, open 80/tcp, 443/tcp and 10000/udp, then run docker compose up -d. Always test with three people, because two-person calls bypass the videobridge. - [How to run Jitsi Meet on AWS](https://jitsi.help/guides/jitsi-on-aws.md): Launch an Ubuntu EC2 instance (t3.medium for most teams), attach an Elastic IP, point your domain at it, allow 80/tcp, 443/tcp and 10000/udp in the security group, then install the Docker stack. For recording, install the generic Linux kernel first, because AWS's default kernel lacks the snd-aloop module Jibri needs. Or deploy the same setup into your own AWS account in one click. - [Jitsi Meet JWT authentication](https://jitsi.help/guides/jitsi-jwt-authentication.md): Set ENABLE_AUTH=1, AUTH_TYPE=jwt, JWT_APP_ID and JWT_APP_SECRET in the Docker .env, restart, then sign HS256 tokens whose iss and aud are your app ID, sub is your Jitsi domain, room is the room name (or *), and exp is in the future. Users join with https://meet.example.com/Room?jwt=TOKEN. - [How to record Jitsi meetings with Jibri](https://jitsi.help/guides/jitsi-recording-jibri.md): Enable ENABLE_RECORDING=1 in .env, make sure the snd-aloop kernel module loads, and start the stack with the jibri.yml overlay from the same release. Each Jibri records one meeting at a time and needs about 2 CPU cores, so budget 8 GB of RAM on a shared server or give recording its own server. On AWS, install the generic kernel first because linux-aws has no snd-aloop. - [Free self-hosted Jitsi transcription with Jigasi and Vosk](https://jitsi.help/guides/jitsi-transcription-vosk.md): Run Jigasi in transcriber mode (JIGASI_MODE=transcriber), give it a transcriber password (JIGASI_TRANSCRIBER_PASSWORD) and restart Prosody so the user exists, add a Vosk server container, and point Jigasi at it with org.jitsi.jigasi.transcription.vosk.websocket_url in a mounted custom-sip-communicator.properties. The server needs 16 GB of RAM. - [How to white-label and rebrand Jitsi Meet](https://jitsi.help/guides/jitsi-white-label-branding.md): On Docker, put branding overrides in config/web/custom-interface_config.js (APP_NAME, DEFAULT_LOGO_URL, SHOW_JITSI_WATERMARK=false and related flags) and behavior overrides in custom-config.js. The web container appends both files on every start, so your branding survives restarts and upgrades. Colors and the welcome page text need a small CSS and script block in the same file. - [How much does it cost to self-host Jitsi Meet?](https://jitsi.help/guides/jitsi-self-hosting-cost.md): A self-hosted Jitsi server for a small team costs about $18 to $33 a month on AWS for compute, plus bandwidth. Recording adds about $63 a month for a dedicated recorder and local transcription needs a server around $125 a month. The larger hidden cost is engineering time for setup and upkeep, which a managed or one-click setup removes. - [Require a login to create Jitsi rooms (secure domain)](https://jitsi.help/guides/jitsi-secure-domain-authentication.md): On Docker, set ENABLE_AUTH=1, AUTH_TYPE=internal and ENABLE_GUESTS=1 in .env, recreate the containers, then create accounts with docker compose exec prosody prosodyctl --config /config/prosody.cfg.lua register USER meet.jitsi PASSWORD. Only those users can start rooms; guests can still join once a host is in. - [Set up Let's Encrypt SSL for Jitsi Meet](https://jitsi.help/guides/jitsi-lets-encrypt-ssl.md): On Docker, set ENABLE_LETSENCRYPT=1, LETSENCRYPT_DOMAIN and LETSENCRYPT_EMAIL in .env, make sure the domain's A record points at the server and port 80 is reachable from the internet, then start the stack. The web container issues and renews the certificate itself. Most failures are DNS not pointing yet, port 80 blocked, or hitting Let's Encrypt's rate limit by retrying. - [How to scale Jitsi Meet to hundreds of participants](https://jitsi.help/guides/jitsi-scaling-videobridge.md): Scale Jitsi by adding more Jitsi Videobridge (JVB) servers, not by making one server bigger. Every extra bridge connects to the same Prosody and Jicofo, and Jicofo spreads conferences across them. Very large single meetings can span several bridges. Watch outbound bandwidth per bridge first, CPU second, and drain a bridge before removing it. - [How to upgrade a Docker Jitsi Meet server safely](https://jitsi.help/guides/upgrade-jitsi-docker.md): Back up your .env and CONFIG folder, download docker-compose.yml and any overlays (jibri.yml, jigasi.yml) from the new stable release, set JITSI_IMAGE_VERSION to the same tag, diff the new env.example against your .env for new settings, then docker compose pull, down and up -d. Test with three people. Roll back by restoring the old files and tag. - [How to install Jitsi Meet on Ubuntu 24.04](https://jitsi.help/guides/install-jitsi-ubuntu.md): Set the server's hostname to your Jitsi domain, add the Prosody and Jitsi package repositories with their signing keys, open 80/tcp, 443/tcp, 10000/udp, 3478/udp and 5349/tcp, then run sudo apt install jitsi-meet and choose Let's Encrypt when asked. The package installer configures Nginx, Prosody, Jicofo, the videobridge and a TURN server. ## Troubleshooting - [Jitsi works with 2 people but not with 3: how to fix it](https://jitsi.help/troubleshooting/jitsi-video-not-working-3-participants.md): Two-person Jitsi calls connect peer to peer and skip the server. From three people, media goes through the videobridge on UDP port 10000. If that port is blocked in a firewall or cloud security group, or the videobridge advertises a private IP, the third person breaks the call. Open 10000/udp everywhere and set JVB_ADVERTISE_IPS to the public IP if the server is behind NAT. - [Jitsi "You have been disconnected": causes and fixes](https://jitsi.help/troubleshooting/jitsi-you-have-been-disconnected.md): 'You have been disconnected' means the browser lost its signalling connection (XMPP over WebSocket) to Prosody, not the video path. Check that Prosody and Jicofo are running, that any reverse proxy forwards WebSocket upgrades for /xmpp-websocket, that internal passwords in .env have not changed since first start, and that the server is not out of memory. - [Jitsi camera or microphone not working](https://jitsi.help/troubleshooting/jitsi-camera-microphone-not-working.md): Browsers only allow camera and microphone access on HTTPS pages with a trusted certificate. On a self-hosted server, make sure the site is served over valid HTTPS and set ENABLE_HTTP_REDIRECT=1 so http:// never loads. For individual users, check the browser's site permission, close other apps using the camera, and allow camera and microphone in the iframe if Jitsi is embedded. - [Jitsi recording not working: Jibri errors and fixes](https://jitsi.help/troubleshooting/jitsi-recording-not-working.md): Most Jibri failures have one of four causes: Chrome cannot load the meeting page (untrusted certificate or unreachable URL), the snd-aloop kernel module is missing (always on AWS's linux-aws kernel), the recorder's XMPP domain or passwords do not match the Jitsi server, or every Jibri is already busy. Check docker compose logs jibri for the exact message and match it below. - [Jitsi transcription or subtitles not working](https://jitsi.help/troubleshooting/jitsi-transcription-not-working.md): service-unavailable means Jigasi is running as a SIP gateway: set JIGASI_MODE=transcriber. 'SASLError SCRAM-SHA-1 not-authorized' in the Jigasi log means JIGASI_TRANSCRIBER_PASSWORD is missing: set it and restart Prosody. Transcripts with no speech mean Jigasi is not reaching Vosk: the property is org.jitsi.jigasi.transcription.vosk.websocket_url, with an underscore. - [Jitsi Let's Encrypt certificate failed: how to fix it](https://jitsi.help/troubleshooting/jitsi-lets-encrypt-failed.md): Let's Encrypt needs your domain to resolve to the server and port 80 to be reachable from the internet at issuance and renewal time. Most Jitsi certificate failures are DNS that has not propagated, port 80 blocked in the cloud firewall, another web server holding port 80, or the weekly rate limit reached after repeated retries. Test with LETSENCRYPT_USE_STAGING=1 until it works. - [Jitsi JWT authentication not working](https://jitsi.help/troubleshooting/jitsi-jwt-not-working.md): Decode the token and compare it with the server: iss and aud must equal JWT_APP_ID (or be in the accepted lists), sub must be the public Jitsi domain, room must match the room in the URL or be *, exp must be in the future on the server's clock, and the signature must use the same JWT_APP_SECRET. After changing auth settings, recreate the containers. ## Comparisons - [Jitsi Meet vs Zoom](https://jitsi.help/compare/jitsi-vs-zoom.md): Zoom is a polished commercial service billed per host, with the richest feature set and apps. Jitsi Meet is open source and can run on your own server, so you pay for infrastructure instead of licenses, keep meeting data in your own cloud and can rebrand it. Choose Zoom for maximum polish with no operations; choose self-hosted Jitsi for control, privacy, branding and lower cost at scale. - [Jitsi vs LiveKit](https://jitsi.help/compare/jitsi-vs-livekit.md): Jitsi Meet is a complete, ready-to-use video meeting application with its own interface, recording and transcription, that you can self-host and embed today. LiveKit is an open source WebRTC media server plus SDKs for building your own real-time app, including AI voice agents. Pick Jitsi when you need meetings working this week; pick LiveKit when you are building a custom real-time product and have the developers for it. - [Jitsi vs BigBlueButton](https://jitsi.help/compare/jitsi-vs-bigbluebutton.md): BigBlueButton is built for online teaching: presentations, a shared whiteboard, polls, breakout rooms and deep LMS integration with Moodle and others, at the cost of much larger servers and a stricter install. Jitsi Meet is a lighter, general-purpose meeting app that runs on modest servers and embeds anywhere. Choose BigBlueButton for structured classes, Jitsi for everything else. - [8x8 JaaS vs self-hosted Jitsi](https://jitsi.help/compare/jaas-vs-self-hosted-jitsi.md): 8x8's Jitsi as a Service (JaaS) runs Jitsi for you and bills per monthly active user, with extra per-minute fees for recording and transcription. It is the fastest start and zero operations. Self-hosted Jitsi runs in your own cloud with no per-user fees, full data control and full branding, but you operate it. JaaS usually wins for small or unpredictable usage; self-hosting wins as users grow or when data must stay in your infrastructure. - [Every way to host Jitsi Meet, compared](https://jitsi.help/compare/jitsi-hosting-options.md): There are six ways to run Jitsi: the free public meet.jit.si, 8x8's paid JaaS, managed hosting on a provider's servers, doing it yourself on a VPS, cloud marketplace images, and one-click deployment into your own cloud account. They trade off cost, control, branding and effort differently; one-click deployment into your own account gives self-hosted control and pricing with hosted-level effort. ## Services - [Jitsi Meet installation service](https://jitsi.help/services/jitsi-installation.md): We install and configure Jitsi Meet on your server or cloud account: correct sizing, Docker on a pinned stable release, your domain with trusted SSL, firewall rules, authentication, and a three-device test before handover. You get admin access and written notes for everything we set up. Most installs are live within one to two working days. - [Jitsi white label and customization service](https://jitsi.help/services/jitsi-white-label.md): We turn Jitsi Meet into your branded meeting product: your name, logo, colors, favicon, welcome page and domain, with the Jitsi watermark and app promos removed and the toolbar trimmed to what your users need. Changes live in upgrade-safe override files, and deeper UI work is kept in a maintained patch set. - [Jitsi recording setup service (Jibri)](https://jitsi.help/services/jitsi-recording-setup.md): We set up Jibri recording on your existing Jitsi server: the snd-aloop kernel module (including the AWS kernel fix), correctly sized recorders, as many concurrent recordings as you need, and automatic upload of every finished recording to your S3 bucket or other storage. We test real recordings end to end before handover. - [Jitsi transcription setup service](https://jitsi.help/services/jitsi-transcription.md): We set up Jitsi transcription with Jigasi: live captions in meetings and a saved transcript per meeting. We use Vosk for free, fully private speech recognition on your own server, or Google Cloud Speech when you need more languages or accuracy. Transcripts are uploaded to your storage automatically. - [Jitsi scaling and performance service](https://jitsi.help/services/jitsi-scaling.md): We find your Jitsi server's real limits with load tests, then scale it: more videobridges behind one signalling server, regional bridges near your users, autoscaling that adds and drains bridges safely, and monitoring that shows bandwidth, CPU and call quality. You get a capacity report and a system that grows with demand. - [Jitsi integration and JWT service](https://jitsi.help/services/jitsi-integration.md): We integrate Jitsi Meet into your product: your backend issues JWT tokens so only your users join the right rooms, meetings are embedded with the IFrame API or mobile SDK, hosts get moderator rights, and meeting events and recordings flow back to your system. We work with your developers or deliver the integration end to end. - [Jitsi support and maintenance plans](https://jitsi.help/services/jitsi-support.md): Our support plans keep a self-hosted Jitsi server healthy: tested upgrades to new stable releases, security patches, monitoring and alerts, certificate and backup checks, and an engineer to call when something breaks. We usually reply the same day and always within two working days. One-off emergency fixes are also available. ## Optional - [Full text of every page](https://jitsi.help/llms-full.txt)