diff options
Diffstat (limited to '')
| -rwxr-xr-x | roles/bbb/templates/bigbluebutton.yml | 73 | ||||
| -rw-r--r-- | roles/bbb/templates/env.template | 202 | ||||
| -rw-r--r-- | roles/bbb/templates/video.yml | 81 |
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' ] |
