Self-hosting Jitsi Meet gives you complete control over your video conferencing infrastructure — your data stays on your servers, you can apply custom branding, and you can tune every configuration parameter to fit your organisation’s needs. Jitsi provides two well-supported paths: Debian/Ubuntu packages for bare-metal or VM installs, and a Docker Compose stack for container-based environments. This guide walks you through both, along with post-install configuration steps to get your instance production-ready.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jitsi/jitsi-meet/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure your server and network environment meet the following requirements:- Operating system: Ubuntu 22.04 LTS or Debian 11 (Bullseye) / Debian 12 (Bookworm). Other distros are possible but unsupported by the official packages.
-
Domain name: A fully-qualified domain name (e.g.
meet.example.com) pointed at your server’s public IP via an A record. Let’s Encrypt requires a valid public domain. -
Open ports: The following ports must be reachable from the internet:
Port Protocol Purpose 80 TCP Let’s Encrypt HTTP challenge 443 TCP HTTPS web traffic 4443 TCP Jitsi Videobridge fallback (TCP tunnelling) 10000 UDP Jitsi Videobridge media (RTP/RTCP) - Memory: 4 GB RAM minimum recommended. 8 GB+ for calls with more than ~30 concurrent participants.
- Root or sudo access on the server.
Debian / Ubuntu Quick Install
# Import the signing key
curl https://download.jitsi.org/jitsi-key.gpg.key \
| gpg --dearmor \
> /usr/share/keyrings/jitsi-keyring.gpg
# Add the Jitsi stable repository
echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] \
https://download.jitsi.org stable/" \
| tee /etc/apt/sources.list.d/jitsi-stable.list
# Update your package index
apt-get update
Install the
jitsi-meet meta-package, which pulls in Jitsi Videobridge, Jicofo, Prosody, the web app, and an Nginx virtual-host configuration automatically:meet.example.com).The installer configures Nginx, Prosody, Jicofo, and Jitsi Videobridge automatically. All four services will be running as
systemd units after installation completes.Jitsi ships a helper script that requests a free Let’s Encrypt certificate and reconfigures Nginx to use it:
The script will ask for an email address for certificate renewal notifications. Make sure ports 80 and 443 are reachable before running it.
Open a browser and navigate to
https://your-domain. You should see the Jitsi Meet welcome page. Click Start a meeting to confirm audio and video work end-to-end.Docker Deployment
The official Docker setup for Jitsi Meet lives in a separate repository: github.com/jitsi/docker-jitsi-meet. It provides a production-ready
docker-compose.yml with all four components pre-configured and environment-variable-driven configuration..env variables, TLS setup instructions, and scaling guidance.
Post-Install Configuration
After installation, your instance’s main configuration file is located at:Next Steps
config.js Reference
Browse every available option in the Jitsi Meet runtime configuration file, with explanations and defaults.
JWT Authentication
Restrict room creation and enforce participant identity using JSON Web Tokens with Prosody’s token auth module.
Security Hardening
Enable lobby mode, require passwords, configure CSP headers, and lock down your deployment for production.
JaaS Overview
Skip the ops burden entirely — 8x8 Jitsi as a Service runs Jitsi on a global infrastructure with SLA guarantees and enterprise support.
