Go to file
Orelvys García Guzmám 282e1bef0e
Merge baf28d07b3 into c2e61304c1
2024-11-30 19:06:16 +00:00
.github chore: can't test 8.3 2024-11-13 15:58:35 +01:00
.tx [tx-robot] Update transifex configuration 2022-10-01 03:21:37 +00:00
appinfo Merge baf28d07b3 into c2e61304c1 2024-11-30 19:06:16 +00:00
docs docs: readme, screenshots and project files. Littleredbutton, update infos (Arawa take over) 2024-10-25 11:20:52 +02:00
img feat: Add Search Provider 2022-10-16 14:11:28 +02:00
l10n Fix(l10n): Update translations from Transifex 2024-11-28 02:33:16 +00:00
lib fix: gitactions (psalm warnings NC < 28) 2024-10-28 15:14:22 +01:00
scripts chore: make clean-dev and creates archives folder (release:build) when necessary 2024-10-25 17:47:48 +02:00
templates Better design of foward screen 2024-04-29 15:35:16 +02:00
tests Merge pull request #295 from arawa/fix/289/admin_interface_displays_gid 2024-10-23 10:43:30 +02:00
ts style: missing icon and adapt dialog style to NC30 2024-10-25 18:50:06 +02:00
.eslintrc.js chore: upgrade required Node version and deps 2022-03-16 11:27:11 +01:00
.gitattributes chore: add gitattributes 2021-01-23 11:34:00 +01:00
.gitignore chore: update php cs fixer 2022-10-26 19:16:51 +02:00
.php-cs-fixer.dist.php chore: update php cs fixer 2022-10-26 19:16:51 +02:00
.stylelintrc.json chore: fix linting 2020-04-26 22:41:06 +02:00
CHANGELOG.md docs: update change log 2024-10-08 15:37:42 +02:00
CODE_OF_CONDUCT.md docs: email for Arawa contact 2024-10-25 15:08:39 +02:00
COPYING Initial commit 2020-04-26 11:36:41 +02:00
Makefile chore: make clean-dev and creates archives folder (release:build) when necessary 2024-10-25 17:47:48 +02:00
README.md docs: readme, screenshots and project files. Littleredbutton, update infos (Arawa take over) 2024-10-25 11:20:52 +02:00
babel.config.js Initial commit 2020-04-26 11:36:41 +02:00
commitlint.config.js chore: ignore tx-robot commits if linting 2020-06-04 10:06:57 +02:00
composer.json fix: gitactions psr 1.1.2 OR 2.0.2 2024-10-28 14:46:51 +01:00
composer.lock chore: paslm bump need composer.lock 2024-10-25 17:01:59 +02:00
declarations.d.ts Initial commit 2020-04-26 11:36:41 +02:00
package.json docs: readme, screenshots and project files. Littleredbutton, update infos (Arawa take over) 2024-10-25 11:20:52 +02:00
phpunit.integration.xml test: add integration test for room mapper 2020-06-18 15:07:19 +02:00
phpunit.xml ci: fix workaround for php 7.2 2021-02-13 18:30:59 +01:00
psalm.xml chore: psalm bump 5.0 (warning webmozart/path-util is abandoned) 2024-10-25 16:57:57 +02:00
tsconfig.json Initial commit 2020-04-26 11:36:41 +02:00
webpack.common.js fix: image loader for webpack 5 2022-03-17 14:20:08 +01:00
webpack.dev.js chore: upgrade required Node version and deps 2022-03-16 11:27:11 +01:00
webpack.prod.js chore: upgrade required Node version and deps 2022-03-16 11:27:11 +01:00
yarn.lock chore: update can i use db 2024-10-08 15:35:09 +02:00

README.md

BigBlueButton™ integration for Nextcloud

Static analysis PHP Tests Lint Downloads GitHub release

This app allows to create meetings with an external installation of BigBlueButton.

👏 Contributors are welcome! If you have time it would be awesome if you could help to enhance this application.

This app uses BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.

Screenshot configuration

😍 Features

This integration provides the following features:

  • Room setup Create multiple room configurations with name, welcome message, ...
  • Share guest link Share the room link with all your guests
  • Share rooms Share rooms with members, groups or circles
  • Custom presentation Start a room with a selected presentation from your file browser
  • Manage recordings View, share and delete recordings for your rooms
  • Restrictions Restrict room creation to certain groups
  • Activities Get an overview of your room activities

🚀 Install it

The easiest way to install this app is by using the Nextcloud app store. If you like to build from source, please continue reading.

To install it change into your Nextcloud's apps directory:

cd nextcloud/apps

Then run:

git clone https://github.com/littleredbutton/cloud_bbb.git bbb

Then install the dependencies using:

make build

⚙️ Configure it

Get your BBB API url and secret by executing sudo bbb-conf --secret on your BBB server.

$ sudo bbb-conf --secret

    URL: https://bbb.your.domain/bigbluebutton/
    Secret: abcdefghijklmnopqrstuvwxyz012345679

    Link to the API-Mate:
    https://mconf.github.io/api-mate/#server=https://...

Enter these values in the additional settings section on the admin configuration page of your Nextcloud instance.

Screenshot admin section

Manual configuration (for experts)

If you prefer not to use the web interface for configuration, you will find all used configuration keys in the list below. Please beware that there will be no check if those values are correct. Therefore this is not the recommended way. The syntax to set all settings is occ config:app:set bbb KEY --value "VALUE".

Key Description
app.navigation Set to true to show navigation entry
app.navigation.name Defines the navigation label. Default "BigBlueButton".
api.url URL to your BBB server. Should start with https://
api.secret Secret of your BBB server
api.meta_analytics-callback-url URL which gets called after meetings ends to generate statistics. See bbb-analytics.
app.shortener Value of your shortener service. Should start with https:// and contain {token}.
avatar.path Absolute path to an optional avatar cache directory.
avatar.url URL which serves avatar.path to be used as avatar cache.

Avatar cache (v2.2+)

The generation of avatars puts a high load on your Nextcloud instance, since the number of requests increases squarely to the number of participants in a room. To mitigate this situation, this app provides an optional avatar file cache. To activate the cache avatar.path and avatar.url have to be configured. avatar.path must provide an absolute path (e.g. /srv/bbb-avatar-cache/) to a directory which is writable by the PHP user. avatar.url must contain the url which serves all files from avatar.path. To bypass browser connection limits we recommend to setup a dedicated host.

Example Apache configuration for a dedicated host with avatar.path = /srv/bbb-avatar-cache/ and avatar.url = https://avatar-cache.your-nextcloud.com/:

<VirtualHost *:443>
        ServerName avatar-cache.your-nextcloud.com

        Header always set Strict-Transport-Security "max-age=15768000;"

        DocumentRoot /srv/bbb-avatar-cache
        <Directory /srv/bbb-avatar-cache>
                Options -FollowSymLinks -Indexes
        </Directory>

        SSLEngine On
        # SSL config...
</VirtualHost>

For additional security, we recommend to disable directory listing, symlinks and any language interpreter such as php for the cache directory.

Cached avatars are usually deleted as soon as the meeting ends. In cases the BBB server shuts down unexpected, we provide the bbb:clear-avatar-cache occ command (example use: ./occ bbb:clear-avatar-cache).

:bowtie: User guide

Create your first room

Go to the BigBlueButton section inside your personal settings page and enter a room name. That's it. You can now distribute the room url.

Share a room

Edit your room configuration and select groups or users you wish to share your room with. You can define the access level for your shared room (admin, moderator or simple user).

Screenshot sharing room

📓 Notes

  • By using the Link Editor you can share rooms as any other file

⛏️ Troubleshooting

  • Before installing, make sure your BBB is running correctly
  • If the room doesn't appear in the ... menu of files, a browser/cache reload might help
  • To share an audio (mp3) or video (mp4) file with your audience follow these steps (more info in #148):
    • create a public share of the exact file
    • copy the location of the share from the share information screen into your clipboard
    • open big blue button, press the plus icon in the lower left corner
    • click on add external video
    • paste the url from your clipboard and append the following string for audio /download?.mp3 or /download?.mp4 for video files
  • To connect to a ScaleLite server, use the url like https://yourscalelite.url/bigbluebutton/ without additional api/ and as secret ScaleLite's LOADBALANCER_SECRET

❤️ Sponsors

Writing such an application is a lot of work and therefore we are specially thankful for people and organisations who are sponsoring features or bug fixes:

If you are looking for other ways to contribute to this project, you are welcome to look at our contributor guidelines. Every contribution is valuable 🎉.