diff --git a/CHANGELOG.md b/CHANGELOG.md index a8c1ef6..09870e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Unreleased - :tada: **BigBlueButton 2.3** including all its changes -- Template based generated of docker-compose.yml [2.2.x#71](https://github.com/alangecker/bigbluebutton-docker/pull/71) [2.2.x#42](https://github.com/alangecker/bigbluebutton-docker/issues/42) @trickert76 @alangecker +- Template based generation of docker-compose.yml [2.2.x#71](https://github.com/alangecker/bigbluebutton-docker/pull/71) [2.2.x#42](https://github.com/alangecker/bigbluebutton-docker/issues/42) @trickert76 @alangecker - Removal of `core` and all dependencies on the bigbluebutton ubuntu repository. Seperate container for `bbb-web`, `fsesl-akka` and `apps-akka` [2.2.x#26](https://github.com/alangecker/bigbluebutton-docker/issues/26) @alangecker - Fix recordings for Moodle BBB plugin: [2.2.x#110](https://github.com/alangecker/bigbluebutton-docker/pull/110) @danjesus - Fixed recordings container restart setting [2.2.x#109](https://github.com/alangecker/bigbluebutton-docker/pull/109) @manfred-w diff --git a/README.md b/README.md index a4bf21e..eee32bc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# BigBlueButton 2.3 Docker +# 📦 BigBlueButton 2.3 Docker -Version: 2.3-beta-3 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigbluebutton/docker/issues) +Version: 2.3-beta-4 | [Changelog](CHANGELOG.md) | [Issues](https://github.com/bigbluebutton/docker/issues) ## Note Even though it seems to be stable so far, it is still a beta, which means that you can expect broken bits and pieces in some places. diff --git a/mod/apps-akka/Dockerfile b/mod/apps-akka/Dockerfile index 96f7028..d7110a8 100644 --- a/mod/apps-akka/Dockerfile +++ b/mod/apps-akka/Dockerfile @@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder RUN apt-get update && apt-get install -y subversion # download bbb-common-message -ENV TAG_COMMON_MESSAGE v2.3-beta-3 +ENV TAG_COMMON_MESSAGE v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \ && rm -rf /bbb-common-message/.svn @@ -14,7 +14,7 @@ RUN cd /bbb-common-message \ # =================================================== -ENV TAG v2.3-beta-3 +ENV TAG v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-apps /source \ && rm -rf /source/.svn diff --git a/mod/bbb-web/Dockerfile b/mod/bbb-web/Dockerfile index 88a68b5..ace47bf 100644 --- a/mod/bbb-web/Dockerfile +++ b/mod/bbb-web/Dockerfile @@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder RUN apt-get update && apt-get install -y subversion # download bbb-common-message -ENV TAG_COMMON_MESSAGE v2.3-beta-3 +ENV TAG_COMMON_MESSAGE v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \ && rm -rf /bbb-common-message/.svn @@ -26,7 +26,7 @@ RUN cd /opt \ ENV PATH="/opt/gradle-6.7/bin:${PATH}" # download bbb-common-web -ENV TAG_COMMON_WEB v2.3-beta-3 +ENV TAG_COMMON_WEB v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_WEB/bbb-common-web /bbb-common-web \ && rm -rf /bbb-common-message/.svn @@ -35,7 +35,7 @@ RUN cd /bbb-common-web \ && ./deploy.sh # download bbb-web -ENV TAG_WEB v2.3-beta-3 +ENV TAG_WEB v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_WEB/bigbluebutton-web /bbb-web \ && rm -rf /bbb-web/.svn diff --git a/mod/bbb-web/office-convert.sh b/mod/bbb-web/office-convert.sh index 395344c..21b5124 100755 --- a/mod/bbb-web/office-convert.sh +++ b/mod/bbb-web/office-convert.sh @@ -1,9 +1,12 @@ #!/bin/bash -# This script receives two params +# This script receives three params # Param 1: Input office file path (e.g. "/tmp/test.odt") # Param 2: Output pdf file path (e.g. "/tmp/test.pdf") +# Param 3: Destination Format (pdf default) +#If output format is missing, define PDF +convertTo="${3:-pdf}" -curl -v -X POST "http://jodconverter:8080/lool/convert-to/pdf" \ +curl -v -X POST "http://jodconverter:8080/lool/convert-to/$convertTo" \ -H "accept: application/octet-stream" \ -H "Content-Type: multipart/form-data" \ -F "data=@$1" > $2 diff --git a/mod/etherpad/Dockerfile b/mod/etherpad/Dockerfile index 0c5554c..2068d75 100644 --- a/mod/etherpad/Dockerfile +++ b/mod/etherpad/Dockerfile @@ -3,10 +3,12 @@ FROM etherpad/etherpad:1.8.13 USER root RUN apt-get update \ - && apt-get install -y git + && apt-get install -y git curl USER etherpad +ENV TAG v2.3-alpha-4 + RUN npm install \ git+https://git@github.com/pedrobmarin/ep_pad_ttl.git \ git+https://git@github.com/pedrobmarin/ep_redis_publisher.git \ @@ -22,5 +24,6 @@ COPY --chown=etherpad:0 ./bbb-etherpad-skin /opt/etherpad-lite/src/static/skins/ COPY --chown=etherpad:0 ./bbb-etherpad-plugin /opt/etherpad-lite/node_modules/ep_bigbluebutton_patches COPY settings.json /opt/etherpad-lite/settings.json +COPY etherpad-export.sh /etherpad-export.sh COPY entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] \ No newline at end of file diff --git a/mod/etherpad/etherpad-export.sh b/mod/etherpad/etherpad-export.sh new file mode 100755 index 0000000..a1f8f7c --- /dev/null +++ b/mod/etherpad/etherpad-export.sh @@ -0,0 +1,12 @@ +#!/bin/bash +src="$8" +dest="$(echo $8 | sed -E -e 's/html|odt/'$7'/')" +convertTo="$7" + + +curl -v -X POST "http://jodconverter:8080/lool/convert-to/$convertTo" \ + -H "accept: application/octet-stream" \ + -H "Content-Type: multipart/form-data" \ + -F "data=@$src" > $dest + +exit 0 \ No newline at end of file diff --git a/mod/etherpad/settings.json b/mod/etherpad/settings.json index 98629fc..eec3ab4 100644 --- a/mod/etherpad/settings.json +++ b/mod/etherpad/settings.json @@ -272,7 +272,7 @@ * LibreOffice can be used in lieu of Abiword to export pads. * Setting it to null disables LibreOffice exporting. */ - "soffice": null, + "soffice": "/etherpad-export.sh", /* * Path to the Tidy executable. diff --git a/mod/fsesl-akka/Dockerfile b/mod/fsesl-akka/Dockerfile index 45d13c9..bb856ac 100644 --- a/mod/fsesl-akka/Dockerfile +++ b/mod/fsesl-akka/Dockerfile @@ -3,7 +3,7 @@ FROM mozilla/sbt:8u181_1.2.7 AS builder RUN apt-get update && apt-get install -y subversion # download bbb-common-message -ENV TAG_COMMON_MESSAGE v2.3-beta-3 +ENV TAG_COMMON_MESSAGE v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \ && rm -rf /bbb-common-message/.svn @@ -13,7 +13,7 @@ RUN cd /bbb-common-message \ # =================================================== -ENV TAG_FSESL v2.3-beta-3 +ENV TAG_FSESL v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_FSESL/bbb-fsesl-client /bbb-fsesl-client \ && rm -rf /bbb-fsesl-client/.svn @@ -21,7 +21,7 @@ RUN cd /bbb-fsesl-client \ && ./deploy.sh -ENV TAG v2.3-beta-3 +ENV TAG v2.3-beta-4 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/akka-bbb-fsesl /source \ && rm -rf /source/.svn diff --git a/mod/html5/Dockerfile b/mod/html5/Dockerfile index 44a1576..f242c65 100644 --- a/mod/html5/Dockerfile +++ b/mod/html5/Dockerfile @@ -14,7 +14,7 @@ USER meteor ENV METEOR_VERSION 1.10.2 RUN curl -sL https://install.meteor.com?release=$METEOR_VERSION | sed s/--progress-bar/-sL/g | /bin/sh -ENV TAG v2.3-beta-3 +ENV TAG v2.3-beta-4 RUN cd ~ \ && svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \ && mv ~/bigbluebutton-html5 ~/source \ diff --git a/mod/html5/settings.yml b/mod/html5/settings.yml index dcb1481..b342c32 100644 --- a/mod/html5/settings.yml +++ b/mod/html5/settings.yml @@ -20,7 +20,7 @@ public: appName: BigBlueButton HTML5 Client bbbServerVersion: 2.3-dev-docker copyright: '©2021 BigBlueButton Inc.' - html5ClientBuild: "1588-docker" + html5ClientBuild: "1617-docker" helpLink: https://bigbluebutton.org/html5/ lockOnJoin: true cdn: '' diff --git a/mod/mongo/mongod.conf b/mod/mongo/mongod.conf index 40fbdaf..7eac8bf 100644 --- a/mod/mongo/mongod.conf +++ b/mod/mongo/mongod.conf @@ -26,3 +26,5 @@ net: replication: replSetName: rs0 +setParameter: + diagnosticDataCollectionEnabled: false diff --git a/mod/nginx/bbb/web.nginx b/mod/nginx/bbb/web.nginx index 6f40531..5c3919b 100755 --- a/mod/nginx/bbb/web.nginx +++ b/mod/nginx/bbb/web.nginx @@ -20,8 +20,8 @@ # Workaround IE refusal to set cookies in iframe add_header P3P 'CP="No P3P policy available"'; - # Allow 30M uploaded presentation document. - client_max_body_size 30m; + # high limit for presentation as bbb-web will reject upload if larger than configured + client_max_body_size 1000m; client_body_buffer_size 128k; proxy_connect_timeout 90; @@ -38,7 +38,10 @@ proxy_request_buffering off; # Send a sub-request to allow bbb-web to refuse before loading - auth_request /bigbluebutton/presentation/checkPresentation; + # If file is larger than configured bbb-web will return with code 403 and Header: x-file-too-large = 1 + auth_request /bigbluebutton/presentation/checkPresentation; + error_page 403 = @error403; + auth_request_set $file_too_large_header $upstream_http_x_file_too_large; } @@ -47,7 +50,7 @@ } location ~ "^/bigbluebutton/presentation/download\/[0-9a-f]+-[0-9]+/[0-9a-f]+-[0-9]+$" { - if ($arg_presFilename !~ "^[0-9a-zA-Z]+-[0-9]+\.[0-9a-zA-Z]+$") { + if ($arg_presFilename !~ "^[0-9a-f]+-[0-9]+\.[0-9a-zA-Z]+$") { return 404; } proxy_pass http://core:8090$uri$is_args$args; @@ -66,8 +69,8 @@ proxy_set_header Content-Length ""; proxy_set_header X-Original-Content-Length $http_content_length; - # Allow 30M uploaded presentation document. - client_max_body_size 30m; + # high limit for presentation as bbb-web will reject upload if larger than configured + client_max_body_size 1000m; client_body_buffer_size 128k; proxy_pass_request_body off; @@ -138,3 +141,11 @@ } } + + location @error403 { + if ($file_too_large_header = '1') { + return 413; + } + + return 403; + } \ No newline at end of file diff --git a/mod/nginx/default.pdf b/mod/nginx/default.pdf index 3948688..8a23582 100644 Binary files a/mod/nginx/default.pdf and b/mod/nginx/default.pdf differ diff --git a/mod/recordings/Dockerfile b/mod/recordings/Dockerfile index 9f7584a..5ed5f3f 100644 --- a/mod/recordings/Dockerfile +++ b/mod/recordings/Dockerfile @@ -45,7 +45,7 @@ RUN mkdir -p \ /usr/local/bigbluebutton/core \ /etc/bigbluebutton -ENV TAG v2.3-beta-2 +ENV TAG v2.3-beta-4 # add bbb-record-core (lib, scripts and Gemfile) RUN cd /usr/local/bigbluebutton/core \ diff --git a/mod/webrtc-sfu/bbb-webrtc-sfu b/mod/webrtc-sfu/bbb-webrtc-sfu index c26960e..b73bd74 160000 --- a/mod/webrtc-sfu/bbb-webrtc-sfu +++ b/mod/webrtc-sfu/bbb-webrtc-sfu @@ -1 +1 @@ -Subproject commit c26960e58779aa8508a8ae411e331c3744e5ca99 +Subproject commit b73bd74a6ef682a38e14a482aed15887a7413f18