mirror of
https://github.com/bigbluebutton/docker.git
synced 2024-11-21 23:53:11 +01:00
added greenlight and api demos
This commit is contained in:
parent
4b579a6219
commit
8d078b1f7c
10
docker-compose.demo.yml
Normal file
10
docker-compose.demo.yml
Normal file
@ -0,0 +1,10 @@
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
demo:
|
||||
build: mod/demo
|
||||
environment:
|
||||
DOMAIN: ${DOMAIN}
|
||||
SHARED_SECRET: ${SHARED_SECRET}
|
||||
ports:
|
||||
- 10.7.7.1:8001:8080
|
24
docker-compose.greenlight.yml
Normal file
24
docker-compose.greenlight.yml
Normal file
@ -0,0 +1,24 @@
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
greenlight:
|
||||
container_name: greenlight-v2
|
||||
image: bigbluebutton/greenlight:v2
|
||||
env_file: .env
|
||||
environment:
|
||||
DB_ADAPTER: postgresql
|
||||
DB_HOST: postgres
|
||||
DB_NAME: greenlight
|
||||
DB_USERNAME: postgres
|
||||
DB_PASSWORD: password
|
||||
BIGBLUEBUTTON_ENDPOINT: https://${DOMAIN}/bigbluebutton/api/
|
||||
BIGBLUEBUTTON_SECRET: ${SHARED_SECRET}
|
||||
SECRET_KEY_BASE: ${RAILS_SECRET}
|
||||
ports:
|
||||
- 10.7.7.1:5000:80
|
||||
postgres:
|
||||
image: postgres:12
|
||||
environment:
|
||||
POSTGRES_DB: greenlight
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: password
|
@ -12,7 +12,6 @@ services:
|
||||
DOMAIN: ${DOMAIN}
|
||||
EXTERNAL_IP: ${EXTERNAL_IP}
|
||||
SHARED_SECRET: ${SHARED_SECRET}
|
||||
WELCOME_MESSAGE: ${WELCOME_MESSAGE}
|
||||
WELCOME_FOOTER: ${WELCOME_FOOTER}
|
||||
container: docker
|
||||
tmpfs:
|
||||
@ -43,13 +42,14 @@ services:
|
||||
- webrtc-sfu
|
||||
- html5
|
||||
ports:
|
||||
- "80:80"
|
||||
- "8080:80"
|
||||
volumes:
|
||||
- bigbluebutton:/var/bigbluebutton
|
||||
- ./mod/nginx/bbb:/etc/nginx/bbb
|
||||
- ./mod/nginx/bigbluebutton:/etc/nginx/conf.d/default.conf
|
||||
- ./mod/nginx/503.html:/etc/nginx/conf.d/default.conf
|
||||
networks:
|
||||
- bluenet
|
||||
- bbb-net
|
||||
extra_hosts:
|
||||
- "host.docker.internal:10.7.7.1"
|
||||
|
||||
@ -64,7 +64,7 @@ services:
|
||||
- ./mod/pad/entrypoint.sh:/entrypoint.sh
|
||||
entrypoint: /entrypoint.sh
|
||||
networks:
|
||||
bluenet:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.4
|
||||
|
||||
redis:
|
||||
@ -72,13 +72,13 @@ services:
|
||||
ports:
|
||||
- "127.0.0.1:6379:6379" # TODO: remove as soon as we updated all redis host references
|
||||
networks:
|
||||
bluenet:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.5
|
||||
|
||||
mongodb:
|
||||
image: mongo:3.4
|
||||
networks:
|
||||
bluenet:
|
||||
bbb-net:
|
||||
ipv4_address: 10.7.7.6
|
||||
|
||||
kurento:
|
||||
@ -88,7 +88,7 @@ services:
|
||||
KMS_STUN_PORT: ${STUN_PORT}
|
||||
KMS_MIN_PORT: 24577
|
||||
KMS_MAX_PORT: 32768
|
||||
KMS_EXTERNAL_ADDRESS:
|
||||
KMS_EXTERNAL_ADDRESS: ${EXTERNAL_IP}
|
||||
KMS_TURN_URL:
|
||||
network_mode: host
|
||||
|
||||
@ -103,7 +103,7 @@ services:
|
||||
KURENTO_NAME: kurento
|
||||
REDIS_HOST: redis
|
||||
FREESWITCH_IP: host.docker.internal
|
||||
FREESWITCH_SIP_IP: ${EXTERNAL_IP}
|
||||
FREESWITCH_SIP_IP: 10.7.7.1
|
||||
ESL_IP: host.docker.internal
|
||||
LOG_LEVEL: info
|
||||
NODE_CONFIG: '{"kurento":[{"ip":"${EXTERNAL_IP}","url":"ws://kurento:8888/kurento"}]}'
|
||||
@ -113,7 +113,7 @@ services:
|
||||
- host.docker.internal:10.7.7.1
|
||||
- kurento:10.7.7.1
|
||||
networks:
|
||||
- bluenet
|
||||
- bbb-net
|
||||
|
||||
html5:
|
||||
image: bbb-html5
|
||||
@ -128,7 +128,7 @@ services:
|
||||
SCREENSHARE_EXTENSION_LINK: ${SCREENSHARE_EXTENSION_LINK}
|
||||
ETHERPAD_API_KEY: ${ETHERPAD_API_KEY}
|
||||
networks:
|
||||
- bluenet
|
||||
- bbb-net
|
||||
volumes:
|
||||
- ./mod/html5/entrypoint.sh:/entrypoint.sh
|
||||
- ./mod/html5/settings.yml:/app/programs/server/assets/app/config/settings.yml.tmpl
|
||||
@ -138,7 +138,7 @@ volumes:
|
||||
bigbluebutton:
|
||||
|
||||
networks:
|
||||
bluenet:
|
||||
bbb-net:
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
|
8
mod/core/README.md
Normal file
8
mod/core/README.md
Normal file
@ -0,0 +1,8 @@
|
||||
# bbb-core
|
||||
based on the bigbluebutton/docker with bbb-install.sh setup, but got so far reduced to following components:
|
||||
- bbb-web
|
||||
- bbb-freeswitch-core
|
||||
- bbb-fsesl-akka
|
||||
- bbb-apps-akka
|
||||
- bbb-transcode-akka
|
||||
- bbb-apps-(video|screenshare|video-broadcast)
|
16
mod/demo/Dockerfile
Normal file
16
mod/demo/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
FROM tomcat:7-jdk8-openjdk
|
||||
|
||||
ENV DOCKERIZE_VERSION v0.6.1
|
||||
|
||||
RUN apt-get update && apt-get install -y wget binutils
|
||||
|
||||
# download & install bbb-demo package manually
|
||||
RUN PACKAGE_PATH=$(curl -s https://ubuntu.bigbluebutton.org/xenial-220/dists/bigbluebutton-xenial/main/binary-amd64/Packages | grep -E 'Filename.*bbb-demo' | awk '{print $2}') \
|
||||
&& wget https://ubuntu.bigbluebutton.org/xenial-220/$PACKAGE_PATH \
|
||||
&& ar x bbb-demo_*.deb \
|
||||
&& tar x -f data.tar.gz ./var/tmp/demo.war \
|
||||
&& unzip ./var/tmp/demo.war -d /usr/local/tomcat/webapps/demo
|
||||
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
|
||||
ENTRYPOINT /entrypoint.sh
|
14
mod/demo/entrypoint.sh
Executable file
14
mod/demo/entrypoint.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
FILE=/usr/local/tomcat/webapps/demo/bbb_api_conf.jsp
|
||||
echo -n "<%" > $FILE
|
||||
echo "!
|
||||
// This is the security salt that must match the value set in the BigBlueButton server
|
||||
String salt = \"$SHARED_SECRET\";
|
||||
|
||||
// This is the URL for the BigBlueButton server
|
||||
String BigBlueButtonURL = \"https://$DOMAIN/bigbluebutton/\";
|
||||
%>
|
||||
" >> $FILE
|
||||
|
||||
/usr/local/tomcat/bin/catalina.sh run
|
@ -1,7 +1,10 @@
|
||||
# Forward request to /demo to tomcat. This is for
|
||||
# the BigBlueButton api demos.
|
||||
location /demo {
|
||||
proxy_pass http://host.docker.internal:8080;
|
||||
location = /demo/ {
|
||||
return 301 /demo/demo1.jsp;
|
||||
}
|
||||
location /demo {
|
||||
proxy_pass http://host.docker.internal:8001;
|
||||
proxy_redirect default;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
@ -19,5 +22,5 @@
|
||||
proxy_temp_file_write_size 64k;
|
||||
|
||||
include fastcgi_params;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
mod/nginx/bbb/greenlight.nginx
Normal file
27
mod/nginx/bbb/greenlight.nginx
Normal file
@ -0,0 +1,27 @@
|
||||
# Routes requests to Greenlight based on the '/b' prefix.
|
||||
# Use this file to route '/b' paths on your BigBlueButton server
|
||||
# to the Greenlight application. If you are using a different
|
||||
# subpath, you should change it here.
|
||||
|
||||
|
||||
location /b {
|
||||
proxy_pass http://host.docker.internal:5000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_http_version 1.1;
|
||||
}
|
||||
|
||||
location /b/cable {
|
||||
proxy_pass http://host.docker.internal:5000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_http_version 1.1;
|
||||
proxy_read_timeout 6h;
|
||||
proxy_send_timeout 6h;
|
||||
client_body_timeout 6h;
|
||||
send_timeout 6h;
|
||||
}
|
@ -3,6 +3,11 @@ server {
|
||||
server_name _;
|
||||
access_log /var/log/nginx/bigbluebutton.access.log;
|
||||
|
||||
# redirect to greenlight
|
||||
location = / {
|
||||
return 302 /b;
|
||||
}
|
||||
|
||||
# Handle RTMPT (RTMP Tunneling). Forwards requests
|
||||
# to Red5 on port 5080
|
||||
location ~ (/open/|/close/|/idle/|/send/|/fcs/) {
|
||||
@ -39,22 +44,7 @@ server {
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
# BigBlueButton landing page.
|
||||
location / {
|
||||
root /var/www/bigbluebutton-default;
|
||||
index index.html index.htm;
|
||||
expires 1m;
|
||||
}
|
||||
|
||||
# Include specific rules for record and playback
|
||||
include /etc/nginx/bbb/*.nginx;
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# Redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /var/www/nginx-default;
|
||||
}
|
||||
}
|
||||
|
171
sample.env
171
sample.env
@ -1,7 +1,7 @@
|
||||
# important! change these to random values
|
||||
ETHERPAD_API_KEY=NEQKi2eFXSBce4kyGjwAzMn2jeF66peNYQmyFVRr
|
||||
SHARED_SECRET=w6y7nycPafjPhVz3gZdBpQhR4H4MvEQzcZzia5LT
|
||||
|
||||
RAILS_SECRET=cdfbae48b197805a435ab7881da31c642ac1a7d4d5c006441efa8125ae63865ce7c915c651117e0f14358cd98f5287c431929e0f796f4100b2b1c3eb5baad1b0
|
||||
|
||||
DOMAIN=bbb.example.com
|
||||
|
||||
@ -17,3 +17,172 @@ SCREENSHARE_EXTENSION_LINK=https://chrome.google.com/webstore/detail/bigbluebutt
|
||||
CLIENT_TITLE=BigBlueButton
|
||||
|
||||
WELCOME_FOOTER=This server is running <a href="http://docs.bigbluebutton.org/" target="_blank"><u>BigBlueButton</u></a>.
|
||||
|
||||
|
||||
|
||||
# -------------------------------
|
||||
# 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=
|
||||
|
||||
# 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.example.com
|
||||
# LDAP_PORT=389
|
||||
# LDAP_METHOD=plain
|
||||
# LDAP_UID=uid
|
||||
# LDAP_BASE=dc=example,dc=com
|
||||
# LDAP_BIND_DN=cn=admin,dc=example,dc=com
|
||||
# LDAP_PASSWORD=password
|
||||
# LDAP_ROLE_FIELD=ou
|
||||
LDAP_SERVER=
|
||||
LDAP_PORT=
|
||||
LDAP_METHOD=
|
||||
LDAP_UID=
|
||||
LDAP_BASE=
|
||||
LDAP_BIND_DN=
|
||||
LDAP_PASSWORD=
|
||||
LDAP_ROLE_FIELD=
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
# Set this to true if you want GreenLight to send verification emails upon
|
||||
# the creation of a new account
|
||||
#
|
||||
# ALLOW_MAIL_NOTIFICATIONS=true
|
||||
#
|
||||
# The notifications are sent using sendmail, unless the SMTP_SERVER variable is set.
|
||||
# In that case, make sure the rest of the variables are properly set.
|
||||
#
|
||||
# SMTP_SERVER=smtp.gmail.com
|
||||
# SMTP_PORT=587
|
||||
# SMTP_DOMAIN=gmail.com
|
||||
# SMTP_USERNAME=<youremail@gmail.com>
|
||||
# SMTP_PASSWORD=<yourpassword>
|
||||
# SMTP_AUTH=plain
|
||||
# SMTP_STARTTLS_AUTO=true
|
||||
#
|
||||
SMTP_SERVER=
|
||||
SMTP_PORT=
|
||||
SMTP_DOMAIN=
|
||||
SMTP_USERNAME=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_AUTH=
|
||||
SMTP_STARTTLS_AUTO=
|
||||
|
||||
# Specify the email address that all mail is sent from
|
||||
SMTP_SENDER=
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Comment this out to send logs to STDOUT in production instead of log/production.log .
|
||||
#
|
||||
# RAILS_LOG_TO_STDOUT=true
|
||||
#
|
||||
# When using docker-compose the logs can be sent to an centralized repository like PaperTrail
|
||||
# just by using the built in driver. Make sure to add to docker-compose.yml the next lines:
|
||||
#
|
||||
# logging:
|
||||
# driver: $LOG_DRIVER
|
||||
# options:
|
||||
# syslog-address: $LOG_ADDRESS
|
||||
# tag: $LOG_TAG
|
||||
#
|
||||
# And set this variables up:
|
||||
#
|
||||
# LOG_DRIVER=syslog
|
||||
# LOG_ADDRESS=udp://logs4.papertrailapp.com:[99999]
|
||||
# LOG_TAG=greenlight.example.com:v2
|
||||
#
|
||||
# Check docker-compose and papertrail documentation for encrypting and
|
||||
# protecting access to the log repository.
|
||||
# https://docs.docker.com/config/containers/logging/syslog/#options
|
||||
# https://help.papertrailapp.com/kb/configuration/encrypting-remote-syslog-with-tls-ssl/
|
||||
#
|
||||
# For sending logs to a remote aggregator enable these variables:
|
||||
#
|
||||
# RAILS_LOG_REMOTE_NAME=logxx.papertrailapp.com
|
||||
# RAILS_LOG_REMOTE_PORT=9999
|
||||
# RAILS_LOG_REMOTE_TAG=greenlight
|
||||
#
|
||||
# Force SSL
|
||||
#
|
||||
# ENABLE_SSL=true
|
||||
|
||||
# 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=open
|
Loading…
Reference in New Issue
Block a user