# Clone git into sub dir
git clone https://github.com/jitsi/docker-jitsi-meet git-repo
# Copy docker-compose.yml and .env into git sub dir
cp docker-compose.yml .env git-repo/.
# Create volume dirs
mkdir -p git-repo/jitsi-meet-cfg/{web/transcripts,prosody,jicofo,jvb}
# Start jitsi
cd git-repo
docker-compose up -d
# Add credentials
cd ..
./add_credentials.sh
-
-
Save Graf-Zahl/13bb4efb4603d29971a48b5bc95468e0 to your computer and use it in GitHub Desktop.
jitsi meet for nginx-proxy and letsencrypt-proxy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Directory where all configuration will be stored. | |
CONFIG=./jitsi-meet-cfg | |
# System time zone. | |
TZ=Europe/Amsterdam | |
# Public URL for the web service. | |
PUBLIC_URL=https://mydomain.org | |
# Virtual host for nginx proxy | |
VIRTUAL_HOST=mydomain.org | |
# lets encrypt proxy | |
LETSENCRYPT_HOST=mydomain.org | |
[email protected] | |
# IP address of the Docker host. See the "Running behind NAT or on a LAN environment" section | |
# in the README. | |
DOCKER_HOST_ADDRESS=12.34.56.789 | |
# Enable authentication. | |
ENABLE_AUTH=1 | |
# Enable guest access. | |
ENABLE_GUESTS=1 | |
# Select authentication type: internal, jwt or ldap | |
AUTH_TYPE=internal | |
# Internal XMPP domain. | |
XMPP_DOMAIN=meet.jitsi | |
# Internal XMPP server | |
XMPP_SERVER=xmpp.meet.jitsi | |
# Internal XMPP server URL | |
XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280 | |
# Internal XMPP domain for authenticated services. | |
XMPP_AUTH_DOMAIN=auth.meet.jitsi | |
# XMPP domain for the MUC. | |
XMPP_MUC_DOMAIN=muc.meet.jitsi | |
# XMPP domain for the internal MUC used for jibri, jigasi and jvb pools. | |
XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi | |
# XMPP domain for unauthenticated users. | |
XMPP_GUEST_DOMAIN=guest.meet.jitsi | |
# Custom Prosody modules for XMPP_DOMAIN (comma separated) | |
XMPP_MODULES= | |
# Custom Prosody modules for MUC component (comma separated) | |
XMPP_MUC_MODULES= | |
# Custom Prosody modules for internal MUC component (comma separated) | |
XMPP_INTERNAL_MUC_MODULES= | |
# MUC for the JVB pool. | |
JVB_BREWERY_MUC=jvbbrewery | |
# XMPP user for JVB client connections. | |
JVB_AUTH_USER=jvb | |
# XMPP password for JVB client connections. | |
JVB_AUTH_PASSWORD=passw0rd | |
# STUN servers used to discover the server's public IP. | |
JVB_STUN_SERVERS=meet-jit-si-turnrelay.jitsi.net:443 | |
# Media port for the Jitsi Videobridge | |
JVB_PORT=10000 | |
# TCP Fallback for Jitsi Videobridge for when UDP isn't available | |
JVB_TCP_HARVESTER_DISABLED=true | |
JVB_TCP_PORT=4443 | |
# XMPP component password for Jicofo. | |
JICOFO_COMPONENT_SECRET=s3cr37 | |
# XMPP user for Jicofo client connections. NOTE: this option doesn't currently work due to a bug. | |
JICOFO_AUTH_USER=focus | |
# XMPP password for Jicofo client connections. | |
JICOFO_AUTH_PASSWORD=passw0rd | |
# Base URL of Jicofo's reservation REST API | |
#JICOFO_RESERVATION_REST_BASE_URL=http://reservation.example.com | |
# XMPP user for Jigasi MUC client connections. | |
JIGASI_XMPP_USER=jigasi | |
# XMPP password for Jigasi MUC client connections. | |
JIGASI_XMPP_PASSWORD=passw0rd | |
# MUC name for the Jigasi pool. | |
JIGASI_BREWERY_MUC=jigasibrewery | |
# Minimum port for media used by Jigasi. | |
JIGASI_PORT_MIN=20000 | |
# Maximum port for media used by Jigasi. | |
JIGASI_PORT_MAX=20050 | |
# XMPP domain for the jibri recorder | |
XMPP_RECORDER_DOMAIN=recorder.meet.jitsi | |
# XMPP recorder user for Jibri client connections. | |
JIBRI_RECORDER_USER=recorder | |
# XMPP recorder password for Jibri client connections. | |
JIBRI_RECORDER_PASSWORD=passw0rd | |
# Directory for recordings inside Jibri container. | |
JIBRI_RECORDING_DIR=/config/recordings | |
# The finalizing script. Will run after recording is complete. | |
JIBRI_FINALIZE_RECORDING_SCRIPT_PATH=/config/finalize.sh | |
# XMPP user for Jibri client connections. | |
JIBRI_XMPP_USER=jibri | |
# XMPP password for Jibri client connections. | |
JIBRI_XMPP_PASSWORD=passw0rd | |
# MUC name for the Jibri pool. | |
JIBRI_BREWERY_MUC=jibribrewery | |
# MUC connection timeout | |
JIBRI_PENDING_TIMEOUT=90 | |
# When jibri gets a request to start a service for a room, the room | |
# jid will look like: [email protected]_domain | |
# We'll build the url for the call by transforming that into: | |
# https://xmpp_domain/subdomain/roomName | |
# So if there are any prefixes in the jid (like jitsi meet, which | |
# has its participants join a muc at conference.xmpp_domain) then | |
# list that prefix here so it can be stripped out to generate | |
# the call url correctly. | |
JIBRI_STRIP_DOMAIN_JID=muc | |
# Directory for logs inside Jibri container. | |
JIBRI_LOGS_DIR=/config/logs | |
# Disable HTTPS. This can be useful if TLS connections are going to be handled outside of this setup. | |
DISABLE_HTTPS=1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
credentials=() | |
# syntax: | |
# "username meet.jitsi password" | |
credentials[0]="hello meet.jitsi 1234" | |
for i in "${credentials[@]}" | |
do | |
docker exec -it jitsi_prosody prosodyctl --config /config/prosody.cfg.lua register ${i} | |
done | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3.7' | |
services: | |
# Frontend | |
web: | |
container_name: jitsi_web | |
image: jitsi/web | |
expose: | |
- '80' | |
volumes: | |
- ${CONFIG}/web:/config | |
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts | |
environment: | |
- VIRTUAL_HOST | |
- LETSENCRYPT_HOST | |
- LETSENCRYPT_EMAIL | |
- ENABLE_AUTH | |
- ENABLE_GUESTS | |
- ENABLE_LETSENCRYPT | |
- ENABLE_HTTP_REDIRECT | |
- ENABLE_TRANSCRIPTIONS | |
- DISABLE_HTTPS | |
- JICOFO_AUTH_USER | |
- PUBLIC_URL | |
- XMPP_DOMAIN | |
- XMPP_AUTH_DOMAIN | |
- XMPP_BOSH_URL_BASE | |
- XMPP_GUEST_DOMAIN | |
- XMPP_MUC_DOMAIN | |
- XMPP_RECORDER_DOMAIN | |
- ETHERPAD_URL_BASE | |
- TZ | |
- JIBRI_BREWERY_MUC | |
- JIBRI_PENDING_TIMEOUT | |
- JIBRI_XMPP_USER | |
- JIBRI_XMPP_PASSWORD | |
- JIBRI_RECORDER_USER | |
- JIBRI_RECORDER_PASSWORD | |
- ENABLE_RECORDING | |
networks: | |
meet.jitsi: | |
aliases: | |
- ${XMPP_DOMAIN} | |
default: | |
# XMPP server | |
prosody: | |
container_name: jitsi_prosody | |
image: jitsi/prosody | |
expose: | |
- '5222' | |
- '5347' | |
- '5280' | |
volumes: | |
- ${CONFIG}/prosody:/config | |
environment: | |
- AUTH_TYPE | |
- ENABLE_AUTH | |
- ENABLE_GUESTS | |
- GLOBAL_MODULES | |
- GLOBAL_CONFIG | |
- LDAP_URL | |
- LDAP_BASE | |
- LDAP_BINDDN | |
- LDAP_BINDPW | |
- LDAP_FILTER | |
- LDAP_AUTH_METHOD | |
- LDAP_VERSION | |
- LDAP_USE_TLS | |
- LDAP_TLS_CIPHERS | |
- LDAP_TLS_CHECK_PEER | |
- LDAP_TLS_CACERT_FILE | |
- LDAP_TLS_CACERT_DIR | |
- LDAP_START_TLS | |
- XMPP_DOMAIN | |
- XMPP_AUTH_DOMAIN | |
- XMPP_GUEST_DOMAIN | |
- XMPP_MUC_DOMAIN | |
- XMPP_INTERNAL_MUC_DOMAIN | |
- XMPP_MODULES | |
- XMPP_MUC_MODULES | |
- XMPP_INTERNAL_MUC_MODULES | |
- XMPP_RECORDER_DOMAIN | |
- JICOFO_COMPONENT_SECRET | |
- JICOFO_AUTH_USER | |
- JICOFO_AUTH_PASSWORD | |
- JVB_AUTH_USER | |
- JVB_AUTH_PASSWORD | |
- JIGASI_XMPP_USER | |
- JIGASI_XMPP_PASSWORD | |
- JIBRI_XMPP_USER | |
- JIBRI_XMPP_PASSWORD | |
- JIBRI_RECORDER_USER | |
- JIBRI_RECORDER_PASSWORD | |
- JWT_APP_ID | |
- JWT_APP_SECRET | |
- JWT_ACCEPTED_ISSUERS | |
- JWT_ACCEPTED_AUDIENCES | |
- JWT_ASAP_KEYSERVER | |
- JWT_ALLOW_EMPTY | |
- JWT_AUTH_TYPE | |
- JWT_TOKEN_AUTH_MODULE | |
- LOG_LEVEL | |
- TZ | |
networks: | |
meet.jitsi: | |
aliases: | |
- ${XMPP_SERVER} | |
# Focus component | |
jicofo: | |
container_name: jitsi_jicofo | |
image: jitsi/jicofo | |
volumes: | |
- ${CONFIG}/jicofo:/config | |
environment: | |
- VIRTUAL_HOST | |
- ENABLE_AUTH | |
- XMPP_DOMAIN | |
- XMPP_AUTH_DOMAIN | |
- XMPP_INTERNAL_MUC_DOMAIN | |
- XMPP_SERVER | |
- JICOFO_COMPONENT_SECRET | |
- JICOFO_AUTH_USER | |
- JICOFO_AUTH_PASSWORD | |
- JICOFO_RESERVATION_REST_BASE_URL | |
- JVB_BREWERY_MUC | |
- JIGASI_BREWERY_MUC | |
- JIBRI_BREWERY_MUC | |
- JIBRI_PENDING_TIMEOUT | |
- TZ | |
depends_on: | |
- prosody | |
networks: | |
meet.jitsi: | |
# Video bridge | |
jvb: | |
container_name: jitsi_jvb | |
image: jitsi/jvb | |
ports: | |
- '${JVB_PORT}:${JVB_PORT}/udp' | |
- '${JVB_TCP_PORT}:${JVB_TCP_PORT}' | |
volumes: | |
- ${CONFIG}/jvb:/config | |
environment: | |
- DOCKER_HOST_ADDRESS | |
- XMPP_AUTH_DOMAIN | |
- XMPP_INTERNAL_MUC_DOMAIN | |
- XMPP_SERVER | |
- JVB_AUTH_USER | |
- JVB_AUTH_PASSWORD | |
- JVB_BREWERY_MUC | |
- JVB_PORT | |
- JVB_TCP_HARVESTER_DISABLED | |
- JVB_TCP_PORT | |
- JVB_STUN_SERVERS | |
- JVB_ENABLE_APIS | |
- TZ | |
depends_on: | |
- prosody | |
networks: | |
meet.jitsi: | |
# Custom network so all services can communicate using a FQDN | |
networks: | |
meet.jitsi: | |
default: | |
external: | |
name: webproxy |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment