436 lines
14 KiB
YAML
436 lines
14 KiB
YAML
version: '3.5'
|
|
|
|
services:
|
|
# Frontend
|
|
web:
|
|
image: jitsi/web:${JITSI_IMAGE_VERSION:-unstable}
|
|
restart: ${RESTART_POLICY:-unless-stopped}
|
|
ports:
|
|
- '${HTTP_PORT}:80'
|
|
- '${HTTPS_PORT}:443'
|
|
volumes:
|
|
- ${CONFIG}/web:/config:Z
|
|
- ${CONFIG}/web/crontabs:/var/spool/cron/crontabs:Z
|
|
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
|
environment:
|
|
- AMPLITUDE_ID
|
|
- ANALYTICS_SCRIPT_URLS
|
|
- ANALYTICS_WHITELISTED_EVENTS
|
|
- AUDIO_QUALITY_OPUS_BITRATE
|
|
- AUTO_CAPTION_ON_RECORD
|
|
- BRANDING_DATA_URL
|
|
- CALLSTATS_CUSTOM_SCRIPT_URL
|
|
- CALLSTATS_ID
|
|
- CALLSTATS_SECRET
|
|
- CHROME_EXTENSION_BANNER_JSON
|
|
- COLIBRI_WEBSOCKET_PORT
|
|
- COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME
|
|
- COLIBRI_WEBSOCKET_REGEX
|
|
- CONFCODE_URL
|
|
- CONFIG_EXTERNAL_CONNECT
|
|
- DEFAULT_LANGUAGE
|
|
- DEPLOYMENTINFO_ENVIRONMENT
|
|
- DEPLOYMENTINFO_ENVIRONMENT_TYPE
|
|
- DEPLOYMENTINFO_REGION
|
|
- DEPLOYMENTINFO_SHARD
|
|
- DEPLOYMENTINFO_USERREGION
|
|
- DESKTOP_SHARING_FRAMERATE_MIN
|
|
- DESKTOP_SHARING_FRAMERATE_MAX
|
|
- DIALIN_NUMBERS_URL
|
|
- DIALOUT_AUTH_URL
|
|
- DIALOUT_CODES_URL
|
|
- DISABLE_AUDIO_LEVELS
|
|
- DISABLE_COLIBRI_WEBSOCKET_JVB_LOOKUP
|
|
- DISABLE_DEEP_LINKING
|
|
- DISABLE_GRANT_MODERATOR
|
|
- DISABLE_HTTPS
|
|
- DISABLE_KICKOUT
|
|
- DISABLE_LOCAL_RECORDING
|
|
- DISABLE_POLLS
|
|
- DISABLE_PRIVATE_CHAT
|
|
- DISABLE_PROFILE
|
|
- DISABLE_REACTIONS
|
|
- DISABLE_REMOTE_VIDEO_MENU
|
|
- DISABLE_START_FOR_ALL
|
|
- DROPBOX_APPKEY
|
|
- DROPBOX_REDIRECT_URI
|
|
- DYNAMIC_BRANDING_URL
|
|
- ENABLE_AUDIO_PROCESSING
|
|
- ENABLE_AUTH
|
|
- ENABLE_AUTH_DOMAIN
|
|
- ENABLE_BREAKOUT_ROOMS
|
|
- ENABLE_CALENDAR
|
|
- ENABLE_COLIBRI_WEBSOCKET
|
|
- ENABLE_COLIBRI_WEBSOCKET_UNSAFE_REGEX
|
|
- ENABLE_E2EPING
|
|
- ENABLE_FILE_RECORDING_SHARING
|
|
- ENABLE_GUESTS
|
|
- ENABLE_HSTS
|
|
- ENABLE_HTTP_REDIRECT
|
|
- ENABLE_IPV6
|
|
- ENABLE_LETSENCRYPT
|
|
- ENABLE_LIPSYNC
|
|
- ENABLE_NO_AUDIO_DETECTION
|
|
- ENABLE_NOISY_MIC_DETECTION
|
|
- ENABLE_OCTO
|
|
- ENABLE_OPUS_RED
|
|
- ENABLE_PREJOIN_PAGE
|
|
- ENABLE_P2P
|
|
- ENABLE_WELCOME_PAGE
|
|
- ENABLE_CLOSE_PAGE
|
|
- ENABLE_LIVESTREAMING
|
|
- ENABLE_LIVESTREAMING_DATA_PRIVACY_LINK
|
|
- ENABLE_LIVESTREAMING_HELP_LINK
|
|
- ENABLE_LIVESTREAMING_TERMS_LINK
|
|
- ENABLE_LIVESTREAMING_VALIDATOR_REGEXP_STRING
|
|
- ENABLE_LOCAL_RECORDING_NOTIFY_ALL_PARTICIPANT
|
|
- ENABLE_LOCAL_RECORDING_SELF_START
|
|
- ENABLE_RECORDING
|
|
- ENABLE_REMB
|
|
- ENABLE_REQUIRE_DISPLAY_NAME
|
|
- ENABLE_SERVICE_RECORDING
|
|
- ENABLE_SIMULCAST
|
|
- ENABLE_STATS_ID
|
|
- ENABLE_STEREO
|
|
- ENABLE_SUBDOMAINS
|
|
- ENABLE_TALK_WHILE_MUTED
|
|
- ENABLE_TCC
|
|
- ENABLE_TRANSCRIPTIONS
|
|
- ENABLE_XMPP_WEBSOCKET
|
|
- ENABLE_JAAS_COMPONENTS
|
|
- ETHERPAD_PUBLIC_URL
|
|
- ETHERPAD_URL_BASE
|
|
- E2EPING_NUM_REQUESTS
|
|
- E2EPING_MAX_CONFERENCE_SIZE
|
|
- E2EPING_MAX_MESSAGE_PER_SECOND
|
|
- GOOGLE_ANALYTICS_ID
|
|
- GOOGLE_API_APP_CLIENT_ID
|
|
- HIDE_PREMEETING_BUTTONS
|
|
- HIDE_PREJOIN_DISPLAY_NAME
|
|
- HIDE_PREJOIN_EXTRA_BUTTONS
|
|
- INVITE_SERVICE_URL
|
|
- JVB_PREFER_SCTP
|
|
- LETSENCRYPT_DOMAIN
|
|
- LETSENCRYPT_EMAIL
|
|
- LETSENCRYPT_USE_STAGING
|
|
- MATOMO_ENDPOINT
|
|
- MATOMO_SITE_ID
|
|
- MICROSOFT_API_APP_CLIENT_ID
|
|
- NGINX_RESOLVER
|
|
- NGINX_WORKER_PROCESSES
|
|
- NGINX_WORKER_CONNECTIONS
|
|
- PEOPLE_SEARCH_URL
|
|
- PREFERRED_LANGUAGE
|
|
- PUBLIC_URL
|
|
- P2P_PREFERRED_CODEC
|
|
- RESOLUTION
|
|
- RESOLUTION_MIN
|
|
- RESOLUTION_WIDTH
|
|
- RESOLUTION_WIDTH_MIN
|
|
- START_AUDIO_MUTED
|
|
- START_AUDIO_ONLY
|
|
- START_BITRATE
|
|
- START_SILENT
|
|
- START_WITH_AUDIO_MUTED
|
|
- START_VIDEO_MUTED
|
|
- START_WITH_VIDEO_MUTED
|
|
- TESTING_CAP_SCREENSHARE_BITRATE
|
|
- TESTING_OCTO_PROBABILITY
|
|
- TOKEN_AUTH_URL
|
|
- TOOLBAR_BUTTONS
|
|
- TRANSLATION_LANGUAGES
|
|
- TRANSLATION_LANGUAGES_HEAD
|
|
- TZ
|
|
- USE_APP_LANGUAGE
|
|
- VIDEOQUALITY_BITRATE_H264_LOW
|
|
- VIDEOQUALITY_BITRATE_H264_STANDARD
|
|
- VIDEOQUALITY_BITRATE_H264_HIGH
|
|
- VIDEOQUALITY_BITRATE_VP8_LOW
|
|
- VIDEOQUALITY_BITRATE_VP8_STANDARD
|
|
- VIDEOQUALITY_BITRATE_VP8_HIGH
|
|
- VIDEOQUALITY_BITRATE_VP9_LOW
|
|
- VIDEOQUALITY_BITRATE_VP9_STANDARD
|
|
- VIDEOQUALITY_BITRATE_VP9_HIGH
|
|
- VIDEOQUALITY_BITRATE_AV1_LOW
|
|
- VIDEOQUALITY_BITRATE_AV1_STANDARD
|
|
- VIDEOQUALITY_BITRATE_AV1_HIGH
|
|
- VIDEOQUALITY_ENFORCE_PREFERRED_CODEC
|
|
- VIDEOQUALITY_PREFERRED_CODEC
|
|
- XMPP_AUTH_DOMAIN
|
|
- XMPP_BOSH_URL_BASE
|
|
- XMPP_DOMAIN
|
|
- XMPP_GUEST_DOMAIN
|
|
- XMPP_MUC_DOMAIN
|
|
- XMPP_RECORDER_DOMAIN
|
|
- XMPP_PORT
|
|
- WHITEBOARD_ENABLED
|
|
- WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
|
|
networks:
|
|
meet.jitsi:
|
|
|
|
# XMPP server
|
|
prosody:
|
|
image: jitsi/prosody:${JITSI_IMAGE_VERSION:-unstable}
|
|
restart: ${RESTART_POLICY:-unless-stopped}
|
|
expose:
|
|
- '${XMPP_PORT:-5222}'
|
|
- '${PROSODY_S2S_PORT:-5269}'
|
|
- '5347'
|
|
- '${PROSODY_HTTP_PORT:-5280}'
|
|
volumes:
|
|
- ${CONFIG}/prosody/config:/config:Z
|
|
- ${CONFIG}/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
|
environment:
|
|
- AUTH_TYPE
|
|
- DISABLE_POLLS
|
|
- ENABLE_AUTH
|
|
- ENABLE_AV_MODERATION
|
|
- ENABLE_BREAKOUT_ROOMS
|
|
- ENABLE_END_CONFERENCE
|
|
- ENABLE_GUESTS
|
|
- ENABLE_IPV6
|
|
- ENABLE_LOBBY
|
|
- ENABLE_RECORDING
|
|
- ENABLE_S2S
|
|
- ENABLE_VISITORS
|
|
- ENABLE_XMPP_WEBSOCKET
|
|
- ENABLE_JAAS_COMPONENTS
|
|
- GC_TYPE
|
|
- GC_INC_TH
|
|
- GC_INC_SPEED
|
|
- GC_INC_STEP_SIZE
|
|
- GC_GEN_MIN_TH
|
|
- GC_GEN_MAX_TH
|
|
- GLOBAL_CONFIG
|
|
- GLOBAL_MODULES
|
|
- JIBRI_RECORDER_USER
|
|
- JIBRI_RECORDER_PASSWORD
|
|
- JIBRI_XMPP_USER
|
|
- JIBRI_XMPP_PASSWORD
|
|
- JICOFO_AUTH_PASSWORD
|
|
- JICOFO_COMPONENT_SECRET
|
|
- JIGASI_XMPP_USER
|
|
- JIGASI_XMPP_PASSWORD
|
|
- JVB_AUTH_USER
|
|
- JVB_AUTH_PASSWORD
|
|
- JWT_APP_ID
|
|
- JWT_APP_SECRET
|
|
- JWT_ACCEPTED_ISSUERS
|
|
- JWT_ACCEPTED_AUDIENCES
|
|
- JWT_ASAP_KEYSERVER
|
|
- JWT_ALLOW_EMPTY
|
|
- JWT_AUTH_TYPE
|
|
- JWT_ENABLE_DOMAIN_VERIFICATION
|
|
- JWT_TOKEN_AUTH_MODULE
|
|
- MATRIX_UVS_URL
|
|
- MATRIX_UVS_ISSUER
|
|
- MATRIX_UVS_AUTH_TOKEN
|
|
- MATRIX_UVS_SYNC_POWER_LEVELS
|
|
- LOG_LEVEL
|
|
- LDAP_AUTH_METHOD
|
|
- LDAP_BASE
|
|
- LDAP_BINDDN
|
|
- LDAP_BINDPW
|
|
- LDAP_FILTER
|
|
- LDAP_VERSION
|
|
- LDAP_TLS_CIPHERS
|
|
- LDAP_TLS_CHECK_PEER
|
|
- LDAP_TLS_CACERT_FILE
|
|
- LDAP_TLS_CACERT_DIR
|
|
- LDAP_START_TLS
|
|
- LDAP_URL
|
|
- LDAP_USE_TLS
|
|
- MAX_PARTICIPANTS
|
|
- PROSODY_ADMINS
|
|
- PROSODY_AUTH_TYPE
|
|
- PROSODY_C2S_LIMIT
|
|
- PROSODY_C2S_REQUIRE_ENCRYPTION
|
|
- PROSODY_RESERVATION_ENABLED
|
|
- PROSODY_RESERVATION_REST_BASE_URL
|
|
- PROSODY_ENABLE_RATE_LIMITS
|
|
- PROSODY_ENABLE_S2S
|
|
- PROSODY_GUEST_AUTH_TYPE
|
|
- PROSODY_HTTP_PORT
|
|
- PROSODY_LOG_CONFIG
|
|
- PROSODY_MODE
|
|
- PROSODY_RATE_LIMIT_LOGIN_RATE
|
|
- PROSODY_RATE_LIMIT_SESSION_RATE
|
|
- PROSODY_RATE_LIMIT_TIMEOUT
|
|
- PROSODY_RATE_LIMIT_ALLOW_RANGES
|
|
- PROSODY_RATE_LIMIT_CACHE_SIZE
|
|
- PROSODY_S2S_LIMIT
|
|
- PROSODY_S2S_PORT
|
|
- PROSODY_TRUSTED_PROXIES
|
|
- PROSODY_VISITOR_INDEX
|
|
- PROSODY_VISITORS_MUC_PREFIX
|
|
- PUBLIC_URL
|
|
- STUN_HOST
|
|
- STUN_PORT
|
|
- TURN_CREDENTIALS
|
|
- TURN_HOST
|
|
- TURNS_HOST
|
|
- TURN_PORT
|
|
- TURNS_PORT
|
|
- TURN_TRANSPORT
|
|
- TZ
|
|
- VISITORS_MAX_VISITORS_PER_NODE
|
|
- VISITORS_XMPP_DOMAIN
|
|
- VISITORS_XMPP_SERVER
|
|
- VISITORS_XMPP_PORT
|
|
- XMPP_BREAKOUT_MUC_MODULES
|
|
- XMPP_CONFIGURATION
|
|
- XMPP_DOMAIN
|
|
- XMPP_AUTH_DOMAIN
|
|
- XMPP_GUEST_DOMAIN
|
|
- XMPP_MUC_DOMAIN
|
|
- XMPP_INTERNAL_MUC_DOMAIN
|
|
- XMPP_LOBBY_MUC_MODULES
|
|
- XMPP_MODULES
|
|
- XMPP_MUC_MODULES
|
|
- XMPP_MUC_CONFIGURATION
|
|
- XMPP_INTERNAL_MUC_MODULES
|
|
- XMPP_RECORDER_DOMAIN
|
|
- XMPP_PORT
|
|
- XMPP_SERVER_S2S_PORT
|
|
networks:
|
|
meet.jitsi:
|
|
aliases:
|
|
- ${XMPP_SERVER:-xmpp.meet.jitsi}
|
|
|
|
# Focus component
|
|
jicofo:
|
|
image: jitsi/jicofo:${JITSI_IMAGE_VERSION:-unstable}
|
|
restart: ${RESTART_POLICY:-unless-stopped}
|
|
ports:
|
|
- '127.0.0.1:${JICOFO_REST_PORT:-8888}:8888'
|
|
volumes:
|
|
- ${CONFIG}/jicofo:/config:Z
|
|
environment:
|
|
- AUTH_TYPE
|
|
- BRIDGE_AVG_PARTICIPANT_STRESS
|
|
- BRIDGE_STRESS_THRESHOLD
|
|
- ENABLE_AUTH
|
|
- ENABLE_AUTO_OWNER
|
|
- ENABLE_CODEC_VP8
|
|
- ENABLE_CODEC_VP9
|
|
- ENABLE_CODEC_AV1
|
|
- ENABLE_CODEC_H264
|
|
- ENABLE_CODEC_OPUS_RED
|
|
- ENABLE_JVB_XMPP_SERVER
|
|
- ENABLE_OCTO
|
|
- ENABLE_RECORDING
|
|
- ENABLE_SCTP
|
|
- ENABLE_VISITORS
|
|
- ENABLE_AUTO_LOGIN
|
|
- JICOFO_AUTH_LIFETIME
|
|
- JICOFO_AUTH_PASSWORD
|
|
- JICOFO_AUTH_TYPE
|
|
- JICOFO_BRIDGE_REGION_GROUPS
|
|
- JICOFO_ENABLE_AUTH
|
|
- JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS
|
|
- JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT
|
|
- JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT
|
|
- JICOFO_CONF_SOURCE_SIGNALING_DELAYS
|
|
- JICOFO_CONF_MAX_AUDIO_SENDERS
|
|
- JICOFO_CONF_MAX_VIDEO_SENDERS
|
|
- JICOFO_CONF_STRIP_SIMULCAST
|
|
- JICOFO_CONF_SSRC_REWRITING
|
|
- JICOFO_ENABLE_HEALTH_CHECKS
|
|
- JICOFO_ENABLE_REST
|
|
- JICOFO_HEALTH_CHECKS_USE_PRESENCE
|
|
- JICOFO_MULTI_STREAM_BACKWARD_COMPAT
|
|
- JICOFO_OCTO_REGION
|
|
- JIBRI_BREWERY_MUC
|
|
- JIBRI_REQUEST_RETRIES
|
|
- JIBRI_PENDING_TIMEOUT
|
|
- JIGASI_BREWERY_MUC
|
|
- JIGASI_SIP_URI
|
|
- JVB_BREWERY_MUC
|
|
- JVB_XMPP_AUTH_DOMAIN
|
|
- JVB_XMPP_INTERNAL_MUC_DOMAIN
|
|
- JVB_XMPP_PORT
|
|
- JVB_XMPP_SERVER
|
|
- MAX_BRIDGE_PARTICIPANTS
|
|
- OCTO_BRIDGE_SELECTION_STRATEGY
|
|
- PROSODY_VISITORS_MUC_PREFIX
|
|
- SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}"
|
|
- SENTRY_ENVIRONMENT
|
|
- SENTRY_RELEASE
|
|
- TZ
|
|
- VISITORS_MAX_PARTICIPANTS
|
|
- VISITORS_MAX_VISITORS_PER_NODE
|
|
- VISITORS_XMPP_SERVER
|
|
- VISITORS_XMPP_DOMAIN
|
|
- XMPP_DOMAIN
|
|
- XMPP_AUTH_DOMAIN
|
|
- XMPP_INTERNAL_MUC_DOMAIN
|
|
- XMPP_MUC_DOMAIN
|
|
- XMPP_RECORDER_DOMAIN
|
|
- XMPP_SERVER
|
|
- XMPP_PORT
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
meet.jitsi:
|
|
|
|
# Video bridge
|
|
jvb:
|
|
image: jitsi/jvb:${JITSI_IMAGE_VERSION:-unstable}
|
|
restart: ${RESTART_POLICY:-unless-stopped}
|
|
ports:
|
|
- '${JVB_PORT:-10000}:${JVB_PORT:-10000}/udp'
|
|
- '127.0.0.1:${JVB_COLIBRI_PORT:-8080}:8080'
|
|
volumes:
|
|
- ${CONFIG}/jvb:/config:Z
|
|
environment:
|
|
- AUTOSCALER_SIDECAR_KEY_FILE
|
|
- AUTOSCALER_SIDECAR_KEY_ID
|
|
- AUTOSCALER_SIDECAR_GROUP_NAME
|
|
- AUTOSCALER_SIDECAR_HOST_ID
|
|
- AUTOSCALER_SIDECAR_INSTANCE_ID
|
|
- AUTOSCALER_SIDECAR_PORT
|
|
- AUTOSCALER_SIDECAR_REGION
|
|
- AUTOSCALER_SIDECAR_SHUTDOWN_POLLING_INTERVAL
|
|
- AUTOSCALER_SIDECAR_STATS_POLLING_INTERVAL
|
|
- DOCKER_HOST_ADDRESS
|
|
- ENABLE_COLIBRI_WEBSOCKET
|
|
- ENABLE_JVB_XMPP_SERVER
|
|
- ENABLE_OCTO
|
|
- JVB_ADVERTISE_IPS
|
|
- JVB_ADVERTISE_PRIVATE_CANDIDATES
|
|
- JVB_AUTH_USER
|
|
- JVB_AUTH_PASSWORD
|
|
- JVB_BREWERY_MUC
|
|
- JVB_DISABLE_STUN
|
|
- JVB_INSTANCE_ID
|
|
- JVB_PORT
|
|
- JVB_MUC_NICKNAME
|
|
- JVB_STUN_SERVERS
|
|
- JVB_OCTO_BIND_ADDRESS
|
|
- JVB_OCTO_REGION
|
|
- JVB_OCTO_RELAY_ID
|
|
- JVB_WS_DOMAIN
|
|
- JVB_WS_SERVER_ID
|
|
- JVB_XMPP_AUTH_DOMAIN
|
|
- JVB_XMPP_INTERNAL_MUC_DOMAIN
|
|
- JVB_XMPP_PORT
|
|
- JVB_XMPP_SERVER
|
|
- PUBLIC_URL
|
|
- SENTRY_DSN="${JVB_SENTRY_DSN:-0}"
|
|
- SENTRY_ENVIRONMENT
|
|
- SENTRY_RELEASE
|
|
- COLIBRI_REST_ENABLED
|
|
- SHUTDOWN_REST_ENABLED
|
|
- TZ
|
|
- XMPP_AUTH_DOMAIN
|
|
- XMPP_INTERNAL_MUC_DOMAIN
|
|
- XMPP_SERVER
|
|
- XMPP_PORT
|
|
depends_on:
|
|
- prosody
|
|
networks:
|
|
meet.jitsi:
|
|
|
|
# Custom network so all services can communicate using a FQDN
|
|
networks:
|
|
meet.jitsi:
|