summaryrefslogtreecommitdiffstats
path: root/roles/bbb/templates
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xroles/bbb/templates/bigbluebutton.yml73
-rw-r--r--roles/bbb/templates/env.template202
-rw-r--r--roles/bbb/templates/video.yml81
3 files changed, 356 insertions, 0 deletions
diff --git a/roles/bbb/templates/bigbluebutton.yml b/roles/bbb/templates/bigbluebutton.yml
new file mode 100755
index 0000000..beb8ce8
--- /dev/null
+++ b/roles/bbb/templates/bigbluebutton.yml
@@ -0,0 +1,73 @@
+bbb_version: '3.0.9'
+raw_audio_src: /var/freeswitch/meetings
+mediasoup_video_src: /var/mediasoup/recordings
+mediasoup_screenshare_src: /var/mediasoup/screenshare
+webrtc_recorder_video_src: /var/lib/bbb-webrtc-recorder/recordings
+webrtc_recorder_screenshare_src: /var/lib/bbb-webrtc-recorder/screenshare
+webrtc_recorder_audio_src: /var/lib/bbb-webrtc-recorder/audio
+raw_deskshare_src: /var/bigbluebutton/deskshare
+raw_presentation_src: /var/bigbluebutton
+notes_endpoint: http://127.0.0.1:9002/p
+# Specify the notes formats we archive
+# txt, doc and odt are also supported
+notes_formats:
+ - etherpad
+ - html
+ - pdf
+redis_host: 127.0.0.1
+redis_port: 6379
+# Uncomment and set password if redis require it.
+# redis_password: changeme
+
+# redis_workers_host: 127.0.0.1
+# redis_workers_port: 6379
+
+# Set to true to insert recording process status into
+# redis list with key "store_recording_status: true".
+# This is useful if you want to track progress status
+# and have another script process it.
+store_recording_status: false
+# Whether to anonymize the sender of chat messages in the processed
+# recordings. The settings here are the defaults; they can be overridden
+# by passing meta parameters on the meeting create call.
+# meta param: meta_bbb-anonymize-chat (true/false)
+anonymize_chat: false
+# By default only names of viewers are anonymized - if you would also
+# like to anonymize moderators, you can set this to true:
+# meta param: meta_bbb-anonymize-chat-moderators (true/false)
+anonymize_chat_moderators: false
+# By default, recordings assume the Viewer viewpoint (with all locks)
+# so when webcamsOnlyForModerator=true, only moderators webcams are included in recordings.
+# Use this option to ignore locks and assume Moderator viewpoint instead.
+show_moderator_viewpoint: false
+# Sequence of recording steps. Keys are the current step, values
+# are the next step(s). Examples:
+# current_step: next_step
+# "current_step-format": "next_step-format"
+# current_step:
+# - next_step
+# - another_step-format
+steps:
+ archive: "sanity"
+ sanity: "captions"
+ captions:
+ - "process:presentation"
+ - "process:video"
+ "process:presentation": "publish:presentation"
+ "process:video": "publish:video"
+# For PRODUCTION
+log_dir: /var/log/bigbluebutton
+events_dir: /var/bigbluebutton/events
+recording_dir: /var/bigbluebutton/recording
+published_dir: /var/bigbluebutton/published
+captions_dir: /var/bigbluebutton/captions
+playback_host: bbb.emacsverse.org
+playback_protocol: https
+
+# For DEVELOPMENT
+# This allows us to run the scripts manually
+#scripts_dir: /home/ubuntu/dev/bigbluebutton/record-and-playback/core/scripts
+#log_dir: /home/ubuntu/temp/log
+#recording_dir: /home/ubuntu/temp/recording
+#published_dir: /home/ubuntu/temp/published
+#playback_host: bbb.emacsverse.org
diff --git a/roles/bbb/templates/env.template b/roles/bbb/templates/env.template
new file mode 100644
index 0000000..65e8770
--- /dev/null
+++ b/roles/bbb/templates/env.template
@@ -0,0 +1,202 @@
+# ====================================
+# ADDITIONS to BigBlueButton
+# ====================================
+# (place a '#' before to disable them)
+
+# HTTPS Proxy
+# fully automated Lets Encrypt certificates
+ENABLE_HTTPS_PROXY=true
+# If your network doesn't allow access to DNS at 8.8.8.8 specify your own resolvers
+#RESOLVER_ADDRESS=x.x.x.x
+
+# coturn (a TURN Server)
+# requires either the abhove HTTPS Proxy to be enabled
+# or TLS certificates to be mounted to container
+ENABLE_COTURN=true
+#COTURN_TLS_CERT_PATH=
+#COTURN_TLS_KEY_PATH=
+
+# Greenlight Frontend
+# https://docs.bigbluebutton.org/greenlight/gl-overview.html
+ENABLE_GREENLIGHT=true
+
+# 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
+# IMPORTANT: this is currently a big privacy issues, because it will
+# record everything which happens in the conference, even when the button
+# suggets, that it does not.
+# https://github.com/bigbluebutton/bigbluebutton/issues/9202
+# make sure that you get peoples consent, before they join a room
+ENABLE_RECORDING=true
+#REMOVE_OLD_RECORDING=false
+#RECORDING_MAX_AGE_DAYS=14
+
+# ====================================
+# 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={{ bbb_domain }}
+
+EXTERNAL_IPv4={{ bbb_ip }}
+EXTERNAL_IPv6=
+
+# STUN SERVER
+# stun.freeswitch.org
+STUN_IP={{ bbb_ip }}
+STUN_PORT=3478
+
+# TURN SERVER
+# uncomment and adjust following two lines to add an external TURN server
+TURN_SERVER=turns:{{ bbb_domain }}:5349?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 (default)
+# - 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
+# ====================================
+
+### 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_SENDER_EMAIL=
+#SMTP_SENDER_NAME=
+#SMTP_SERVER=
+#SMTP_PORT=
+#SMTP_DOMAIN=bbb.emacsverse.org
+#SMTP_USERNAME=
+#SMTP_PASSWORD=
+#SMTP_AUTH=
+#SMTP_STARTTLS_AUTO=true
+#SMTP_STARTTLS=false
+#SMTP_TLS=false
+#SMTP_SSL_VERIFY=true
+
+### EXTERNAL AUTHENTICATION METHODS
+#
+#OPENID_CONNECT_CLIENT_ID=
+#OPENID_CONNECT_CLIENT_SECRET=
+#OPENID_CONNECT_ISSUER=
+#OPENID_CONNECT_REDIRECT=
+
+# To enable hCaptcha on the user sign up and sign in, define these 2 keys
+#HCAPTCHA_SITE_KEY=
+#HCAPTCHA_SECRET_KEY=
+
+# Set these if you are using a Simple Storage Service (S3)
+# Uncomment S3_ENDPOINT only if you are using a S3 OTHER than Amazon Web Service (AWS) S3.
+#S3_ACCESS_KEY_ID=
+#S3_SECRET_ACCESS_KEY=
+#S3_REGION=
+#S3_BUCKET=
+#S3_ENDPOINT=
+
+# Define the default locale language code (i.e. 'en' for English) from the fallowing list:
+# [en, ar, fr, es]
+#DEFAULT_LOCALE=en
diff --git a/roles/bbb/templates/video.yml b/roles/bbb/templates/video.yml
new file mode 100644
index 0000000..461372b
--- /dev/null
+++ b/roles/bbb/templates/video.yml
@@ -0,0 +1,81 @@
+publish_dir: /var/bigbluebutton/published/video
+playback_dir: /usr/local/bigbluebutton/core/playback/video
+# offset applied to audio in the output video file
+# audio_offset = 1000 means that the audio will be delayed by 1000ms
+audio_offset: 0
+
+layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: presentation
+ x: 0
+ y: 0
+ width: 960
+ height: 720
+ - name: webcam
+ x: 960
+ y: 0
+ width: 320
+ height: 720
+ - name: deskshare
+ x: 0
+ y: 0
+ width: 960
+ height: 720
+ pad: true
+nopresentation_layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: webcam
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+nowebcam_layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: presentation
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ - name: deskshare
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ pad: true
+formats:
+ #- mimetype: 'video/mp4'
+ # extension: m4v
+ # parameters:
+ # - [ '-c:v', 'copy', # Use working format codec defined in core/lib/recordandplayback/edl/video.rb
+ # '-c:a', 'aac', '-b:a', '128K',
+ # '-f', 'mp4', '-movflags', 'faststart' ]
+ # postprocess: []
+ - mimetype: 'video/webm;codecs="vp09.00.41.08,opus"'
+ extension: webm
+ parameters:
+ # # Default single-pass encode
+ # #- [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ # # '-crf', '31', '-quality', 'good', '-speed', '2', '-tile-columns', '2', '-threads', '2',
+ # # '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ # # '-c:a', 'libopus', '-b:a', '64K',
+ # # '-f', 'webm' ]
+ # Slower but better quality two-pass encode
+ - [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ '-crf', '31', '-quality', 'good', '-pass', '1', '-speed', '4', '-tile-columns', '2', '-threads', '2',
+ '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ '-an',
+ '-f', 'webm' ]
+ - [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ '-crf', '31', '-quality', 'good', '-pass', '2', '-speed', '2', '-tile-columns', '2', '-threads', '2',
+ '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ '-c:a', 'libopus', '-b:a', '64K',
+ '-f', 'webm' ]