Deploying and Configuring Jitsi Meet Using Docker
Prerequisite: Complete all steps in prerequisites before beginning deployment.
1. Install Required Software
1.1 System Packages
Install essential utilities:
sudo apt install -y git openssl curl coreutils grep jq ufw wget unzip
1.2 Docker and Compose
Install Docker and enable the service, then install the compose plugin:
sudo curl -sSL https://get.docker.com/ | CHANNEL=stable sh
sudo systemctl enable --now docker
sudo apt install docker-compose-plugin docker-compose
2. Install Jitsi Meet
2.1 Download the Latest Release
Retrieve the most recent Jitsi Docker distribution and save it under /opt:
sudo -i
umask 0022
cd /opt
wget "$(wget -q -O - https://api.github.com/repos/jitsi/docker-jitsi-meet/releases/latest | grep zip | cut -d\" -f4)"
2.2 Extract Archive
The downloaded archive is typically named stable-*.
unzip <filename>
2.3 Prepare Environment Configuration
Navigate into the extracted directory (e.g. jitsi-docker-jitsi-meet-*) and copy the example environment file:
cd /opt/jitsi-docker-jitsi-meet-*
cp env.example .env
2.4 Generate Passwords
Use the provided utility to populate secure passwords:
./gen-passwords.sh
2.5 Configure .env Variables
Edit .env and set the following values:
HTTP_PORT="80"HTTPS_PORT="443"TZ="Asia/Kolkata"(adjust timezone as required)PUBLIC_URL="https://meet.yourdomain.com"ENABLE_LETSENCRYPT="1"LETSENCRYPT_DOMAIN="meet.yourdomain.com"LETSENCRYPT_EMAIL="admin@yourdomain.com"ENABLE_AUTH="1"ENABLE_GUESTS="1"AUTH_TYPE="internal"
Modify any additional variables according to your deployment needs.
2.6 Create Configuration Directories
Jitsi stores runtime configuration under ~/.jitsi-meet-cfg:
mkdir -p ~/.jitsi-meet-cfg/{web,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
3. Deploy the Jitsi Stack
3.1 Pull Docker Images
cd /opt/jitsi-docker-jitsi-meet-*
docker compose pull
3.2 Start Containers
docker compose -f docker-compose.yml -f jibri.yml up -d
Verify that all services are running with docker compose ps.
4. Configure Administrative Users
Enter the Prosody container to register accounts:
docker compose exec prosody /bin/bash
prosodyctl --config /config/prosody.cfg.lua register <username> meet.jitsi <strong_password>
Repeat for each administrator or moderator required.
5. Accessing the Service
Open a web browser and navigate to:
https://meet.yourdomain.com
Log in with one of the accounts created in the previous step.