# Coturn
ENABLE_COTURN={{ BBB_COTURN_ENABLED | lower }}

# Collabora
ENABLE_COLLABORA={{ BBB_COLLABORA_ENABLED | lower }}
COLLABORA_URL={{ BBB_COLLABORA_URL }}

## Credentials
COTURN_TLS_CERT_PATH={{ BBB_COTURN_TLS_CERT_PATH }}
COTURN_TLS_KEY_PATH={{ BBB_COTURN_TLS_KEY_PATH }}

ENABLE_GREENLIGHT={{ BBB_GREENLIGHT_ENABLED | lower }}

# Enable Webhooks
# used by some integrations
#ENABLE_WEBHOOKS=true

# Prometheus Exporter
# serves the bigbluebutton-exporter under following URL:
# https://yourdomain/bbb-exporter
#ENABLE_PROMETHEUS_EXPORTER=true
#ENABLE_PROMETHEUS_EXPORTER_OPTIMIZATION=true

# Recording
ENABLE_RECORDING={{ BBB_RECORDING_ENABLED | lower }}
REMOVE_OLD_RECORDING={{ BBB_RECORDING_CLEANUP_ENABLED | lower }}
RECORDING_MAX_AGE_DAYS={{ BBB_RECORDING_MAX_AGE_DAYS }}

# ====================================
# SECRETS
# ====================================
# important! change these to any random values
SHARED_SECRET={{ BBB_SHARED_SECRET }}
ETHERPAD_API_KEY={{ BBB_ETHERPAD_API_KEY }}
RAILS_SECRET={{ BBB_RAILS_SECRET }}
POSTGRESQL_SECRET={{ BBB_POSTGRESQL_SECRET }}
FSESL_PASSWORD={{ BBB_FSESL_PASSWORD }}

# ====================================
# CONNECTION
# ====================================

DOMAIN={{ domain }}

# IP
EXTERNAL_IPv4={{ networks.internet.ip4 }}
{% if BBB_IP6_ENABLED %}
EXTERNAL_IPv6={{ networks.internet.ip6 }}
{% endif %}

# STUN SERVER
# stun.freeswitch.org
STUN_IP={{ BBB_TURN_DOMAIN }}
STUN_PORT={{ BBB_STUN_PORT }}

# TURN SERVER
TURN_SERVER=turns:{{ BBB_TURN_DOMAIN }}:{{ BBB_TURN_PORT }}?transport=tcp
TURN_SECRET={{ BBB_TURN_SECRET }}

# Allowed SIP IPs
# due to high traffic caused by bots, by default the SIP port is blocked.
# but you can allow access by your providers IP or IP ranges (comma seperated)
# Hint: if you want to allow requests from every IP, you can use 0.0.0.0/0
SIP_IP_ALLOWLIST=

# ====================================
# CUSTOMIZATION
# ====================================

CLIENT_TITLE=BigBlueButton

# use following lines to replace the default welcome message and footer
WELCOME_MESSAGE="Welcome to <b>%%CONFNAME%%</b>!<br><br>For help on using BigBlueButton see these (short) <a href='https://www.bigbluebutton.org/html5' target='_blank'><u>tutorial videos</u></a>.<br><br>To join the audio bridge click the speaker button.  Use a headset to avoid causing background noise for others."
WELCOME_FOOTER="This server is running <a href='https://docs.bigbluebutton.org/'' target='_blank'><u>BigBlueButton</u></a>."

# use following line for an additional SIP dial-in message
#WELCOME_FOOTER="This server is running <a href='https://docs.bigbluebutton.org/' target='_blank'><u>BigBlueButton</u></a>. <br><br>To join this meeting by phone, dial:<br>  INSERT_YOUR_PHONE_NUMBER_HERE<br>Then enter %%CONFNUM%% as the conference PIN number."

# for a different default presentation, place the pdf file in ./conf/ and
# adjust the following path
DEFAULT_PRESENTATION=./mod/nginx/default.pdf

# language of sound announcements
# options:
# - en-ca-june - EN Canadian June
# - en-us-allison - US English Allison
# - en-us-callie - US English Callie
# - de-de-daedalus3 - German by Daedalus3 (https://github.com/Daedalus3/freeswitch-german-soundfiles)
# - es-ar-mario - Spanish/Argentina Mario
# - fr-ca-june - FR Canadian June
# - pt-br-karina - Brazilian Portuguese Karina
# - ru-RU-elena - RU Russian Elena
# - ru-RU-kirill - RU Russian Kirill
# - ru-RU-vika - RU Russian Viktoriya
# - sv-se-jakob - Swedish (Sweden) Jakob
# - zh-cn-sinmei - Chinese/China Sinmei
# - zh-hk-sinmei - Chinese/Hong Kong Sinmei
SOUNDS_LANGUAGE=en-us-callie

# set to false to disable listenOnlyMode
LISTEN_ONLY_MODE=true

# set to true to disable echo test
DISABLE_ECHO_TEST=false

# set to true to automatically share webcam
AUTO_SHARE_WEBCAM=false

# set to true to disable video preview for webcam sharing
DISABLE_VIDEO_PREVIEW=false

# set to false to disable chat
CHAT_ENABLED=true

# set to true to start chat closed
CHAT_START_CLOSED=false

# set to true to disable announcements "You are now (un-)muted"
DISABLE_SOUND_MUTED=false

# set to true to disable announcement "You are the only person in this conference"
DISABLE_SOUND_ALONE=false

# maximum count of breakout rooms per meeting
# Warning: increasing the limit of breakout rooms per meeting
# can generate excessive overhead to the server. We recommend
# this value to be kept under 12.
BREAKOUTROOM_LIMIT=8

# set to false to disable the learning dashboard
ENABLE_LEARNING_DASHBOARD=true

# ====================================
# Tuning
# ====================================
# Default = 2; Min = 1; Max = 4
# On powerful systems with high number of meetings you can set values up to 4 to accelerate handling of events
NUMBER_OF_BACKEND_NODEJS_PROCESSES=2

# Default = 2; Min = 1; Max = 8
# Set a number between 1 and 4 times the value of NUMBER_OF_BACKEND_NODEJS_PROCESSES where higher number helps with meetings
# stretching the recommended number of users in BigBlueButton
NUMBER_OF_FRONTEND_NODEJS_PROCESSES=2


# ====================================
# GREENLIGHT CONFIGURATION
# ====================================

# Microsoft Office365 Login Provider (optional)
#
# For in-depth steps on setting up a Office 365 Login Provider, see:
#
#   https://docs.bigbluebutton.org/greenlight/gl-config.html#office365-oauth2
#
OFFICE365_KEY=
OFFICE365_SECRET=
OFFICE365_HD=

# OAUTH2_REDIRECT allows you to specify the redirect_url passed to oauth on sign in.
# It is useful for cases when Greenlight is deployed behind a Network Load Balancer or proxy
OAUTH2_REDIRECT=

{% if BBB_LDAP_ENABLED | bool %}
# LDAP Login Provider (optional)
#
# You can enable LDAP authentication by providing values for the variables below.
# Configuring LDAP authentication will take precedence over all other providers.
# For information about setting up LDAP, see:
#
#   https://docs.bigbluebutton.org/greenlight/gl-config.html#ldap-auth

LDAP_SERVER="{{ LDAP.SERVER.DOMAIN }}"
LDAP_PORT="{{ LDAP.SERVER.PORT }}"
# LDAP_METHOD=plain
LDAP_UID={{ LDAP.USER.ATTRIBUTES.ID }}
LDAP_BASE="{{ LDAP.DN.ROOT }}"
LDAP_BIND_DN="{{ LDAP.DN.ADMINISTRATOR.DATA }}"
LDAP_AUTH=password
LDAP_PASSWORD="{{ LDAP.BIND_CREDENTIAL }}"
# LDAP_ROLE_FIELD=ou
# LDAP_FILTER=(&(attr1=value1)(attr2=value2))
{% endif %}

# ====================================
# GREENLIGHT CONFIGURATION
# ====================================
# Set this to true if you want GreenLight to support user signup and login without
# Omniauth. For more information, see:
#
#   https://docs.bigbluebutton.org/greenlight/gl-overview.html#accounts-and-profile
#
ALLOW_GREENLIGHT_ACCOUNTS=true

### SMTP CONFIGURATION
# Emails are required for the basic features of Greenlight to function.
# Please refer to your SMTP provider to get the values for the variables below

SMTP_SERVER={{ SYSTEM_EMAIL.HOST }}
SMTP_DOMAIN={{ SYSTEM_EMAIL.DOMAIN }}
SMTP_PORT={{ SYSTEM_EMAIL.PORT }}
SMTP_USERNAME={{ users['no-reply'].email }}
SMTP_PASSWORD={{ users['no-reply'].mailu_token }}
SMTP_AUTH=plain
SMTP_OPENSSL_VERIFY_MODE=none
SMTP_STARTTLS_AUTO={{ SYSTEM_EMAIL.START_TLS | lower }}
SMTP_STARTTLS={{ SYSTEM_EMAIL.START_TLS | lower }}
SMTP_TLS={{ SYSTEM_EMAIL.TLS | lower }}
SMTP_SSL_VERIFY=true
SMTP_SENDER={{ users['no-reply'].email }}
SMTP_SENDER_EMAIL={{ users['no-reply'].email }}

# Prefix for the applications root URL.
# Useful for deploying the application to a subdirectory, which is highly recommended
# if deploying on a BigBlueButton server. Keep in mind that if you change this, you'll
# have to update your authentication callback URL's to reflect this change.
#
#   The recommended prefix is "/b".
#
RELATIVE_URL_ROOT="/b"

# Specify which settings you would like the users to configure on room creation
# or edit after the room has been created
# By default, all settings are turned OFF.
#
# Current settings available:
#   mute-on-join: Automatically mute users by default when they join a room
#   require-moderator-approval: Require moderators to approve new users before they can join the room
#   anyone-can-start: Allows anyone with the join url to start the room in BigBlueButton
#   all-join-moderator: All users join as moderators in BigBlueButton
ROOM_FEATURES=mute-on-join,require-moderator-approval,anyone-can-start,all-join-moderator

# Specify the maximum number of records to be sent to the BigBlueButton API in one call
# Default is set to 25 records
PAGINATION_NUMBER=25

# Specify the maximum number of rows that should be displayed per page for a paginated table
# Default is set to 25 rows
NUMBER_OF_ROWS=25

# Specify if you want to display the Google Calendar button
#   ENABLE_GOOGLE_CALENDAR_BUTTON=true|false
ENABLE_GOOGLE_CALENDAR_BUTTON=

# Set the application into Maintenance Mode
#
# Current options supported:
# true: Renders an error page that does not allow users to access any of the features in the application
# false: Application runs normally
MAINTENANCE_MODE=false

# Displays a flash that appears to inform the user of a scheduled maintenance window
# This variable should contain ONLY the date and time of the scheduled maintenance
#
# Ex: MAINTENANCE_WINDOW=Friday August 18 6pm-10pm EST
MAINTENANCE_WINDOW=

# The link to the Report an Issue button that appears on the 500 page and in the Account Dropdown
#
# Defaults to the Github Issues Page for Greenlight
# Button can be disabled by setting the value to blank
#
# REPORT_ISSUE_URL=https://github.com/bigbluebutton/greenlight/issues/new

# The link to the Need help? button that appears on the Account Dropdown
#
# Defaults to the Greenlight documentation
# Button can be disabled by setting the value to blank
HELP_URL=https://docs.bigbluebutton.org/greenlight/gl-overview.html

# Specify the default registration to be used by Greenlight until an administrator sets the
# registration method
# Allowed values are:
#   open - For open registration
#   invite - For invite only registration
#   approval - For approve/decline registration
DEFAULT_REGISTRATION=invite

{% if BBB_OIDC_ENABLED | bool %}
### EXTERNAL AUTHENTICATION METHODS
# @See https://docs.bigbluebutton.org/greenlight/v3/external-authentication/
#
OPENID_CONNECT_CLIENT_ID={{ OIDC.CLIENT.ID }}
OPENID_CONNECT_CLIENT_SECRET={{ OIDC.CLIENT.SECRET }}
OPENID_CONNECT_ISSUER={{ OIDC.CLIENT.ISSUER_URL }}
OPENID_CONNECT_REDIRECT={{ domains | get_url(application_id, WEB_PROTOCOL) }}
# OPENID_CONNECT_UID_FIELD=sub default
{% endif %}