feature/latest-upstream-docker-compose #2

Merged
jotbe merged 9 commits from feature/latest-upstream-docker-compose into master 2022-10-03 00:59:35 +02:00
2 changed files with 102 additions and 16 deletions
Showing only changes of commit c636d5bfb5 - Show all commits

View file

@ -10,31 +10,79 @@ services:
- ${CONFIG}/web/letsencrypt:/etc/letsencrypt - ${CONFIG}/web/letsencrypt:/etc/letsencrypt
- ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts - ${CONFIG}/transcripts:/usr/share/jitsi-meet/transcripts
environment: environment:
- ENABLE_AUTH
- ENABLE_GUESTS
- ENABLE_LETSENCRYPT - ENABLE_LETSENCRYPT
- ENABLE_HTTP_REDIRECT - ENABLE_HTTP_REDIRECT
- ENABLE_TRANSCRIPTIONS - ENABLE_XMPP_WEBSOCKET
- DISABLE_HTTPS - DISABLE_HTTPS
- JICOFO_AUTH_USER
- LETSENCRYPT_DOMAIN
- LETSENCRYPT_EMAIL
- PUBLIC_URL - PUBLIC_URL
- XMPP_DOMAIN - TZ
- AMPLITUDE_ID
- ANALYTICS_SCRIPT_URLS
- ANALYTICS_WHITELISTED_EVENTS
- BRIDGE_CHANNEL
- BRANDING_DATA_URL
- CALLSTATS_CUSTOM_SCRIPT_URL
- CALLSTATS_ID
- CALLSTATS_SECRET
- CHROME_EXTENSION_BANNER_JSON
- CONFCODE_URL
- CONFIG_EXTERNAL_CONNECT
- DEPLOYMENTINFO_ENVIRONMENT
- DEPLOYMENTINFO_ENVIRONMENT_TYPE
- DEPLOYMENTINFO_USERREGION
- DIALIN_NUMBERS_URL
- DIALOUT_AUTH_URL
- DIALOUT_CODES_URL
- DROPBOX_APPKEY
- DROPBOX_REDIRECT_URI
- ENABLE_AUDIO_PROCESSING
- ENABLE_AUTH
- ENABLE_CALENDAR
- ENABLE_FILE_RECORDING_SERVICE
- ENABLE_FILE_RECORDING_SERVICE_SHARING
- ENABLE_GUESTS
- ENABLE_IPV6
- ENABLE_LIPSYNC
- ENABLE_NO_AUDIO_DETECTION
- ENABLE_P2P
- ENABLE_PREJOIN_PAGE
- ENABLE_RECORDING
- ENABLE_REMB
- ENABLE_REQUIRE_DISPLAY_NAME
- ENABLE_SIMULCAST
- ENABLE_STATS_ID
- ENABLE_STEREO
- ENABLE_SUBDOMAINS
- ENABLE_TALK_WHILE_MUTED
jotbe marked this conversation as resolved Outdated

For some env vars like this one, there are no entries/descriptions in the env.example from upstream Jitsi repo. Using the existing .env file will lead to default values here - but I like this preparatory step.

For some env vars like this one, there are no entries/descriptions in the `env.example` from upstream Jitsi repo. Using the existing `.env` file will lead to default values here - but I like this preparatory step.
- ENABLE_TCC
- ENABLE_TRANSCRIPTIONS
- ETHERPAD_PUBLIC_URL
- ETHERPAD_URL_BASE
- GOOGLE_ANALYTICS_ID
- GOOGLE_API_APP_CLIENT_ID
- INVITE_SERVICE_URL
- JICOFO_AUTH_USER
- MATOMO_ENDPOINT
- MATOMO_SITE_ID
- MICROSOFT_API_APP_CLIENT_ID
- NGINX_RESOLVER
- PEOPLE_SEARCH_URL
- RESOLUTION
- RESOLUTION_MIN
- RESOLUTION_WIDTH
- RESOLUTION_WIDTH_MIN
- START_AUDIO_ONLY
- START_AUDIO_MUTED
- START_BITRATE
- START_VIDEO_MUTED
- TESTING_CAP_SCREENSHARE_BITRATE
- TESTING_OCTO_PROBABILITY
- XMPP_AUTH_DOMAIN - XMPP_AUTH_DOMAIN
- XMPP_BOSH_URL_BASE - XMPP_BOSH_URL_BASE
- XMPP_DOMAIN
- XMPP_GUEST_DOMAIN - XMPP_GUEST_DOMAIN
- XMPP_MUC_DOMAIN - XMPP_MUC_DOMAIN
- XMPP_RECORDER_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
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.docker.network=traefik_public" - "traefik.docker.network=traefik_public"
@ -72,6 +120,8 @@ services:
- AUTH_TYPE - AUTH_TYPE
- ENABLE_AUTH - ENABLE_AUTH
- ENABLE_GUESTS - ENABLE_GUESTS
- ENABLE_LOBBY
- ENABLE_XMPP_WEBSOCKET
- GLOBAL_MODULES - GLOBAL_MODULES
- GLOBAL_CONFIG - GLOBAL_CONFIG
- LDAP_URL - LDAP_URL
@ -169,13 +219,21 @@ services:
- JVB_PORT - JVB_PORT
- JVB_TCP_HARVESTER_DISABLED - JVB_TCP_HARVESTER_DISABLED
- JVB_TCP_PORT - JVB_TCP_PORT
- JVB_TCP_MAPPED_PORT
- JVB_STUN_SERVERS - JVB_STUN_SERVERS
- JVB_ENABLE_APIS - JVB_ENABLE_APIS
- JVB_WS_DOMAIN
- JVB_WS_SERVER_ID
- PUBLIC_URL
- TZ - TZ
depends_on: depends_on:
- prosody - prosody
networks: networks:
meet.jitsi: meet.jitsi:
labels:
traefik.udp.routers.jvb.entrypoints: video
traefik.udp.routers.jvb.service: jvb
jotbe marked this conversation as resolved Outdated

What's the purpose of the service dict var?

What's the purpose of the service dict var?
Outdated
Review

This should define a service entity for traefik which allows e.g. for loadbalancing. I haven't tried the loadbalancing yet. On the other hand, that entrypoint video is not further defined here. I am not sure whether other configuration is missing here.

This should define a service entity for traefik which allows e.g. for loadbalancing. I haven't tried the loadbalancing yet. On the other hand, that entrypoint `video` is not further defined here. I am not sure whether other configuration is missing here.

As long as this does not break our current setup, I'm fine with having the new labels here.

As long as this does not break our current setup, I'm fine with having the new labels here.
traefik.udp.services.jvb.loadbalancer.server.port: '10000'
jotbe marked this conversation as resolved Outdated

Could that be parameterized with ${JVB_PORT}?

Could that be parameterized with `${JVB_PORT}`?
Outdated
Review

Good point! Yes, could be, but it makes sense to create an Ansible var to allow a config of that JVB_PORT which is still more or less hardcoded in the env file.

Good point! Yes, could be, but it makes sense to create an Ansible var to allow a config of that `JVB_PORT` which is still more or less hardcoded in the env file.

To my knowledge, this variable already exists: jitsi_bridge_udp_port. Or do I mix up things here?

To my knowledge, this variable already exists: `jitsi_bridge_udp_port`. Or do I mix up things here?
Outdated
Review

Where is that? I cannot find that string in the code.

Where is that? I cannot find that string in the code.

I'm sorry, got that mixed up with one of my branches where I also needed to introduce such a variable :D

I'm sorry, got that mixed up with one of my branches where I also needed to introduce such a variable :D
# Custom network so all services can communicate using a FQDN # Custom network so all services can communicate using a FQDN
networks: networks:

View file

@ -45,6 +45,18 @@ LETSENCRYPT_EMAIL={{ jitsi_letsencrypt_email }}
# Set etherpad-lite URL (uncomment to enable). # Set etherpad-lite URL (uncomment to enable).
#ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001 #ETHERPAD_URL_BASE=http://etherpad.meet.jitsi:9001
# Name your etherpad instance!
ETHERPAD_TITLE="Video Chat"
# The default text of a pad
ETHERPAD_DEFAULT_PAD_TEXT="Welcome to Web Chat!\n\n"
# Name of the skin for etherpad
ETHERPAD_SKIN_NAME="colibris"
# Skin variants for etherpad
ETHERPAD_SKIN_VARIANTS="super-light-toolbar super-light-editor light-background full-width-editor"
# #
# Basic Jigasi configuration options (needed for SIP gateway support) # Basic Jigasi configuration options (needed for SIP gateway support)
@ -165,6 +177,10 @@ XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
# XMPP domain for unauthenticated users. # XMPP domain for unauthenticated users.
XMPP_GUEST_DOMAIN=guest.meet.jitsi XMPP_GUEST_DOMAIN=guest.meet.jitsi
# Comma separated list of domains for cross domain policy or "true" to allow all
# The PUBLIC_URL is always allowed
#XMPP_CROSS_DOMAIN=true
# Custom Prosody modules for XMPP_DOMAIN (comma separated) # Custom Prosody modules for XMPP_DOMAIN (comma separated)
XMPP_MODULES= XMPP_MODULES=
@ -192,6 +208,7 @@ JVB_PORT=10000
# TCP Fallback for Jitsi Videobridge for when UDP isn't available # TCP Fallback for Jitsi Videobridge for when UDP isn't available
JVB_TCP_HARVESTER_DISABLED=true JVB_TCP_HARVESTER_DISABLED=true
JVB_TCP_PORT=4443 JVB_TCP_PORT=4443
JVB_TCP_MAPPED_PORT=4443
# A comma separated list of APIs to enable when the JVB is started. The default is none. # A comma separated list of APIs to enable when the JVB is started. The default is none.
# See https://github.com/jitsi/jitsi-videobridge/blob/master/doc/rest.md for more information # See https://github.com/jitsi/jitsi-videobridge/blob/master/doc/rest.md for more information
@ -302,3 +319,14 @@ JIBRI_LOGS_DIR=/config/logs
# Redirects HTTP traffic to HTTPS. Only works with the standard HTTPS port (443). # Redirects HTTP traffic to HTTPS. Only works with the standard HTTPS port (443).
#ENABLE_HTTP_REDIRECT=1 #ENABLE_HTTP_REDIRECT=1
# Enable IPv6
# Provides means to disable IPv6 in environments that don't support it (get with the times, people!)
#ENABLE_IPV6=1
# Container restart policy
# Defaults to unless-stopped
RESTART_POLICY=unless-stopped
# Authenticate using external service or just focus external auth window if there is one already.
# TOKEN_AUTH_URL=https://auth.meet.example.com/{room}