Merge pull request #18099 from antobinary/merge-26-27-june-6
chore: Merge BBB 2.6.9+ into BBB 2.7
This commit is contained in:
commit
574064533b
@ -40,6 +40,7 @@ public class PresentationUrlDownloadService {
|
||||
private String presentationBaseURL;
|
||||
private String presentationDir;
|
||||
private String BLANK_PRESENTATION;
|
||||
private String defaultUploadedPresentation;
|
||||
private List<String> insertDocumentSupportedProtocols;
|
||||
private List<String> insertDocumentBlockedHosts;
|
||||
|
||||
@ -222,6 +223,7 @@ public class PresentationUrlDownloadService {
|
||||
}
|
||||
|
||||
private boolean isValidRedirectUrl(String redirectUrl) {
|
||||
log.info("Validating redirect URL [{}]", redirectUrl);
|
||||
URL url;
|
||||
|
||||
try {
|
||||
@ -259,7 +261,7 @@ public class PresentationUrlDownloadService {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(localhostBlocked) {
|
||||
if(localhostBlocked && !redirectUrl.equalsIgnoreCase(defaultUploadedPresentation)) {
|
||||
if(address.isAnyLocalAddress()) {
|
||||
log.error("Address [{}] is a local address", address.getHostAddress());
|
||||
return false;
|
||||
@ -346,6 +348,10 @@ public class PresentationUrlDownloadService {
|
||||
this.BLANK_PRESENTATION = blankPresentation;
|
||||
}
|
||||
|
||||
public void setDefaultUploadedPresentation(String defaultUploadedPresentation) {
|
||||
this.defaultUploadedPresentation = defaultUploadedPresentation;
|
||||
}
|
||||
|
||||
public void setInsertDocumentSupportedProtocols(String insertDocumentSupportedProtocols) {
|
||||
this.insertDocumentSupportedProtocols = new ArrayList<>(Arrays.asList(insertDocumentSupportedProtocols.split(",")));
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ const Notes = ({
|
||||
type: ACTIONS.SET_SIDEBAR_CONTENT_IS_OPEN,
|
||||
value: false,
|
||||
});
|
||||
|
||||
|
||||
layoutContextDispatch({
|
||||
type: ACTIONS.SET_SIDEBAR_CONTENT_PANEL,
|
||||
value: PANELS.NONE,
|
||||
@ -141,14 +141,18 @@ const Notes = ({
|
||||
value: Session.get('presentationLastState'),
|
||||
});
|
||||
};
|
||||
}else{
|
||||
if(shouldShowSharedNotesOnPresentationArea) {
|
||||
}
|
||||
if(shouldShowSharedNotesOnPresentationArea) {
|
||||
layoutContextDispatch({
|
||||
type: ACTIONS.SET_NOTES_IS_PINNED,
|
||||
value: true,
|
||||
});
|
||||
layoutContextDispatch({
|
||||
type: ACTIONS.SET_PRESENTATION_IS_OPEN,
|
||||
value: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}, []);
|
||||
|
||||
const renderHeaderOnMedia = () => {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -93,6 +93,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
||||
<property name="pageExtractor" ref="pageExtractor"/>
|
||||
<property name="documentConversionService" ref="documentConversionService"/>
|
||||
<property name="blankPresentation" value="${BLANK_PRESENTATION}"/>
|
||||
<property name="defaultUploadedPresentation" value="${beans.presentationService.defaultUploadedPresentation}"/>
|
||||
<property name="insertDocumentSupportedProtocols" value="${insertDocumentSupportedProtocols}" />
|
||||
<property name="insertDocumentBlockedHosts" value="${insertDocumentBlockedHosts}" />
|
||||
</bean>
|
||||
|
@ -1004,7 +1004,7 @@ BigBlueButton comes with Greenlight, a front-end application written in Ruby on
|
||||
|
||||
![greenlight-start](/img/greenlight/v2/room.png)
|
||||
|
||||
For more information see [Installing Greenlight](/greenlight/v2/install).
|
||||
For more information see [Installing Greenlight](/greenlight/v3/install).
|
||||
|
||||
### Networking
|
||||
|
||||
|
@ -14,7 +14,7 @@ We have tools to make it easy for you, a system administrator, to install BigBlu
|
||||
|
||||
We recommend installing BigBlueButton with a 'clean' and dedicated Ubuntu 20.04 64-bit server with no prior software installed. If you want to upgrade from an earlier version of BigBlueButton like 2.4, we recommend setting up a clean server for BigBlueButton 2.7 on Ubuntu 20.04 and, after setup, [migrate over your existing recordings](/administration/customize#transfer-published-recordings-from-another-server). We support upgrading a BigBlueButton 2.5 or 2.6 server to 2.7.
|
||||
|
||||
A 'clean' server does not have any previous web servers installed (such as apache) or web applications (such as plesk or webadmin) that are [binding to port 80/443](/support/faq#we-recommend-running-bigbluebutton-on-port-80443). By 'dedicated' we mean that this server won't be used for anything else besides BigBlueButton (and possibly BigBlueButton-related applications such as [Greenlight](/greenlight/v2/install)).
|
||||
A 'clean' server does not have any previous web servers installed (such as apache) or web applications (such as plesk or webadmin) that are [binding to port 80/443](/support/faq#we-recommend-running-bigbluebutton-on-port-80443). By 'dedicated' we mean that this server won't be used for anything else besides BigBlueButton (and possibly BigBlueButton-related applications such as [Greenlight](/greenlight/v3/install)).
|
||||
|
||||
### Minimum server requirements
|
||||
|
||||
@ -159,7 +159,7 @@ To install BigBlueButton, use [bbb-install.sh](https://github.com/bigbluebutton/
|
||||
|
||||
The above link gives detailed information on using the script. As an example, passing several arguments to the script you can easily have both BigBlueButton and Greenlight or LTI installed on the same server. You could specify if you would like a new certificate to be generated. A firewall could be enabled. For the most up-to-date information, please refer to the instructions in the script. Notice that as of BigBlueButton 2.6 we have retired the API demos. We recommend using Greenlight or [API MATE](https://mconf.github.io/api-mate/) instead.
|
||||
|
||||
Note: You can [uninstall Greenlight](/greenlight/v2/install#uninstall) if you do not intend on using it on production.
|
||||
Note: You can [uninstall Greenlight](/greenlight/v3/install#uninstall) if you do not intend on using it on production.
|
||||
|
||||
After the `bbb-install.sh` script finishes, you can check the status of your server with `bbb-conf --check`. When you run this command, you should see output similar to the following:
|
||||
|
||||
@ -358,7 +358,7 @@ If this server is intended for production, you should also
|
||||
|
||||
- [Secure your system -- restrict access to specific ports](/administration/customize#secure-your-system--restrict-access-to-specific-ports)
|
||||
- [Configure the server to work behind a firewall](/administration/firewall-configuration) (if you have installed behind a firewall or on a server that has a public/private IP address)
|
||||
- [remove Greenlight](/greenlight/v2/install#uninstall) (if you had it installed and is no longer needed)
|
||||
- [remove Greenlight](/greenlight/v3/install#uninstall) (if you had it installed and is no longer needed)
|
||||
- [Set up a TURN server](/administration/turn-server) (if your server is on the Internet and you have users accessing it from behind restrictive firewalls)
|
||||
- Test your HTTPS configuration. A well-respected site that can do a series of automated tests is [https://www.ssllabs.com/ssltest/](https://www.ssllabs.com/ssltest/) - simply enter your server's hostname, optionally check the "Do not show results" check box if you would like to keep it private, then Submit. At time of writing, the configuration shown on this page should achieve an "A" ranking in the SSL Labs test page.
|
||||
|
||||
|
@ -75,7 +75,7 @@ BigBlueButton web application is a Java-based application written in Scala. It i
|
||||
|
||||
The BigBlueButton API provides a third-party integration (such as the [BigBlueButtonBN plugin](https://moodle.org/plugins/mod_bigbluebuttonbn) for Moodle) with an endpoint to control the BigBlueButton server.
|
||||
|
||||
Every access to BigBlueButton comes through a front-end portal (we refer to as a third-party application). BigBlueButton integrates Moodle, Wordpress, Canvas, Sakai, MatterMost, and others (see [third-party integrations](https://bigbluebutton.org/integrations/)). BigBlueButton comes with its own front-end called [Greenlight](/greenlight/v2/install). When using a learning management system (LMS) such as Moodle, teachers can setup BigBlueButton rooms within their course and students can access the rooms and their recordings.
|
||||
Every access to BigBlueButton comes through a front-end portal (we refer to as a third-party application). BigBlueButton integrates Moodle, Wordpress, Canvas, Sakai, MatterMost, and others (see [third-party integrations](https://bigbluebutton.org/integrations/)). BigBlueButton comes with its own front-end called [Greenlight](/greenlight/v3/install). When using a learning management system (LMS) such as Moodle, teachers can setup BigBlueButton rooms within their course and students can access the rooms and their recordings.
|
||||
|
||||
The BigBlueButton comes with some simple [API demos](/administration/install#install). Regardless of which front-end you use, they all use the [API](/development/api) under the hood.
|
||||
|
||||
|
@ -44,7 +44,7 @@ The instructions in this guide are step-by-step so you can understand each step
|
||||
|
||||
Before you can start developing on BigBlueButton, you must install BigBlueButton (see [installation steps](/administration/install)) and ensure it's working correctly. Make sure there were no errors during the installation and that you can join a session successfully.
|
||||
|
||||
We emphasize that your BigBlueButton server must be working **before** you start setting up the development environment. Be sure that you can log in, start sessions, join the audio bridge, share your webcam, and record and play back sessions -- you can verify this if you install [Greenlight](/greenlight/v2/install) or navigate to [API MATE](https://mconf.github.io/api-mate/) using your server's secret and url.
|
||||
We emphasize that your BigBlueButton server must be working **before** you start setting up the development environment. Be sure that you can log in, start sessions, join the audio bridge, share your webcam, and record and play back sessions -- you can verify this if you install [Greenlight](/greenlight/v3/install) or navigate to [API MATE](https://mconf.github.io/api-mate/) using your server's secret and url.
|
||||
|
||||
By starting with a working BigBlueButton server, you have the ability to switch back-and-forth between the default-packaged components and any modifications you make.
|
||||
|
||||
|
@ -808,7 +808,7 @@ Its error message describes the issue.
|
||||
|
||||
### How do I change the Start/Stop recording marks?
|
||||
|
||||
Note: In BigBlueButton 2.6.9 we [made a change](https://github.com/bigbluebutton/bigbluebutton/pull/18044) which ensures media files are not being saved to file unless the recording is actively being recorded. The instructions below only work up to BigBlueButton 2.6.8 or if you are overriding `recordFullDurationMedia=true` in `/etc/bigbluebutton/bbb-web.properties` in BigBlueButton 2.6.9+.
|
||||
Note: In BigBlueButton 2.6.9 we [made a change](https://github.com/bigbluebutton/bigbluebutton/pull/18044) which ensures that by default media files are not being saved to file unless the meeting is actively being recorded. If you are using BigBlueButton 2.6.9 or later, the instructions below will only work if you set `recordFullDurationMedia=true` in `/etc/bigbluebutton/bbb-web.properties`.
|
||||
|
||||
In a scenario where a user forgot to press the Start/Stop recording button 30 minutes into a session, resulting in the playback missing that initial segment, its content can still be included by editing the intervals to be processed in the `events.xml` file.
|
||||
|
||||
|
@ -1,430 +0,0 @@
|
||||
---
|
||||
id: admin
|
||||
slug: /greenlight/v2/admin
|
||||
title: Administration
|
||||
sidebar_position: 4
|
||||
description: Greenlight Administration
|
||||
keywords:
|
||||
- greenlight
|
||||
- administration
|
||||
---
|
||||
|
||||
## Creating Accounts
|
||||
|
||||
The following examples assume you have Greenlight installed in the `~/greenlight` directory. Before running the commands, change into the `~/greenlight` directory.
|
||||
|
||||
```bash
|
||||
cd ~/greenlight
|
||||
```
|
||||
|
||||
### Creating a User Account
|
||||
|
||||
To create a User account with specified values, in the Greenlight directory, run the following command:
|
||||
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec rake user:create["name","email","password","user"]
|
||||
```
|
||||
|
||||
Once the command has finished it will print the account’s email and password.
|
||||
|
||||
### Creating an Administrator Account
|
||||
|
||||
To create an Administrator account with the default values, in the Greenlight directory, run the following command:
|
||||
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec rake admin:create
|
||||
```
|
||||
|
||||
If you would like to configure the name, email, or password of the Administrator account, replace the previous command with this:
|
||||
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec rake user:create["name","email","password","admin"]
|
||||
```
|
||||
|
||||
Once the command has finished it will print the account’s email and password.
|
||||
|
||||
### Removing Rooms from Users Who Can't Create Rooms
|
||||
|
||||
Prior to version 2.6, rooms where created for all users, regardless of whether they were able to access that room or not.
|
||||
|
||||
After version 2.6, rooms are only created for users that have the "Can create rooms" permission enabled on the role that they are given.
|
||||
|
||||
To clean up the inaccessible rooms for users that were created before 2.6, a rake task can be used. For this rake task there are 2 options:
|
||||
|
||||
1- Delete only rooms that have never been used. This is the safer option to avoid accidentally deleting a room that has been used before (and may have recordings)
|
||||
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec rake room:remove
|
||||
```
|
||||
|
||||
2- Delete all rooms for users without the "Can create rooms" permission regardless of whether they have been used or not
|
||||
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec rake room:remove["true"]
|
||||
```
|
||||
|
||||
### Updating the Security of Rooms
|
||||
|
||||
Prior to version `2.7`, rooms were created with a unique id containing 3 sections of 3 characters (ex `exa-a1b-cd2`). Starting in `2.7`, all new rooms will now contain 4 sections of 3 characters to increase room security (ex `exa-a1b-cd2-3ef`). Since this only applies to new rooms, old rooms will still have the old 3 sections format.
|
||||
|
||||
If you want to generate new, secure, 4 section room ids for all rooms, you can run the rake task below to do so. Please note that this will invalidate all previous links to rooms and will generate new, more secure links.
|
||||
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec rake room:four
|
||||
```
|
||||
|
||||
## Administrator Panel
|
||||
|
||||
Greenlight has an administrator account that gives you the ability to manage users on the server.
|
||||
|
||||
### Accessing the Administrator Panel
|
||||
|
||||
Once you are logged in as an Administrator, you will notice a new item in the Account Dropdown titled **Organization**.
|
||||
|
||||
![Greenlight Administrator Access](/img/greenlight/v2/admin_access.png)
|
||||
|
||||
![Greenlight Administrator Panel](/img/greenlight/v2/admin_panel.png)
|
||||
|
||||
### Managing Users
|
||||
|
||||
Through the Manage Users tab, Administrators are able to view and search for all user accounts that have been created.
|
||||
|
||||
Administrators are also able to edit each account by clicking on the vertical ellipsis.
|
||||
|
||||
![Greenlight Administrator Manage Users](/img/greenlight/v2/admin_manage_users.png)
|
||||
|
||||
#### Tabs
|
||||
|
||||
To switch between tabs, click on the tab that you want to switch to.
|
||||
|
||||
![Greenlight Administrator Manage Users Tabs](/img/greenlight/v2/admin_manage_users_tabs.png)
|
||||
|
||||
| Tab | Description |
|
||||
|:------- |:----------------------------------------------------------------- |
|
||||
| Active | Users that are able to access the application using their account |
|
||||
| Pending | Users that are awaiting approval to join the application |
|
||||
| Banned | Users that have been denied or banned |
|
||||
| Deleted | Users whose account has been deleted by an administrator |
|
||||
|
||||
#### Search and Filter
|
||||
|
||||
The search box can be used to filter based on the Name, Username, Authenticator or Creation Date of any user.
|
||||
|
||||
![Greenlight Administrator Manage Users Search](/img/greenlight/v2/admin_manage_users_search.png)
|
||||
|
||||
To filter by the Role, click on any of the Role buttons under the Role Column. This will filter the list to show only the users with the clicked Role.
|
||||
|
||||
![Greenlight Administrator Manage Users Filter](/img/greenlight/v2/admin_manage_users_filter.png)
|
||||
|
||||
#### Deleting Accounts
|
||||
|
||||
To delete an account, select Delete from the Account Dropdown.
|
||||
|
||||
Once an account gets deleted, the user will be moved to the **Deleted** tab.
|
||||
|
||||
![Greenlight Administrator Manage Users Delete](/img/greenlight/v2/admin_delete.png)
|
||||
|
||||
From the **Deleted** tab, an administrator can then either recover the user's account and their associated rooms, or permanently delete the user. If a user is permanently deleted, it will **NOT** be possible to recover the account.
|
||||
|
||||
**NOTE:** Permanently deleted users can resignup using the same email address of the account that was deleted.
|
||||
|
||||
#### Banning Accounts
|
||||
|
||||
To ban an account, select Ban User from the account dropdown.
|
||||
|
||||
Once an account gets banned, the user will be moved to the **Banned** tab.
|
||||
|
||||
This will remove the account from Greenlight and will also prevent the user from signing up using the same email to Greenlight in the future.
|
||||
|
||||
#### Merging User Accounts
|
||||
|
||||
In the case where 2 accounts need to be merged, there is a Merge action in the Account Dropdown. When merging 2 accounts together, there is a **Account to be Merged** and a **Primary Account**.
|
||||
|
||||
During the merge process, the **Account to be Merged**'s rooms will be transferred to the **Primary Account**. Once the transfer is complete, the **Account to be Merged** will be permanently deleted. No other data is transferred to the **Primary Account**.
|
||||
|
||||
To merge a user, click the Merge action in the Account Dropdown for the user that will be the **Primary Account**. Once the modal appears, you can use the dropdown to search for the **Account to be Merged**. Note that you can search by name or email in the dropdown.
|
||||
|
||||
![Greenlight Administrator Merge](/img/greenlight/v2/admin_merge.png)
|
||||
|
||||
In the above example, if Example3 had 2 rooms, "Home Room" and "Room 1", they will appear in Example4's room list as "(Merged) Home Room" and "(Merged) Room 1". Example4 is free to rename, delete or make any changes to these rooms.
|
||||
|
||||
#### Editing Accounts
|
||||
|
||||
To edit an account, select Edit for the specified user. This will open the edit user view.
|
||||
|
||||
From the edit user view, Administrators are able to edit the name, email, roles, default language, and profile picture for the given account.
|
||||
|
||||
#### Editing Roles
|
||||
|
||||
To edit the role for an account, select Edit for the specified user. This will open the edit user view.
|
||||
|
||||
![Greenlight Administrator Edit User Roles](/img/greenlight/v2/admin_edit_user_roles.png)
|
||||
|
||||
From the edit user view, Administrators are able to assign and remove roles for the given account. To remove a role click the x beside the role. To add a role select the role from the roles dropdown beneath the role tags.
|
||||
|
||||
**NOTE:** Administrators are only able to add or removes roles which have a lower priority than their highest priority role.
|
||||
|
||||
**NOTE:** While a user may be assigned multiple roles only the role with the highest priority will be used for determining a user's permissions
|
||||
|
||||
#### Resetting User Passwords
|
||||
|
||||
If the user has forgotten their password, the Administrator can send them an email that they can use to reset their password.
|
||||
|
||||
To reset a user's password, select Edit for the specified user. This will open the edit user view. From there, the Administrator just needs to click the `Reset user password` button and an email will be sent out to the user with the required instructions.
|
||||
|
||||
### Server Rooms
|
||||
|
||||
Through the Server Rooms tab, Administrators are able to view all of the Greenlight rooms that have been created.
|
||||
|
||||
![Greenlight Administrator Server Rooms](/img/greenlight/v2/admin_server_rooms.png)
|
||||
|
||||
#### Options
|
||||
|
||||
As an administrator, there are a variety of options available to you with regards to interacting with a user's room. You can view all options by clicking the Room Dropdown.
|
||||
|
||||
| Tab | Description |
|
||||
|:------------- |:------------------------------------------------------------------------------------------------ |
|
||||
| View | Allows the administrator to join the room in the same way that any other user joins the room. |
|
||||
| Start | Allows the administrator to manually start and join the room, even if it is not already running. |
|
||||
| Room Settings | Allows the administrator to make changes to the room settings. |
|
||||
| Delete | Allows the administrator to manually delete an unwanted room. **Home Rooms can not be deleted** |
|
||||
|
||||
![Greenlight Administrator Server Rooms Options](/img/greenlight/v2/admin_server_rooms_options.png)
|
||||
|
||||
#### Search
|
||||
|
||||
The search box can be used to filter based on the **Name**, **Owner**, or **Id** of any room.
|
||||
|
||||
#### Sort
|
||||
|
||||
It is possible to sort rooms by metrics such as **Name**, **Owner**, or **Id**.
|
||||
|
||||
This can be done by clicking on the headers of the table (cycles through ascending, descending, and no particular order):
|
||||
|
||||
### Server Recordings
|
||||
|
||||
Through the Server Recordings tab, Administrators are able to view all of the recordings that exist on their BigBlueButton server.
|
||||
|
||||
**NOTE:** Due to limitations on the BigBlueButton API, if your server has many rooms or recordings, the page may not load due to the request timing out.
|
||||
|
||||
![Greenlight Administrator Server Recs](/img/greenlight/v2/admin_server_recordings.png)
|
||||
|
||||
#### Search
|
||||
|
||||
The search box can be used to filter based on the **Name**, **Length**, **Users**, **Recording Owner**, **Visibility** or **Format** of any user.
|
||||
|
||||
![Greenlight Administrator Server Recs Search](/img/greenlight/v2/admin_server_recording_search.png)
|
||||
|
||||
#### Sort
|
||||
|
||||
By default, rooms that are running will be displayed at the top of the list first. If no rooms are running, the rooms will be sorted by creation date.
|
||||
|
||||
It is possible to sort recordings by metrics such as **Name**, **User Number**, and **Length of Recording**.
|
||||
|
||||
This can be done by clicking on the headers of the table (cycles through ascending, descending, and no particular order):
|
||||
|
||||
![Greenlight Administrator Server Recs Sort](/img/greenlight/v2/admin_server_recording_sort.png)
|
||||
|
||||
### Site Settings
|
||||
|
||||
Administrators are able to customize Greenlight through the Site Settings Tab.
|
||||
|
||||
![Greenlight Administrator Site Settings](/img/greenlight/v2/admin_site_settings.png)
|
||||
|
||||
#### Change the Branding Image
|
||||
|
||||
To change Greenlight’s Branding Image which is displayed in the top left corner, replace the default image with a URL of your image and click Change Image.
|
||||
|
||||
![Greenlight Administrator Branding Image](/img/greenlight/v2/admin_branding_image.png)
|
||||
|
||||
#### Change the Legal Url
|
||||
|
||||
To change Greenlight’s Legal Url which is displayed in the footer, add the desired URL to the field and click Change Url. Setting it to blank will remove the link from the footer.
|
||||
|
||||
![Greenlight Administrator Legal Url](/img/greenlight/v2/admin_legal_url.png)
|
||||
|
||||
#### Change the Privacy Policy Url
|
||||
|
||||
To change Greenlight’s Privacy Policy Url which is displayed in the footer, add the desired URL to the field and click Change Url. Setting it to blank will remove the link from the footer.
|
||||
|
||||
![Greenlight Administrator Policy Url](/img/greenlight/v2/admin_priv_url.png)
|
||||
|
||||
#### Change the Primary Colour
|
||||
|
||||
To change Greenlight’s Primary Colour open the colour palette and select a new Primary Colour.
|
||||
|
||||
Changing the "Regular" Primary Colour will also automatically calculate the Lighten and Darken versions of the color.
|
||||
|
||||
If you would like to change the Lighten or Darken version, they can be individually changed to any colour possible.
|
||||
|
||||
The Primary Colour is the colour that Greenlight uses as a basis for the styling. This includes buttons, links, icons, etc.
|
||||
|
||||
![Greenlight Administrator Primary Colour](/img/greenlight/v2/admin_primary_colour.png)
|
||||
|
||||
#### Registration Methods
|
||||
|
||||
Through the Site Settings, you can configure the Registration Method for Greenlight.
|
||||
|
||||
![Greenlight Administrator Registration Method](/img/greenlight/v2/admin_registration_method.png)
|
||||
|
||||
**Open Registration**
|
||||
|
||||
Open Registration allows any user to sign up and sign in to Greenlight.
|
||||
|
||||
**Join by Invitation**
|
||||
|
||||
Join by Invitation disables the open sign up. Users will only be able to sign up if they have received an invitation from an Administrator.
|
||||
|
||||
To use Join by Invitation, `ALLOW_MAIL_NOTIFICATIONS` must be set to `true` in the `.env` file.
|
||||
|
||||
To invite a user, click in the Invite User button that is beside the Search Bar.
|
||||
|
||||
![Greenlight Administrator Invite Button](/img/greenlight/v2/admin_invite_button.png)
|
||||
|
||||
To send an email to multiple users, enter their emails separated by a comma. If you would like to invite only 1 user, enter their email with no commas.
|
||||
|
||||
The user(s) will receive an email with a button that will link them to the sign up page.
|
||||
|
||||
![Greenlight Administrator Invite Modal](/img/greenlight/v2/admin_invite_modal.png)
|
||||
|
||||
**Approve/Decline**
|
||||
|
||||
Approve/Decline allows anyone to sign up for Greenlight, but that user must be Approved inorder for them to access the features available through Greenlight.
|
||||
|
||||
When a user signs up, they will be set to a Pending state. The Administrator will be able be able to view all Pending users in the **Pending** tab in the Manage Users table.
|
||||
|
||||
If `ALLOW_MAIL_NOTIFICATIONS` is set to `true` in the `.env` file, then all Administrators will receive an email when a user signs up.
|
||||
|
||||
![Greenlight Administrator Pending Users](/img/greenlight/v2/admin_pending_users.png)
|
||||
|
||||
Users can either be Approved or Declined by clicking on the Account Dropdown.
|
||||
|
||||
If `ALLOW_MAIL_NOTIFICATIONS` is set to `true` in the `.env` file, the user will receive an email informing them that their account has been approved.
|
||||
|
||||
![Greenlight Administrator Approve](/img/greenlight/v2/admin_approve.png)
|
||||
|
||||
If a user sign up is declined, they will be set to the Banned state. A banned user can not sign in or access any of the features in Greenlight.
|
||||
|
||||
![Greenlight Administrator Declined](/img/greenlight/v2/admin_decline.png)
|
||||
|
||||
#### Require Authentication to Join
|
||||
|
||||
By default, users that are not signed in can join any Room that has been started by the Room Owner if they are given the invitation link. This can be disabled, meaning that only users that are signed in will be allowed to join a Room.
|
||||
|
||||
![Greenlight Administrator Room Authentication](/img/greenlight/v2/admin_room_auth.png)
|
||||
|
||||
#### Allow Users to Share Rooms
|
||||
|
||||
By default, all users that are able to create rooms are able to share rooms. Shared rooms can be entirely disabled by setting this setting to **Disabled**.
|
||||
|
||||
In the Shared Access modal, users can share the room with another user by searching for that user's name or uid. If you do not want a specific role to be searchable in this dropdown, you can hide them from the list in the [Roles Permissions](#editing-an-existing-role).
|
||||
|
||||
![Greenlight Administrator Share Access](/img/greenlight/v2/admin_share_access.png)
|
||||
|
||||
#### Allow Users to Preupload Presentations
|
||||
|
||||
By default, users will not be able to preupload presentations to their rooms. Administrators can enable or disable this feature based on their use cases.
|
||||
|
||||
![Greenlight Administrator Preupload](/img/greenlight/v2/admin_preupload.png)
|
||||
|
||||
#### Recording Default Visibility
|
||||
|
||||
Sets the default visibility of room recordings.
|
||||
|
||||
**Public**: everyone can view it if they have the room link.
|
||||
|
||||
**Unlisted**: only users who have the recording link can view it.
|
||||
|
||||
![Greenlight Administrator Default Recording](/img/greenlight/v2/admin_recording_vis.png)
|
||||
|
||||
#### Require Room Owner and Joiner Consent to Recording
|
||||
|
||||
By default, some information in all rooms is stored on the BigBlueButton server. In some cases (such as places where GDPR is present), users must consent to this before the BigBlueButton server can store information. If this applies to your deployment, set this to `Enabled`. Once set to enabled, it will also unlock a new `Room Configuration` option which will allow you to set how you would like the new `Allow room to be recorded` room setting to behave (Always Enabled, Optional, Disabled)
|
||||
|
||||
![Greenlight Administrator Consent](/img/greenlight/v2/admin_require_consent.png)
|
||||
|
||||
If enabled, upon joining a room, users must click the checkbox before being allowed to enter the room.
|
||||
|
||||
![Greenlight Room Join Consent](/img/greenlight/v2/room_join_consent.png)
|
||||
|
||||
#### Number of Rooms per User
|
||||
|
||||
By default, users are allowed to create and manage as many rooms as they like. Using this setting, an Administrator can limit the number of rooms that the user can create. If the user is already above the limit and the setting is changed, the user will not be able to start any sessions for the rooms that are above the limit.
|
||||
|
||||
To allow the users to create as many rooms as they would like, select the option furthest to the right (15+).
|
||||
|
||||
![Greenlight Administrator Room Limit](/img/greenlight/v2/admin_room_limit.png)
|
||||
|
||||
### Room Configuration
|
||||
|
||||
Through the Room Configuration tab Administrators are able to edit room settings for their site. For currently enabled room settings, users are allowed to edit room settings as they like (defaulted to **Optional**). However, if a room feature was removed through the `.env` file, it is defaulted to **Disabled**.
|
||||
|
||||
**Note:** Room setting changes will not apply to currently running/active meetings.
|
||||
|
||||
For each room setting, there are 3 options.
|
||||
|
||||
**Always Enabled:** Setting is forced on for all rooms. Room owners can not disable this setting.
|
||||
|
||||
**Optional:** Room owner has the option to either enable or disable the setting.
|
||||
|
||||
**Disabled:** Room setting does not appear when creating a room. Room owners can not enable this setting.
|
||||
|
||||
![Greenlight Administrator Room Configuration](/img/admin_room_configuration.png)
|
||||
|
||||
### User Roles
|
||||
|
||||
Through the Roles tab Administrators are able to edit the roles for their site.
|
||||
|
||||
![Greenlight Administrator Edit Roles](/img/greenlight/v2/admin_edit_roles.png)
|
||||
|
||||
A role's position in the roles list denotes its priority. The higher up on the list the higher the priority of the role.
|
||||
|
||||
#### Creating a New Role
|
||||
|
||||
To create a new role click on the Create a new role button. This will open the create role pop-up where Administrators can specify the new role's name.
|
||||
|
||||
![Greenlight Administrator New Roles](/img/greenlight/v2/admin_new_role.png)
|
||||
|
||||
The new role will automatically be created with the second lowest priority only higher than the user role.
|
||||
|
||||
#### Changing a Role's Priority
|
||||
|
||||
To change an existing role's priority drag the role to the position you desire in the list of roles.
|
||||
|
||||
**Note:** Administrators are only able to change the priority of roles which have a lower priority than their own.
|
||||
|
||||
**Note:** The Admin role must always be the highest priority role and the user role must always be the lowest priority role.
|
||||
|
||||
#### Editing an Existing Role
|
||||
|
||||
To edit the permissions for a role select the role from the list of roles.
|
||||
|
||||
![Greenlight Administrator Edit Role Permissions](/img/greenlight/v2/admin_edit_role_permissions.png)
|
||||
|
||||
Once the administrator has selected the role they are able to update the name for the role as well as the colour associated with the role.
|
||||
|
||||
Administrators are also able to update the permissions for the role. The following section describes what each permission does
|
||||
|
||||
| Permission | Description |
|
||||
|:-------------------------------------------------------------- |:-------------------------------------------------------------------------------------------------- |
|
||||
| Can create rooms | This determines whether or not users with this role are able to create their own Greenlight rooms. |
|
||||
| Allow users with this role to manage other users | This allows users to access the Manage Users tab as if they were administrators |
|
||||
| Allow users with this role to view server rooms and recordings | This allows users to access the Site Setting tabs as if they were administrators |
|
||||
| Allow users with this role to edit site settings | This allows users to access the Site Setting tabs as if they were administrators |
|
||||
| Allow users with this role to edit other roles | This allows users to access the Roles tab as if they were administrators |
|
||||
| Include users with this role in the dropdown for sharing rooms | This includes the user in the dropdown for sharing rooms |
|
||||
| Send an email to users when they are assigned this role | This determines whether or not to send an email to users when they are promoted to this role |
|
||||
| Send an email to users when they are removed from this role | This determines whether or not to send an email to users when they are removed from this role |
|
||||
|
||||
**Note:** Administrators are unable to change the name for the user role or any of the permissions associated with the Admin role. Administrators are also only able to edit the permissions for roles with a lower priority than their own role.
|
||||
|
||||
#### Deleting a Role
|
||||
|
||||
To delete a role click the "Delete the role button". For the role to be successfully deleted no users may be assigned to the role. The admin and user roles also can't be deleted.
|
||||
|
||||
See also
|
||||
|
||||
* [Overview](/greenlight/v2/overview)
|
||||
* [Install](/greenlight/v2/install)
|
||||
* [Customize](/greenlight/v2/customize)
|
||||
* [Configure](/greenlight/v2/config)
|
@ -1,672 +0,0 @@
|
||||
---
|
||||
id: config
|
||||
slug: /greenlight/v2/config
|
||||
title: Configuration
|
||||
sidebar_position: 3
|
||||
description: Greenlight Configuration
|
||||
keywords:
|
||||
- greenlight
|
||||
- configuration
|
||||
---
|
||||
|
||||
## Configuring Greenlight 2.0
|
||||
|
||||
Greenlight is a highly configurable application. The various configuration options can be found below. When making a changes to the `.env` file, in order for them to take effect you must restart you Greenlight container. For information on how to do this, see [Applying `.env` Changes](#applying-env-changes).
|
||||
|
||||
### Using a Different Relative Root
|
||||
|
||||
By default Greenlight is deployed to the `/b` subdirectory. If you are running Greenlight on a BigBlueButton server you must deploy Greenlight to a sub directory to avoid conflicts.
|
||||
|
||||
If you with to use a relative root other than `/b`, you can do the following:
|
||||
|
||||
1. Change the `RELATIVE_URL_ROOT` environment variable.
|
||||
1. Update the `/etc/bigbluebutton/nginx/greenlight.nginx` file to reflect the new relative root.
|
||||
1. Restart Nginx and the Greenlight server.
|
||||
|
||||
If you are **not** deploying Greenlight on a BigBlueButton server and want the application to run at root, simply set the `RELATIVE_ROOT_URL` to be blank.
|
||||
|
||||
### Setting a Custom Branding Image
|
||||
|
||||
You can now setup branding for Greenlight through its [Administrator Interface](/greenlight/v2/admin#site-branding).
|
||||
|
||||
### User Authentication
|
||||
|
||||
Greenlight supports four types of user authentication. You can configure any number of these, and Greenlight will dynamically adjust to which ones are configured.
|
||||
|
||||
#### In Application (Greenlight)
|
||||
|
||||
Greenlight has the ability to create accounts on its own. Users can sign up with their name, email and password and use Greenlight's full functionality.
|
||||
|
||||
By default, the ability for anyone to create a Greenlight account is enabled. To disable this, set the `ALLOW_GREENLIGHT_ACCOUNTS` option in your `.env` file to false. This will **not** delete existing Greenlight accounts, but will prevent new ones from being created.
|
||||
|
||||
#### Google OAuth2
|
||||
|
||||
You can use your own Google account, but since Greenlight will use this account for sending out emails, you may want to create a Google account related to the hostname of your BigBlueButton server. For example, if your BigBlueButton server is called `example.myserver.com`, you may want to create a Google account called `greenlight_notifications_myserver`.
|
||||
|
||||
You need a Google account to create an OAuth 2 `CLIENT_ID` and `SECRET`. The will enable users of Greenlight to authenticate with their own Google account (not yours).
|
||||
|
||||
Login to your Google account, and click the following link
|
||||
|
||||
[https://console.developers.google.com/](https://console.developers.google.com/)
|
||||
|
||||
If you want to see the documentation behind OAuth2 at Google, click the link [https://developers.google.com/identity/protocols/OAuth2](https://developers.google.com/identity/protocols/OAuth2).
|
||||
|
||||
First, create a Project click the "CREATE" link.
|
||||
|
||||
In the menu on the left, click "Credentials".
|
||||
|
||||
Next, click the "OAuth consent screen" tab below the "Credentials" page title.
|
||||
|
||||
From here take the following steps:
|
||||
1. Choose any application name e.g "Greenlight"
|
||||
2. Set "Authorized domains" to your hostname eg "hostname" where hostname is your hostname
|
||||
3. Set "Application Homepage link" to your hostname e.g "http://hostname/b/" where hostname is your hostname
|
||||
4. Set "Application Privacy Policy link" to your hostname e.g "http://hostname/b/" where hostname is your hostname
|
||||
5. Click "Save"
|
||||
|
||||
Next,
|
||||
|
||||
1. Click "Create credentials"
|
||||
2. Select "OAuth client ID"
|
||||
3. Select "Web application"
|
||||
4. Choose any name e.g “bbb-endpoint”
|
||||
5. Under "Authorized redirect URIs" enter "https://hostname/b/auth/google/callback" where hostname is your hostname
|
||||
6. Click "Create"
|
||||
|
||||
A window should open with your OAuth credentials. In this window, copy client ID and client secret to the `.env` file so it resembles the following (your credentials will be different).
|
||||
|
||||
```
|
||||
GOOGLE_OAUTH2_ID=1093993040802-jjs03khpdl4dfasffq7hj6ansct5.apps.googleusercontent.com
|
||||
GOOGLE_OAUTH2_SECRET=KLlBNy_b9pvBGasf7d5Wrcq
|
||||
```
|
||||
|
||||
The `GOOGLE_OAUTH2_HD` environment variable is optional and can be used to restrict Google authentication to a specific Google Apps hosted domain.
|
||||
|
||||
```
|
||||
GOOGLE_OAUTH2_HD=example.com
|
||||
```
|
||||
|
||||
#### Office365 OAuth2
|
||||
|
||||
You will need an Office365 account to create an OAuth 2 key and secret. This will allow Greenlight users to authenticate with their own Office365 accounts.
|
||||
|
||||
To begin, head over to the following site and sign in to your Office365 account:
|
||||
[https://portal.azure.com/](https://portal.azure.com/)
|
||||
|
||||
In the menu on the left, click "Azure Active Directory".
|
||||
|
||||
Under the "Manage" tab, click "App registrations".
|
||||
|
||||
From here take the following steps:
|
||||
1. Click "New Registration"
|
||||
2. Choose any application name e.g “bbb-endpoint”
|
||||
3. Set the Redirect URI to your url (must be https): “https://hostname/b/auth/office365/callback”
|
||||
4. Click "Register"
|
||||
|
||||
Once your application has been created, Under the "Overview" tab, copy your "Application (client) ID" into the `OFFICE365_KEY` environment variable in your `.env` file.
|
||||
|
||||
Finally, click the "Certificates & secrets" under the "Manage" tab
|
||||
|
||||
From here take the following steps:
|
||||
1. Click "New client secret"
|
||||
2. Choose the "Never" option in the "Expires" option list
|
||||
3. Copy the value of your password into the `OFFICE365_SECRET` environment variable in your `.env` file
|
||||
|
||||
|
||||
#### LDAP Auth
|
||||
|
||||
Greenlight is able to authenticate users using an external LDAP server. To connect Greenlight to an LDAP server, you will have to provide values for the environment variables under the 'LDAP Login Provider' section in the `.env` file. You need to provide all of the values for LDAP authentication to work correctly.
|
||||
|
||||
> `LDAP_SERVER` is the server host.
|
||||
|
||||
> `LDAP_PORT` is the server port (commonly 389).
|
||||
|
||||
> `LDAP_METHOD` is the authentication method, either 'plain' (default), 'ssl' or 'tls'.
|
||||
|
||||
> `LDAP_UID` is the name of the attribute that contains the user id. For example, OpenLDAP uses 'uid'.
|
||||
|
||||
> `LDAP_BASE` is the location to look up users.
|
||||
|
||||
> `LDAP_BIND_DN` is the default account to use for user lookup.
|
||||
|
||||
> `LDAP_AUTH` is the preferred authentication method. (See below)
|
||||
|
||||
> `LDAP_PASSWORD` is the password for the account to perform user lookup.
|
||||
|
||||
> `LDAP_ROLE_FIELD` is the name of the attribute that contains the user role. (Optional)
|
||||
|
||||
> `LDAP_FILTER` is the filter which can be used to only allow a specific subset of users to authenticate. (Optional)
|
||||
|
||||
> `LDAP_ATTRIBUTE_MAPPING` allows you to specify which attributes in your LDAP server match which attributes in Greenlight (Optional - See below)
|
||||
|
||||
##### LDAP_AUTH
|
||||
|
||||
When setting the authentication method, there are currently 3 options:
|
||||
- `"simple"`: Uses the account set in `LDAP_BIND_DN` to look up users
|
||||
- `"user"`: Uses the user's own credentials to search for his data, enabling authenticated login to LDAP without the need for a user with global read privileges.
|
||||
- `"anonymous"`: Enables an anonymous bind to the LDAP with no password being used.
|
||||
|
||||
##### LDAP_ROLE_FIELD
|
||||
|
||||
Greenlight can automatically assign a matching role to a user based on their role in the LDAP Server. To do that:
|
||||
- Create a role in Greenlight with the **exact** same name as the LDAP role
|
||||
- Set the role permissions for the newly created role
|
||||
- Repeat for all possible roles
|
||||
- Set `LDAP_ROLE_FIELD` equal to the name of the attribute that stores the role
|
||||
- Restart Greenlight
|
||||
|
||||
Once you have signed in with that user, they will automatically be given the Greenlight role that matches their LDAP role.
|
||||
|
||||
##### LDAP_ATTRIBUTE_MAPPING
|
||||
|
||||
When a LDAP user signs into Greenlight, the LDAP gem looks up the LDAP user and stores some information that is passed back to Greenlight.
|
||||
|
||||
You can find a list of the defaults in the table below. For rows with multiple attributes, the gem will use the first available attribute starting with the leftmost attribute in the row.
|
||||
|
||||
| Variable Name | LDAP Attributes | Greenlight User Attribute |
|
||||
|:------------- |:-------------------------------|:----------------------------------------------------------------|
|
||||
| uid | dn | social_uid - The id used to look the user up (must be unique) |
|
||||
| name | cn, displayName | name - The user's name |
|
||||
| email | mail, email, userPrincipalName | email - The user's email |
|
||||
| nickname | uid, userid, sAMAccountName | username - What's used to sign in |
|
||||
| image | jpegPhoto | image - User's profile image (only works if it's a public link) |
|
||||
|
||||
To make changes to the attribute that the gem uses, you can set the `LDAP_ATTRIBUTE_MAPPING` variable in your `.env` using the following format:
|
||||
`LDAP_ATTRIBUTE_MAPPING=variablename1=ldapattribute1;variablename2=ldapattribute2;variablename3=ldapattribute3;` For any variable that is not set, the default from above will be used.
|
||||
|
||||
**IMPORTANT NOTE:** variablename refers to the variable name in the leftmost column above, **NOT** the Greenlight attribute name
|
||||
|
||||
For example, if you would like to match the Greenlight users name to `displayName` in your LDAP server and the Greenlight username to `cn` then you would use the following string:
|
||||
|
||||
`LDAP_ATTRIBUTE_MAPPING=name=displayName;nickname=cn;`
|
||||
|
||||
##### Example Setup
|
||||
|
||||
Here are some example settings using an [OpenLDAP](https://www.openldap.org/) server.
|
||||
|
||||
```
|
||||
LDAP_SERVER=host
|
||||
LDAP_PORT=389
|
||||
LDAP_METHOD=plain
|
||||
LDAP_UID=uid
|
||||
LDAP_BASE=dc=example,dc=org
|
||||
LDAP_AUTH=simple
|
||||
LDAP_BIND_DN=cn=admin,dc=example,dc=org
|
||||
LDAP_PASSWORD=password
|
||||
LDAP_ROLE_FIELD=userRole
|
||||
LDAP_FILTER=(&(attr1=value1)(attr2=value2))
|
||||
```
|
||||
|
||||
If your server is still running you will need to recreate the container for changes to take effect.
|
||||
|
||||
See [Applying `.env` Changes](#applying-env-changes) section to enable your new configuration.
|
||||
|
||||
If you are using an ActiveDirectory LDAP server, you must determine the name of your user id parameter to set `LDAP_UID`. It is commonly 'sAMAccountName' or 'UserPrincipalName'.
|
||||
|
||||
LDAP authentication takes precedence over all other providers. This means that if you have other providers configured with LDAP, clicking the login button will take you to the LDAP sign in page as opposed to presenting the general login modal.
|
||||
|
||||
#### Twitter OAuth2
|
||||
|
||||
Twitter Authentication is deprecated and will be phased out in a future release.
|
||||
|
||||
|
||||
### Setting up File Storage
|
||||
|
||||
In order to use Preupload Presentation, you must first make some choices regarding your deployments. If you are upgrading from a version earlier than `2.7`, there are some extra changes needed in order to get it up and running. If you first installed Greenlight at version `2.7` or later, you can skip directly to [Choosing Storage Location](#choosing-storage-location).
|
||||
|
||||
#### Updating From Version Prior to 2.7
|
||||
|
||||
If you are updating from a version prior to `2.7` you **must** make the following changes inorder for Preupload Presentation to work.
|
||||
|
||||
##### Update docker-compose.yml
|
||||
|
||||
Using your preferred text editor (examples below will use `nano`), edit the following file:
|
||||
```bash
|
||||
nano ~/greenlight/docker-compose.yml
|
||||
```
|
||||
|
||||
Find the following line (Line 19)
|
||||
```yaml
|
||||
- ./log:/usr/src/app/log
|
||||
```
|
||||
Add the following line **BELOW** the above line (mnking sure to keep the same spacing as the line above)
|
||||
```yaml
|
||||
- ./storage:/usr/src/app/storage
|
||||
```
|
||||
|
||||
Once completed, your `docker-compose.yml` should look like this (note the last 2 lines):
|
||||
```yaml
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
app:
|
||||
entrypoint: [bin/start]
|
||||
image: bigbluebutton/greenlight:v2
|
||||
container_name: greenlight-v2
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 127.0.0.1:5000:80
|
||||
volumes:
|
||||
- ./log:/usr/src/app/log
|
||||
- ./storage:/usr/src/app/storage
|
||||
```
|
||||
|
||||
##### Update NGINX
|
||||
|
||||
By default, only files that are < 1 MB are allowed to uploaded due to some NGINX rules. To get around that, you must add a specific rule to large files
|
||||
|
||||
Using your preferred text editor (examples below will use `nano`), edit the following file:
|
||||
```bash
|
||||
nano /etc/bigbluebutton/nginx/greenlight.nginx
|
||||
```
|
||||
At the very bottom, add the following lines (again making sure to keep consistent spacing):
|
||||
```
|
||||
## Allow larger body size for uploading presentations
|
||||
location ~ /preupload_presentation$ {
|
||||
client_max_body_size 30m;
|
||||
|
||||
proxy_pass http://127.0.0.1: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;
|
||||
}
|
||||
```
|
||||
|
||||
Your file should now look like this:
|
||||
```
|
||||
location /b {
|
||||
proxy_pass http://127.0.0.1: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://127.0.0.1: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;
|
||||
}
|
||||
|
||||
## Allow larger body size for uploading presentations
|
||||
location ~ /preupload_presentation$ {
|
||||
client_max_body_size 30m;
|
||||
|
||||
proxy_pass http://127.0.0.1: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;
|
||||
}
|
||||
```
|
||||
|
||||
Finally, reload NGINX
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
**PLEASE NOTE:** If your Greenlight deployment is deployed **without** the `/b` (or any other relative root), you can skip the remainder of this step
|
||||
|
||||
Using your preferred text editor (examples below will use `nano`), edit the following file:
|
||||
```bash
|
||||
nano /etc/bigbluebutton/nginx/greenlight.nginx
|
||||
```
|
||||
|
||||
At the very bottom, add the following lines (again making sure to keep consistent spacing):
|
||||
```
|
||||
location /rails/active_storage {
|
||||
return 301 /b$request_uri;
|
||||
}
|
||||
```
|
||||
|
||||
Your file should now look like this:
|
||||
```
|
||||
location /b {
|
||||
proxy_pass http://127.0.0.1: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://127.0.0.1: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;
|
||||
}
|
||||
|
||||
## Allow larger body size for uploading presentations
|
||||
location ~ /preupload_presentation$ {
|
||||
client_max_body_size 30m;
|
||||
|
||||
proxy_pass http://127.0.0.1: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 /rails/active_storage {
|
||||
return 301 /b$request_uri;
|
||||
}
|
||||
```
|
||||
|
||||
Finally, reload NGINX
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
#### Choosing Storage Location
|
||||
|
||||
When using Preupload Presentation, Greenlight needs a location to store the presentations uploaded by the room owners. At the moment, there are 3 places that you can choose from:
|
||||
1. Local (Default)
|
||||
2. Amazon S3
|
||||
3. Google Cloud Services Cloud Storage
|
||||
|
||||
##### Local
|
||||
By default, local storage is set up to work automatically and will store all files in `~/greenlight/storage`
|
||||
|
||||
##### Amazon S3
|
||||
In order to store files in S3, you must set the following values in your `.env` file. A good guide to follow can be found [here](https://supsystic.com/documentation/id-secret-access-key-amazon-s3/).
|
||||
|
||||
> `AWS_ACCESS_KEY_ID` is your AWS Account Access Key (see the guide above)
|
||||
|
||||
> `AWS_SECRET_ACCESS_KEY` is your AWS Account Secret Access Key (see the guide above)
|
||||
|
||||
> `AWS_REGION` is the region that your S3 bucket is in
|
||||
|
||||
> `AWS_BUCKET` is the name of the S3 bucket
|
||||
|
||||
##### Google Cloud Services Cloud Storage
|
||||
In order to store files in Cloud Storage, you must set the following values in your `.env` file.
|
||||
|
||||
> `GCS_PROJECT_ID` is the id of the project in which your storage is currently in
|
||||
|
||||
> `GCS_PRIVATE_KEY_ID` can be found in the credentials.json file
|
||||
|
||||
> `GCS_PRIVATE_KEY` can be found in the credentials.json file
|
||||
|
||||
> `GCS_CLIENT_EMAIL` can be found in the credentials.json file
|
||||
|
||||
> `GCS_CLIENT_ID` can be found in the credentials.json file
|
||||
|
||||
> `GCS_CLIENT_CERT` can be found in the credentials.json file
|
||||
|
||||
> `GCS_PROJECT` is the name of the project in which your storage is currently in
|
||||
|
||||
> `GCS_BUCKET` is the name of the bucket
|
||||
|
||||
### Use PostgreSQL instead of SQLite
|
||||
|
||||
Greenlight can be set to use either a local in-memory SQLite database or a production-ready PostgreSQL database.
|
||||
|
||||
For any new installs, Greenlight is configured to use PostgreSQL by default.
|
||||
|
||||
If you installed Greenlight before v2.5 was released, your deployment is configured to use SQLite by default. If you are using SQLite, we highly recommend that you make the change to PostgreSQL.
|
||||
|
||||
#### Converting SQLite database to PostgreSQL without losing data
|
||||
|
||||
It is possible to convert an existing SQLite database to PostgreSQL without losing any of your data.
|
||||
|
||||
You'll need to generate a random password that will be used in 3 different instances. Generate one by running
|
||||
```bash
|
||||
openssl rand -base64 24
|
||||
```
|
||||
For the remainder of these instructions, replace **RANDOM_PASSWORD_REPLACE_ME** with the password that was generated with the command from above
|
||||
|
||||
First, ensure you are in your Greenlight directory and that Greenlight is not running
|
||||
```bash
|
||||
cd ~/greenlight
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
Second, replace your `docker-compose.yml` with the new `docker-compose.yml` to include the PostgreSQL container
|
||||
```bash
|
||||
docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml
|
||||
```
|
||||
|
||||
Next, edit your `docker-compose.yml` to include your SQLite container (You can use vi, vim, nano or any text editor)
|
||||
```bash
|
||||
vim docker-compose.yml
|
||||
```
|
||||
|
||||
There are 3 lines that need to be changed. When making the changes, make sure the spacing remains consistent.
|
||||
|
||||
- The first change is removing the `#` before
|
||||
```yaml
|
||||
## - ./db/production:/usr/src/app/db/production
|
||||
```
|
||||
|
||||
- The second change is replacing
|
||||
|
||||
```yaml
|
||||
- ./db/production:/var/lib/postgresql/data
|
||||
```
|
||||
|
||||
With
|
||||
|
||||
```yaml
|
||||
- ./db/production-postgres:/var/lib/postgresql/data
|
||||
```
|
||||
|
||||
- The third change is replacing **RANDOM_PASSWORD_REPLACE_ME** with the password you generated in the earlier step
|
||||
|
||||
|
||||
**NOTE:** If you cloned the repository and are building your own image, make sure you also make the change to point to your image instead of the default one. If you are installed using the basic **Install** instructions, you can skip this step.
|
||||
```
|
||||
services:
|
||||
app:
|
||||
entrypoint: [bin/start]
|
||||
image: <image name>:release-v2
|
||||
```
|
||||
|
||||
The next step is configuring the `.env` file so that it connects to the PostgreSQL database. Edit your `.env` file
|
||||
```bash
|
||||
vim .env
|
||||
```
|
||||
and add the following lines to any part of the `.env` file (Making sure to replace the **RANDOM_PASSWORD_REPLACE_ME**)
|
||||
```
|
||||
DB_ADAPTER=postgresql
|
||||
DB_HOST=db
|
||||
DB_NAME=greenlight_production
|
||||
DB_USERNAME=postgres
|
||||
DB_PASSWORD=RANDOM_PASSWORD_REPLACE_ME
|
||||
```
|
||||
Next, test your current configuration by running
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
If you see the following error, it is due to the spacing of your `docker-compose.yml` file. For reference, the spacing should look like [this](https://github.com/bigbluebutton/greenlight/blob/master/docker-compose.yml#L22)
|
||||
```bash
|
||||
ERROR: yaml.parser.ParserError: while parsing a block mapping
|
||||
in "./docker-compose.yml", line 4, column 3
|
||||
expected <block end>, but found '<block mapping start>'
|
||||
in "./docker-compose.yml", line 23, column 4
|
||||
```
|
||||
If no errors appear, continue to the next step.
|
||||
Once the containers have spun up, we need to create a new database in PostgreSQL to store our data in (Making sure to replace the **RANDOM_PASSWORD_REPLACE_ME**)
|
||||
``` bash
|
||||
docker exec greenlight-v2 psql "postgresql://postgres:RANDOM_PASSWORD_REPLACE_ME@db:5432" -c 'CREATE DATABASE greenlight_production_new'
|
||||
```
|
||||
Assuming that worked successfully, the console should output:
|
||||
```
|
||||
CREATE DATABASE
|
||||
```
|
||||
Finally, copy the SQLite database and convert it to a PostgreSQL database. (Making sure to replace the **RANDOM_PASSWORD_REPLACE_ME**)
|
||||
```bash
|
||||
docker exec greenlight-v2 bundle exec sequel -C sqlite:///usr/src/app/db/production/production.sqlite3 postgres://postgres:RANDOM_PASSWORD_REPLACE_ME@db:5432/greenlight_production_new
|
||||
```
|
||||
Assuming that worked successfully, the console should output:
|
||||
```
|
||||
Databases connections successful
|
||||
Migrations dumped successfully
|
||||
Tables created
|
||||
Begin copying data
|
||||
.
|
||||
.
|
||||
.
|
||||
Database copy finished in 2.741942643 seconds
|
||||
```
|
||||
|
||||
Finally, edit your `.env` file to point at the new database by replacing the line that we added in the earlier step
|
||||
```
|
||||
DB_NAME=greenlight_production
|
||||
```
|
||||
With:
|
||||
```
|
||||
DB_NAME=greenlight_production_new
|
||||
```
|
||||
|
||||
Now, [restart Greenlight](#applying-env-changes) and you should be good to go.
|
||||
|
||||
You can verify that everything went smoothly if you are able to sign into the accounts you had made before starting this process.
|
||||
|
||||
#### Errors after migration
|
||||
|
||||
If you encounter any errors after the migration, you can very easily switch back to your previous setup by removing the `.env` variables that were added during this switch.
|
||||
|
||||
Just remove these lines and restart Greenlight
|
||||
|
||||
```
|
||||
DB_ADAPTER=postgresql
|
||||
DB_HOST=db
|
||||
DB_NAME=greenlight_production
|
||||
DB_USERNAME=postgres
|
||||
DB_PASSWORD=RANDOM_PASSWORD_REPLACE_ME
|
||||
```
|
||||
|
||||
### Upgrading PostgreSQL versions
|
||||
Before you begin, please note that this process may take some time for large databases. We recommend you schedule maintenance windows and avoid attempting to do this upgrade quickly.
|
||||
|
||||
#### Create a dump of your database
|
||||
```
|
||||
cd ~/greenlight
|
||||
docker exec greenlight_db_1 /usr/bin/pg_dumpall -U postgres -f /var/lib/postgresql/data/dump.sql
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
#### Create a backup of your database
|
||||
```
|
||||
sudo cp -a db db.bak
|
||||
sudo mv db/production/dump.sql .
|
||||
sudo rm -r db/
|
||||
```
|
||||
|
||||
#### Switch PostgreSQL versions
|
||||
Edit your `docker-compose.yml` file
|
||||
```
|
||||
nano docker-compose.yml
|
||||
```
|
||||
|
||||
Replace:
|
||||
```
|
||||
image: postgres:9.5
|
||||
```
|
||||
With:
|
||||
```
|
||||
image: postgres:13-alpine
|
||||
```
|
||||
|
||||
#### Import database dump into new database
|
||||
Start Greenlight
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
Wait a couple of seconds and then run:
|
||||
```
|
||||
docker exec greenlight_db_1 /usr/local/bin/psql -U postgres -c "DROP DATABASE greenlight_production;"
|
||||
```
|
||||
If you get an error stating that "greenlight_production does not exist", wait a few more seconds then try again. (Repeat until successful)
|
||||
|
||||
Finally:
|
||||
```
|
||||
sudo mv dump.sql db/production/
|
||||
docker exec greenlight_db_1 /usr/local/bin/psql -U postgres -f /var/lib/postgresql/data/dump.sql
|
||||
sudo rm db/production/dump.sql
|
||||
```
|
||||
|
||||
Sign in and confirm that all users, rooms and other settings are present and correct.
|
||||
|
||||
#### Errors
|
||||
|
||||
If you run into any issues, you can always replace your new database with the previous information. To do so, take down Greenlight and edit your `docker-compose.yml` file
|
||||
```
|
||||
cd ~/greenlight
|
||||
docker-compose down
|
||||
nano docker-compose.yml
|
||||
```
|
||||
Replace:
|
||||
```
|
||||
image: postgres:13.2-alpine9.5
|
||||
```
|
||||
With:
|
||||
```
|
||||
image: postgres:9.5
|
||||
```
|
||||
|
||||
Then, replace your current database fold with the back up you made during the upgrade process
|
||||
```
|
||||
sudo cp -a db db-new.bak
|
||||
sudo cp -a db.bak db
|
||||
```
|
||||
|
||||
Start Greenlight and confirm that all users, rooms and other settings are present and correct.
|
||||
|
||||
### Improving Greenlight's Performance Under Load
|
||||
|
||||
Under heavy load, a single Greenlight server with stock settings might have trouble keeping up with the incoming requests. To improve Greenlight's performance, you can increase the number of workers used by the underlying PUMA server. When increasing the number of workers, it's important to note that the more workers you have, the more memory + CPU usage by Greenlight.
|
||||
|
||||
To set the number of workers, add `WEB_CONCURRENCY=1` to your `.env` file.
|
||||
|
||||
It is recommended to slowly increment the variable by 1, and then monitoring your server to ensure there is enough memory + CPU to continue. Unless on a **very** strong server, it is recommended to keep the variable <= 3.
|
||||
|
||||
### Adding Terms and Conditions
|
||||
|
||||
Greenlight allows you to add terms and conditions to the application. By adding a `terms.md` file to `app/config/` you will enable terms and conditions. This will display a terms and conditions page whenever a user signs up (or logs on without accepting yet). They are required to accept before they can continue to use Greenlight.
|
||||
|
||||
The `terms.md` file is a [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) file, so you can style your terms and conditions as you wish.
|
||||
|
||||
To add terms and conditions to your docker container, create a `terms.md` file in the `~/greenlight` directory. Then, add the following volume to your `docker-compose.yml` file.
|
||||
|
||||
`- ./terms.md:/usr/src/app/config/terms.md`
|
||||
|
||||
## Applying `.env` Changes
|
||||
|
||||
After you edit the `.env` file, you are required to restart Greenlight in order for it to pick up the changes. Ensure you are in the Greenlight directory when restarting Greenlight. To do this, enter the following commands:
|
||||
|
||||
### If you installed using the "Install" Instructions
|
||||
```bash
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### If you installed using the "Customize" Instructions
|
||||
```bash
|
||||
docker-compose down
|
||||
./scripts/image_build.sh <image name> release-v2
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
See also
|
||||
* [Overview](/greenlight/v2/overview)
|
||||
* [Install](/greenlight/v2/install)
|
||||
* [Admin Guide](/greenlight/v2/admin)
|
||||
* [Customize](/greenlight/v2/customize)
|
@ -1,364 +0,0 @@
|
||||
---
|
||||
id: customize
|
||||
slug: /greenlight/v2/customize
|
||||
title: Customizing
|
||||
sidebar_position: 5
|
||||
description: Greenlight Customizing
|
||||
keywords:
|
||||
- greenlight
|
||||
- cutomize
|
||||
---
|
||||
|
||||
## Customizing Greenlight
|
||||
|
||||
Greenlight is written in Ruby on Rails. If you know how Ruby on Rails works, you can easily customize Greenlight to your own needs.
|
||||
|
||||
The default install instructions will run Greenlight within docker. To customize Greenlight, you'll want to checkout the source code and build your own docker image.
|
||||
|
||||
### 1. Install Docker
|
||||
|
||||
The official Docker documentation is the best resource for Docker install steps. To install Docker (we recommend installing Docker CE unless you have a subscription to Docker EE), see [Install Docker on Ubuntu](https://docs.docker.com/engine/installation/linux/ubuntu/).
|
||||
|
||||
Before moving onto the next step, verify that Docker is installed by running:
|
||||
|
||||
```bash
|
||||
docker -v
|
||||
```
|
||||
|
||||
### 2. Install Greenlight
|
||||
|
||||
Using your GitHub account, do the following
|
||||
|
||||
1. [Fork](https://help.github.com/fork-a-repo/) the Greenlight repository into your GitHub account
|
||||
2. Clone your repository onto your local machine
|
||||
|
||||
After cloning, you'll have the following directory:
|
||||
|
||||
```
|
||||
~/greenlight
|
||||
```
|
||||
|
||||
Confirm that you are working on the master branch.
|
||||
|
||||
```bash
|
||||
cd greenlight
|
||||
git status
|
||||
```
|
||||
|
||||
You should see
|
||||
|
||||
```
|
||||
On branch master
|
||||
Your branch is up to date with 'origin/master'.
|
||||
|
||||
nothing to commit, working tree clean
|
||||
```
|
||||
|
||||
When you first clone the Greenlight git repository, git will place you, by default, on the `master` branch, which is the latest code for Greenlight. The release branch for v2 is on the `v2` branch.
|
||||
|
||||
The first thing we need to do is to add the remote repository to our local clone.
|
||||
|
||||
```bash
|
||||
git remote add upstream https://github.com/bigbluebutton/greenlight.git
|
||||
```
|
||||
|
||||
You can now check your local list of tracked repositories to verify that the addition worked. You should see at least two results (origin and upstream). The one named "origin" should link to your personal fork and is the repository that you cloned. The second result "upstream" should link to the main Greenlight repository.
|
||||
|
||||
```bash
|
||||
git remote -v
|
||||
```
|
||||
|
||||
After, we need to fetch the most up to date version of the remote repository.
|
||||
|
||||
```bash
|
||||
git fetch upstream
|
||||
```
|
||||
|
||||
You are now ready to create a new branch to start your work and base the new branch off v2
|
||||
|
||||
```bash
|
||||
git checkout -b custom-changes upstream/v2
|
||||
```
|
||||
|
||||
You should now confirm that you are in the correct branch.
|
||||
|
||||
```bash
|
||||
git status
|
||||
|
||||
On branch custom-changes
|
||||
Your branch is up to date with 'upstream/v2'.
|
||||
|
||||
nothing to commit, working tree clean
|
||||
```
|
||||
|
||||
### 3. Configure Greenlight
|
||||
|
||||
Greenlight will read its environment configuration from the `.env` file. To generate this file, enter `~/greenlight` directory and run:
|
||||
|
||||
```bash
|
||||
cp sample.env .env
|
||||
```
|
||||
|
||||
If you open the `.env` file you'll see that it contains information for all of the Greenlight configuration options. Some of these are mandatory.
|
||||
|
||||
#### Generating a Secret Key
|
||||
|
||||
Greenlight needs a secret key in order to run in production. To generate this, run:
|
||||
|
||||
```bash
|
||||
docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
|
||||
```
|
||||
|
||||
Inside your `.env` file, set the `SECRET_KEY_BASE` option to the **last** line in this command. You don't need to surround it in quotations.
|
||||
|
||||
#### Setting BigBlueButton Credentials
|
||||
|
||||
By default, your Greenlight instance will automatically connect to `test-install.blindsidenetworks.com` if no BigBlueButton credentials are specified. To set Greenlight to connect to your BigBlueButton server (the one it's installed on), you need to give Greenlight the endpoint and the secret. To get the credentials, run:
|
||||
|
||||
```bash
|
||||
bbb-conf --secret
|
||||
```
|
||||
|
||||
In your `.env` file, set the `BIGBLUEBUTTON_ENDPOINT` to the URL, and set `BIGBLUEBUTTON_SECRET` to the secret.
|
||||
|
||||
#### Setting Allowed Hosts
|
||||
|
||||
For reasons related to security, you'll also need to specify the domain from which the application will be accessible from.
|
||||
|
||||
In your `.env` file, set the `SAFE_HOSTS` to your domain. If Greenlight is accessible at `https://bbb.example.com/b` then `SAFE_HOSTS=bbb.example.com`
|
||||
|
||||
#### Configure Specific Settings
|
||||
|
||||
Other than the 3 configurations listed above, there are many different options for configuring Greenlight. All possible configurations are listed in the `.env` file.
|
||||
|
||||
You can find more info on specific settings that can be configured [here](/greenlight/v2/config).
|
||||
|
||||
#### Verifying Configuration
|
||||
|
||||
Once you have finished setting the environment variables above in your `.env` file, to verify that you configuration is valid, run:
|
||||
|
||||
```bash
|
||||
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
|
||||
```
|
||||
|
||||
If you have configured an SMTP server in your `.env` file, then all four tests must pass before you proceed. If you have not configured an SMTP server, then only the first three tests must pass before you proceed.
|
||||
|
||||
### 4. Configure Nginx to Route To Greenlight
|
||||
|
||||
Greenlight will be configured to deploy at the `/b` subdirectory. This is necessary so it doesn't conflict with the other BigBlueButton components. The Nginx configuration for this subdirectory is stored in the Greenlight image. To add this configuration file to your BigBlueButton server, run:
|
||||
|
||||
```bash
|
||||
cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx
|
||||
```
|
||||
|
||||
Verify that the Nginx configuration file (`/etc/bigbluebutton/nginx/greenlight.nginx`) is in place. If it is, restart Nginx so it picks up the new configuration.
|
||||
|
||||
```bash
|
||||
systemctl restart nginx
|
||||
```
|
||||
|
||||
This will routes all requests to `https://<hostname>/b` to the Greenlight application. If you wish to use a different relative root, you can follow the steps outlined [here](/greenlight/v2/config#using-a-different-relative-root).
|
||||
|
||||
Optionally, if you wish to have the default landing page at the root of your BigBlueButton server redirect to Greenlight, add the following entry to the bottom of `/etc/nginx/sites-available/bigbluebutton` just before the last `}` character.
|
||||
|
||||
```
|
||||
location = / {
|
||||
return 307 /b;
|
||||
}
|
||||
```
|
||||
|
||||
To have this change take effect, you must once again restart Nginx.
|
||||
|
||||
### 5. Start Greenlight 2.0
|
||||
|
||||
To start the Greenlight Docker container, you must install `docker-compose`, which simplifies the start and stop process for Docker containers.
|
||||
|
||||
Install `docker-compose` by following the steps for installing on Linux in the [Docker documentation](https://docs.docker.com/compose/install/). You may be required to run all `docker-compose` commands using sudo. If you wish to change this, check out [managing docker as a non-root user](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user).
|
||||
|
||||
#### Using `docker-compose`
|
||||
|
||||
Before you continue, verify that you have `docker-compose` installed by running:
|
||||
|
||||
```bash
|
||||
docker-compose -v
|
||||
```
|
||||
|
||||
Once you have verified that it is installed correctly, create your Docker image by running (**image name** can be any name of your choosing):
|
||||
|
||||
```bash
|
||||
./scripts/image_build.sh <image name> release-v2
|
||||
```
|
||||
|
||||
Next, in the `docker-compose.yml` file, replace:
|
||||
|
||||
```
|
||||
services:
|
||||
app:
|
||||
entrypoint: [bin/start]
|
||||
image: bigbluebutton/greenlight:v2
|
||||
```
|
||||
|
||||
With
|
||||
|
||||
```
|
||||
services:
|
||||
app:
|
||||
entrypoint: [bin/start]
|
||||
image: <image name>:release-v2
|
||||
```
|
||||
|
||||
Finally, from the `~/greenlight` directory, start the application using:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will start Greenlight, and you should be able to access it at `https://<hostname>/b`.
|
||||
|
||||
The database is saved to the BigBlueButton server so data persists when you restart. This can be found at `~/greenlight/db`.
|
||||
|
||||
All of the logs from the application are also saved to the BigBlueButton server, which can be found at `~/greenlight/log`.
|
||||
|
||||
If you don't wish for either of these to persist, simply remove the volumes from the `docker-compose.yml` file.
|
||||
|
||||
To stop the application, run:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
#### Using `docker run`
|
||||
|
||||
`docker run` is no longer the recommended way to start Greenlight. Please use `docker-compose`.
|
||||
|
||||
If you are currently using `docker run` and want to switch to `docker-compose`, follow these [instructions](#switching-from-docker-run-to-docker-compose).
|
||||
|
||||
### Making Code Changes
|
||||
|
||||
Using the text editor/IDE of choice, you can edit any of the files in the directory. The majority of Greenlight's code lives in `~/greenlight/app`.
|
||||
|
||||
You can see an example of how to customize the Landing Page [here](#customizing-the-landing-page).
|
||||
|
||||
To see your changes reflected in Greenlight, you will need to [restart Greenlight](#restart-greenlight).
|
||||
|
||||
## Restart Greenlight
|
||||
|
||||
After you edit the `.env` file or make any change to the code, you are required to rebuild the Greenlight image in order for it to pick up the changes. Ensure you are in the Greenlight directory when restarting Greenlight. To do this, enter the following commands:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
./scripts/image_build.sh <image name> release-v2
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Updating to the Latest Version of Greenlight
|
||||
|
||||
If a new version of Greenlight has been released, you'll need to fetch the most up to date version of the remote repository.
|
||||
|
||||
```bash
|
||||
git fetch upstream
|
||||
```
|
||||
|
||||
To merge the code:
|
||||
|
||||
```bash
|
||||
git merge upstream/v2
|
||||
```
|
||||
|
||||
Once you've merged your code, you should look through the latest version of the `sample.env` file [here](https://github.com/bigbluebutton/greenlight/blob/v2/sample.env), and see if there are any new settings you would like to change or add to Greenlight. If you come across something you want to add, simply copy paste it to the bottom of your `.env`, then [restart Greenlight](#restart-greenlight).
|
||||
|
||||
## Customizing the Landing Page
|
||||
|
||||
### Before you begin
|
||||
|
||||
**IMPORTANT**
|
||||
|
||||
If you installed using the `bbb-install.sh` script, then you must switch to the [Customize](/greenlight/v2/install#switching-from-install-to-customize) version of Greenlight first, before you proceed.
|
||||
|
||||
### Updating the code
|
||||
|
||||
A common customization is to modify the default landing page. For a simple change, let's rename the welcome banner to say “Welcome to MyServer”.
|
||||
|
||||
The welcome banner is generated by [index.html.erb](https://github.com/bigbluebutton/greenlight/blob/master/app/views/main/index.html.erb). To customize this message, open `app/views/main/index.html.erb` in an editor.
|
||||
|
||||
```erb
|
||||
<%
|
||||
## BigBlueButton open source conferencing system - https://www.bigbluebutton.org/.
|
||||
## Copyright (c) 2018 BigBlueButton Inc. and by respective authors (see below).
|
||||
## This program is free software; you can redistribute it and/or modify it under the
|
||||
## terms of the GNU Lesser General Public License as published by the Free Software
|
||||
## Foundation; either version 3.0 of the License, or (at your option) any later
|
||||
## version.
|
||||
#
|
||||
## BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
## PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
|
||||
## You should have received a copy of the GNU Lesser General Public License along
|
||||
## with BigBlueButton; if not, see <https://www.gnu.org/licenses/>.
|
||||
%>
|
||||
|
||||
<div class="background">
|
||||
<div class="container pt-9 pb-8">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-sm-12 text-center">
|
||||
<h1 id="main-text" class="display-4 mb-4"> <%= t("landing.welcome").html_safe %></h1>
|
||||
<p class="lead offset-lg-2 col-lg-8 col-sm-12 "><%= t("landing.about", href: link_to(t("greenlight"), "https://bigbluebutton.org/2018/07/09/greenlight-2-0/", target: "_blank")).html_safe %></p>
|
||||
<%= link_to "https://youtu.be/Hso8yLzkqj8", target: "_blank" do %>
|
||||
<h4><%= t("landing.video") %> <i class="far fa-play-circle ml-1"></i></h4>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= render "shared/features" %>
|
||||
```
|
||||
|
||||
This is an Embedded RuBy (ERB) file. Look for the following line:
|
||||
|
||||
```erb
|
||||
<h1 id="main-text" class="display-4 mb-4"> <%= t("landing.welcome").html_safe %></h1>
|
||||
```
|
||||
|
||||
The function `t("landing.welcome")` retrieves the localized version of the label `landing.welcome`. For English, this retrieves the string from [en.yml](https://github.com/bigbluebutton/greenlight/blob/master/config/locales/en.yml). Edit `config/locales/en.yml` and look for the following section:
|
||||
|
||||
```yml
|
||||
landing:
|
||||
about: "%{href} is a simple front-end for your BigBlueButton open-source web conferencing server. You can create your own rooms to host sessions, or join others using a short and convenient link."
|
||||
welcome: Welcome to BigBlueButton.
|
||||
video: Watch our tutorial on using Greenlight
|
||||
upgrade: Show me how to upgrade to 2.0!
|
||||
version: We've released a new version of Greenlight, but your database isn't compatible.
|
||||
```
|
||||
|
||||
To change the welcome message, modify the text associated with `landing.welcome` to say "Welcome to MyServer".
|
||||
|
||||
```yml
|
||||
welcome: Welcome to MyServer
|
||||
```
|
||||
|
||||
Save the change to `en.yml`, and [restart Greenlight](#restart-greenlight). The welcome message should have the new text.
|
||||
|
||||
![Updated login](/img/greenlight/v2/gl-welcome-to-my-server.png)
|
||||
|
||||
## Troubleshooting Greenlight
|
||||
|
||||
Sometimes there are missteps and incompatibility issues when setting up applications.
|
||||
|
||||
### Changes not appearing
|
||||
|
||||
If you made changes to the `.env` file, you will need to [restart Greenlight](#restart-greenlight) to see the changes appear.
|
||||
|
||||
### Checking the Logs
|
||||
|
||||
The best way for determining the root cause of issues in your Greenlight application is to check the logs.
|
||||
|
||||
Docker is always running on a production environment, so the logs will be located in `log/production.log` from the `~/greenlight` directory.
|
||||
|
||||
See also
|
||||
|
||||
* [Overview](/greenlight/v2/overview)
|
||||
* [Install](/greenlight/v2/install)
|
||||
* [Admin Guide](/greenlight/v2/admin)
|
||||
* [Configure](/greenlight/v2/config)
|
@ -1,249 +0,0 @@
|
||||
---
|
||||
id: install
|
||||
slug: /greenlight/v2/install
|
||||
title: Installation
|
||||
sidebar_position: 2
|
||||
description: Greenlight Installation
|
||||
keywords:
|
||||
- greenlight
|
||||
- install
|
||||
---
|
||||
|
||||
## Installing on a BigBlueButton Server
|
||||
|
||||
To make Greenlight as easy to install as possible, we've created a Docker image that wraps the application. It is **highly** recommended that you use Docker when install Greenlight on a BigBlueButton server.
|
||||
|
||||
Following this installation process will install Greenlight with the default settings. Through the [Administrator Interface](/greenlight/v2/admin), you can customize the Branding Image, Primary Color and other Site Settings. If you would like to check out the Greenlight source code and make changes to it, follow these [installation instructions](/greenlight/v2/customize#customizing-greenlight)
|
||||
|
||||
You should run all commands in this section as `root` on your BigBlueButton server.
|
||||
|
||||
### BigBlueButton Server Requirements
|
||||
|
||||
Before you install Greenlight, you must have a BigBlueButton server to install it on. This server must:
|
||||
|
||||
* have a version of BigBlueButton 2.0 (or greater).
|
||||
* have a fully qualified hostname.
|
||||
* have a valid SSL certificate (HTTPS).
|
||||
|
||||
### 1. Install Docker
|
||||
|
||||
The official Docker documentation is the best resource for Docker install steps. To install Docker (we recommend installing Docker CE unless you have a subscription to Docker EE), see [Install Docker on Ubuntu](https://docs.docker.com/engine/installation/linux/ubuntu/).
|
||||
|
||||
Before moving onto the next step, verify that Docker is installed by running:
|
||||
|
||||
```bash
|
||||
docker -v
|
||||
```
|
||||
|
||||
### 2. Install Greenlight
|
||||
|
||||
First, create the Greenlight directory for its configuration to live in.
|
||||
|
||||
```bash
|
||||
mkdir ~/greenlight && cd ~/greenlight
|
||||
```
|
||||
|
||||
Greenlight will read its environment configuration from the `.env` file. To generate this file and install the Greenlight Docker image, run:
|
||||
|
||||
```bash
|
||||
docker run --rm bigbluebutton/greenlight:v2 cat ./sample.env > .env
|
||||
```
|
||||
|
||||
### 3. Configure Greenlight
|
||||
|
||||
If you open the `.env` file you'll see that it contains information for all of the Greenlight configuration options. Some of these are mandatory.
|
||||
|
||||
When you installed in step two, the `.env` file was generated at `~/greenlight/.env`.
|
||||
|
||||
#### Generating a Secret Key
|
||||
|
||||
Greenlight needs a secret key in order to run in production. To generate this, run:
|
||||
|
||||
```bash
|
||||
docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret
|
||||
```
|
||||
|
||||
Inside your `.env` file, set the `SECRET_KEY_BASE` option to this key. You don't need to surround it in quotations.
|
||||
|
||||
#### Setting BigBlueButton Credentials
|
||||
|
||||
By default, your Greenlight instance will automatically connect to `test-install.blindsidenetworks.com` if no BigBlueButton credentials are specified. To set Greenlight to connect to your BigBlueButton server (the one it's installed on), you need to give Greenlight the endpoint and the secret. To get the credentials, run:
|
||||
|
||||
```bash
|
||||
sudo bbb-conf --secret
|
||||
```
|
||||
|
||||
In your `.env` file, set the `BIGBLUEBUTTON_ENDPOINT` to the URL, and set `BIGBLUEBUTTON_SECRET` to the secret.
|
||||
|
||||
#### Setting Allowed Hosts
|
||||
|
||||
For reasons related to security, you'll also need to specify the domain from which the application will be accessible from.
|
||||
|
||||
In your `.env` file, set the `SAFE_HOSTS` to your domain. If Greenlight is accessible at `https://bbb.example.com/b` then `SAFE_HOSTS=bbb.example.com`
|
||||
|
||||
#### Configure Specific Settings
|
||||
|
||||
Other than the 3 configurations listed above, there are many different options for configuring Greenlight. All possible configurations are listed in the `.env` file.
|
||||
|
||||
You can find more info on specific settings that can be configured [here](/greenlight/v2/config).
|
||||
|
||||
#### Verifying Configuration
|
||||
|
||||
Once you have finished setting the environment variables above in your `.env` file, to verify that you configuration is valid, run:
|
||||
|
||||
```bash
|
||||
docker run --rm --env-file .env bigbluebutton/greenlight:v2 bundle exec rake conf:check
|
||||
```
|
||||
|
||||
If you have configured an SMTP server in your `.env` file, then all four tests must pass before you proceed. If you have not configured an SMTP server, then only the first three tests must pass before you proceed.
|
||||
|
||||
### 4. Configure Nginx to Route To Greenlight
|
||||
|
||||
Greenlight will be configured to deploy at the `/b` subdirectory. This is necessary so it doesn't conflict with the other BigBlueButton components. The Nginx configuration for this subdirectory is stored in the Greenlight image. To add this configuration file to your BigBlueButton server, run:
|
||||
|
||||
```bash
|
||||
docker run --rm bigbluebutton/greenlight:v2 cat ./greenlight.nginx | sudo tee /etc/bigbluebutton/nginx/greenlight.nginx
|
||||
```
|
||||
|
||||
Verify that the Nginx configuration file (`/etc/bigbluebutton/nginx/greenlight.nginx`) is in place. If it is, restart Nginx so it picks up the new configuration.
|
||||
|
||||
```bash
|
||||
sudo systemctl restart nginx
|
||||
```
|
||||
|
||||
This will routes all requests to `https://<hostname>/b` to the Greenlight application. If you wish to use a different relative root, you can follow the steps outlined [here](/greenlight/v2/config#using-a-different-relative-root).
|
||||
|
||||
Optionally, if you wish to have the default landing page at the root of your BigBlueButton server redirect to Greenlight, add the following entry to the bottom of `/etc/nginx/sites-available/bigbluebutton` just before the last `}` character.
|
||||
|
||||
```nginx
|
||||
location = / {
|
||||
return 307 /b;
|
||||
}
|
||||
```
|
||||
|
||||
To have this change take effect, you must once again restart Nginx.
|
||||
|
||||
### 5. Start Greenlight 2.0
|
||||
|
||||
To start the Greenlight Docker container, you must install `docker-compose`, which simplifies the start and stop process for Docker containers.
|
||||
|
||||
Install `docker-compose` by following the steps for installing on Linux in the [Docker documentation](https://docs.docker.com/compose/install/). You may be required to run all `docker-compose` commands using sudo. If you wish to change this, check out [managing docker as a non-root user](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user). Do not install (via `apt-get`) the version of `docker-compose` packaged in Ubuntu is typically outdated.
|
||||
|
||||
#### Using `docker-compose`
|
||||
|
||||
Before you continue, verify that you have `docker-compose` installed by running:
|
||||
|
||||
```bash
|
||||
cd ~/greenlight
|
||||
docker-compose -v
|
||||
```
|
||||
|
||||
Next, you should copy the `docker-compose.yml` file from the Greenlight image in to `~/greenlight` directory. To do this, run:
|
||||
|
||||
```bash
|
||||
docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml
|
||||
```
|
||||
|
||||
Finally, randomly generate a password for the PostgreSQL database and replace the entries in the `.env` and `.docker-compose.yml` file with this command
|
||||
|
||||
```bash
|
||||
export pass=$(openssl rand -hex 24); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env
|
||||
```
|
||||
|
||||
Once you have completed these steps, from the `~/greenlight` directory, start the application using:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will start Greenlight, and you should be able to access it at `https://<hostname>/b`.
|
||||
|
||||
The database is saved to the BigBlueButton server so data persists when you restart. This can be found at `~/greenlight/db`.
|
||||
|
||||
All of the logs from the application are also saved to the BigBlueButton server, which can be found at `~/greenlight/log`.
|
||||
|
||||
If you don't wish for either of these to persist, simply remove the volumes from the `docker-compose.yml` file.
|
||||
|
||||
To stop the application, run:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## Updating Greenlight
|
||||
|
||||
To update Greenlight, all you need to do is pull the latest image from [Dockerhub](https://hub.docker.com/).
|
||||
|
||||
```bash
|
||||
cd ~/greenlight
|
||||
docker-compose pull
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
Once you've updated Greenlight, you should look through the latest version of the `sample.env` file [here](https://github.com/bigbluebutton/greenlight/blob/v2/sample.env), and see if there are any new settings you would like to change or add to Greenlight. If you come across something you want to add, simply copy paste it to the bottom of your `.env` file and then restart Greenlight by running:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Switching from `Install` to `Customize`
|
||||
|
||||
In the case that you would like to make changes to your code without losing your current data, there are steps you can take to switch from the `Install` version to the `Customize` version without losing any data.
|
||||
|
||||
In the Greenlight directory, take down Greenlight and rename the Greenlight directory to avoid conflicts using these commands:
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
cd ..
|
||||
mv greenlight/ greenlight-old/
|
||||
```
|
||||
|
||||
Then, install Greenlight by following the `Customize` instructions [here](/greenlight/v2/customize#customizing-greenlight). Don't worry about any of the `.env` configuration, as it will be overwritten by the version you are currently using.
|
||||
|
||||
Copy over your database file and `.env` file using these commands:
|
||||
|
||||
```bash
|
||||
cp ~/greenlight-old/.env ~/greenlight/.env
|
||||
sudo cp -r ~/greenlight-old/db ~/greenlight/
|
||||
```
|
||||
|
||||
Finally, restart Greenlight with:
|
||||
|
||||
```bash
|
||||
cd ~/greenlight
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Troubleshooting Greenlight
|
||||
|
||||
Sometimes there are missteps and incompatibility issues when setting up applications.
|
||||
|
||||
### Checking the Logs
|
||||
|
||||
The best way for determining the root cause of issues in your Greenlight application is to check the logs.
|
||||
|
||||
Docker is always running on a production environment, so the logs will be located in `log/production.log` from the `~/greenlight` directory.
|
||||
|
||||
## Uninstall
|
||||
|
||||
If you would like to uninstall Greenlight, you can do so by running the following commands:
|
||||
|
||||
**NOTE:** This will **permanently** delete all data associated with Greenlight. This data can not be recovered.
|
||||
|
||||
```bash
|
||||
cd ~/greenlight
|
||||
docker-compose down
|
||||
docker rmi bigbluebutton/greenlight:v2
|
||||
cd ../
|
||||
sudo rm -rf greenlight/
|
||||
```
|
||||
|
||||
See also
|
||||
|
||||
* [Overview](/greenlight/v2/overview)
|
||||
* [Admin Guide](/greenlight/v2/admin)
|
||||
* [Customize](/greenlight/v2/customize)
|
||||
* [Configure](/greenlight/v2/config)
|
@ -1,216 +0,0 @@
|
||||
---
|
||||
id: overview
|
||||
slug: /greenlight/v2/overview
|
||||
title: Overview
|
||||
sidebar_position: 1
|
||||
description: Greenlight Overview
|
||||
keywords:
|
||||
- greenlight
|
||||
---
|
||||
|
||||
Greenlight 2.0 (referred hereafter as simply "Greenlight") is a Ruby on Rails application that provides a simple interface for users to create rooms, start meetings, and manage recordings.
|
||||
|
||||
![Greenlight Landing](/img/greenlight/v2/landing.png)
|
||||
|
||||
<center>(the Greenlight home/landing page.)</center>
|
||||
|
||||
For the end users, Greenlight provides:
|
||||
|
||||
* Authentication via Google, Office365, LDAP, or local accounts
|
||||
* A default personal room with a permanent invite URL
|
||||
* The ability to create multiple rooms
|
||||
* An interface to view, manage, and share recordings
|
||||
|
||||
For the developer, Greenlight provides
|
||||
|
||||
* A platform that demonstrates best practices for using the BigBlueButton API
|
||||
* A Ruby on Rails-based application that you can modify and brand
|
||||
|
||||
## Want to try out our demo version?
|
||||
|
||||
We host a public, absolutely free, demo version of Greenlight and BigBlueButton over at [demo.bigbluebutton.org](https://demo.bigbluebutton.org/gl). Here you can create an account and experiment with Greenlight before installing it on your own BigBlueButton server. **Note:** Recordings will only last for 14 days on the public server.
|
||||
|
||||
## Features
|
||||
|
||||
Greenlight is a feature rich application that aims to address all your BigBlueButton users needs. We are constantly expanding Greenlight, and if you have any suggestions, you can open one on the [official Greenlight repo](https://github.com/bigbluebutton/Greenlight).
|
||||
|
||||
As BigBlueButton and Greenlight are open-source projects, we encourage other developers to contribute. If you want to implement a new feature and submit a pull request, you are more than welcome to do so! For information on contributing to BigBlueButton projects, see [Contributing to BigBlueButton](/support/faq#contributing-to-bigbluebutton).
|
||||
|
||||
### Accounts and Profile
|
||||
|
||||
#### Sign up / Login
|
||||
|
||||
Greenlight has full support for managing user accounts. It currently supports four types of user authentication:
|
||||
|
||||
* In-application (Greenlight)
|
||||
* Google OAuth2
|
||||
* Office365 OAuth2
|
||||
* LDAP
|
||||
|
||||
![Greenlight Login](/img/greenlight/v2/login.png)
|
||||
|
||||
All of these authentication providers are configurable and can be turned on/off individually. Turning off In-application authentication will disable user sign up. This allows you to preconfigure accounts for specific users who you want to have access to your server.
|
||||
|
||||
Once you are logged in, you'll see your account appear in the top right corner of the screen. Clicking on the navigation items along side it allows you to traverse Greenlight.
|
||||
|
||||
![Greenlight Nav](/img/greenlight/v2/nav.png)
|
||||
|
||||
#### Profile
|
||||
|
||||
Greenlight also allows users to update their account information at any time, including changing their password, profile image, and language for Greenlight.
|
||||
|
||||
![Greenlight Settings](/img/greenlight/v2/settings.png)
|
||||
|
||||
### Rooms
|
||||
|
||||
#### Using Your Room
|
||||
|
||||
Greenlight is built around the concept of rooms. A room, to the user, is a BigBlueButton session that they "own". A user can add custom room settings, start/stop their room, invite others to their room using a short easily communicable URL, track sessions, and more.
|
||||
|
||||
![Greenlight Room](/img/greenlight/v2/room.png)
|
||||
|
||||
To invite someone to join your room, all you have to do is give them the invite URL on the room page. Once they follow the URL, they'll be presented with an invitation to join your room. If the user doesn't have a Greenlight account, they'll be prompted to enter a name to join the room. Otherwise, Greenlight will use their account name.
|
||||
|
||||
![Greenlight Invitation](/img/greenlight/v2/invitation.png)
|
||||
|
||||
If the room is running, they'll be instantly join in. However, if the room is not running they'll be added to the wait list. Once the room starts, they'll be automatically joined into the room with the owner. A user can leave the wait list simply by leaving the page.
|
||||
|
||||
![Greenlight Waiting](/img/greenlight/v2/waiting.png)
|
||||
|
||||
#### Creating New Rooms
|
||||
|
||||
When you sign up for Greenlight, the application creates your home room which is named "Home Room". You are free to create as many new rooms as you would like for different purposes. To create a new room, you simply click the "Create a Room" block from your list of rooms. You can configure room specific settings to customize each room. To see what each setting does, see [Room Settings](#room-settings)
|
||||
|
||||
![Greenlight Create Room](/img/greenlight/v2/create_room.png)
|
||||
|
||||
Your new room will then show under your current room, and you can click to switch between them. Your home room is the one with the home icon. You can delete a room using the room drop-down.
|
||||
|
||||
![Greenlight Multiple Rooms](/img/greenlight/v2/multiple_rooms.png)
|
||||
|
||||
#### Room Settings
|
||||
|
||||
**Note:** Room setting changes will not apply to currently running/active meetings
|
||||
|
||||
| Setting | Description |
|
||||
|:----------------------------------------- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Generate an optional room access code | Generates an access code that users must enter before they are allowed to join the room. An access code can be randomly generated by clicking the dice icon the left, and can be removed by clicking the garbage icon on the right. |
|
||||
| Mute users when they join | Automatically mutes the user when they join the BigBlueButton meeting |
|
||||
| Require moderator approval before joining | Prompts the moderator of the BigBlueButton meeting when a user tries to join. If the user is approved, they will be able to join the meeting. |
|
||||
| Allow any user to start this meeting | Allows any user to start the meeting. By default, only the Room Owner will join as a moderator. |
|
||||
| All users join as moderators | Gives all users moderator privileges in BigBlueButton when they join the meeting. |
|
||||
| Automatically join me into the room | Automatically joins the user into the room after the room gets created successfully. |
|
||||
|
||||
#### Renaming Rooms
|
||||
|
||||
**Using the header**
|
||||
|
||||
If you hover over the room name, you should see an edit icon
|
||||
|
||||
![Greenlight Room Header Edit Icon](/img/greenlight/v2/room_header_edit_icon.png)
|
||||
|
||||
You can either click the **edit** icon or double click the header to enable **editing mode:**
|
||||
|
||||
![Greenlight Room Header Editing Mode](/img/greenlight/v2/room_header_editing_mode.png)
|
||||
|
||||
Afterwards, you can change the name by clicking anywhere or pressing the enter key.
|
||||
|
||||
**Using the Room block**
|
||||
|
||||
If you look at a Room block, you will see 3 ellipsis which you can click to view the options for this room. You can click **Room Settings** to display a modal that will allow you to edit any of the Room's features.
|
||||
|
||||
Afterwards, clicking **Update Room** will save the changes.
|
||||
|
||||
![Greenlight Room Block Edit Dropdown](/img/greenlight/v2/room_block_edit_dropdown.png)
|
||||
|
||||
![Greenlight Room Block Editing Mode](/img/greenlight/v2/room_block_editing_mode.png)
|
||||
|
||||
#### Manage Access
|
||||
|
||||
In the Room actions dropdown, there is a setting that allows users to share rooms.
|
||||
|
||||
![Greenlight Room Shared Access](/img/greenlight/v2/room_shared_access.png)
|
||||
|
||||
To share a room with another user, click on the dropdown and search for the user using either their **email** or their **uid**.
|
||||
|
||||
![Greenlight Room Shared Modal](/img/greenlight/v2/room_shared_access_modal.png)
|
||||
|
||||
Once you click on a user to add, they will be added to the Shared With area in a pending state. No changes will be made unless the **Save Changes** button is clicked.
|
||||
|
||||
![Greenlight Room Shared Pending](/img/greenlight/v2/room_shared_pending.png)
|
||||
|
||||
Users that the room has been shared with will appear in the following state:
|
||||
|
||||
![Greenlight Room Shared Added](/img/greenlight/v2/room_shared.png)
|
||||
|
||||
You can unshare a room with a user by clicking the **x** icon. Again, no changes will be save until the **Save Changes** button is clicked.
|
||||
|
||||
![Greenlight Room Shared Remove](/img/greenlight/v2/room_shared_remove.png)
|
||||
|
||||
Once a room is shared, the users that it is shared with will have access to that room in their Room List. They will be able to view/start the meeting and view the recordings. Note that only the room owner can edit/delete the room and the recordings.
|
||||
|
||||
For the User that has the room shared with them, the room will now appear in their room list with a share icon and the name of the user that shared the room with them.
|
||||
|
||||
![Greenlight Room Shared](/img/greenlight/v2/room_share.png)
|
||||
|
||||
The User also has the option to remove an unwanted shared room from their room list.
|
||||
|
||||
![Greenlight Room Remove Shared](/img/greenlight/v2/room_remove_shared.png)
|
||||
|
||||
### Recordings
|
||||
|
||||
#### Viewing Recordings
|
||||
|
||||
On your room page, all recordings for that room will be listed at the bottom under the recordings subtitle. This table contains information about the recording, as well as its recorded formats. You can click on any of these formats and you'll open the recording in a new tab.
|
||||
|
||||
![Greenlight Recordings](/img/greenlight/v2/recordings.png)
|
||||
|
||||
Each recording has a visibility associated with it, which can be changed by clicking on it in the recordings table. By default, it is set to unlisted.
|
||||
|
||||
**Public**: everyone can view it if they have the room link.
|
||||
|
||||
**Unlisted**: only users who have the recording link can view it.
|
||||
|
||||
#### Managing Recordings
|
||||
|
||||
Using the drop-down in the recordings table, you have the ability to delete a recording or mail a recording to a friend. Keep in mind, emailing an unlisted recording **will** allow the friend access, so if you want a recording to be completely private, don't share the recording link.
|
||||
|
||||
Deleted recordings are **not** recoverable, so be sure when deleting a recording.
|
||||
|
||||
#### Modifying Recordings
|
||||
|
||||
**Renaming Recordings directly using the Recording Title**
|
||||
|
||||
To edit the recording name directly using the title, you can hover over the title and see an edit icon.
|
||||
|
||||
![Greenlight Recording Title Edit Icon](/img/greenlight/v2/recording_title_edit_icon.png)
|
||||
|
||||
You can either click the **edit** icon or double click the title to enable **editing mode:**
|
||||
|
||||
![Greenlight Recording Title Editing Mode](/img/greenlight/v2/recording_title_editing_mode.png)
|
||||
|
||||
Afterwards, you can change the name by clicking anywhere or pressing the enter key.
|
||||
|
||||
#### Sorting and Searching Recordings
|
||||
|
||||
It is possible to **sort** recordings by metrics such as **Name**, **User Number**, and **Length of Recording**.
|
||||
|
||||
This can be done by clicking on the headers of the table (cycles through **ascending**, **descending**, and **no particular order**):
|
||||
|
||||
![Greenlight Recording Sort Asc](/img/greenlight/v2/recording_sort_asc.png)
|
||||
|
||||
![Greenlight Recording Sort Desc](/img/greenlight/v2/recording_sort_desc.png)
|
||||
|
||||
There is also a **live search** that may return any part of the recording name:
|
||||
|
||||
![Greenlight Recording Search](/img/greenlight/v2/recording_search.png)
|
||||
|
||||
**Searching and sorting** can be used in conjunction:
|
||||
|
||||
![Greenlight Recording Filter and Search](/img/greenlight/v2/recording_filter_search.png)
|
||||
|
||||
See also
|
||||
|
||||
* [Install](/greenlight/v2/install)
|
||||
* [Admin Guide](/greenlight/v2/admin)
|
||||
* [Customize](/greenlight/v2/customize)
|
||||
* [Configure](/greenlight/v2/config)
|
@ -993,7 +993,7 @@ The script `bbb-install` now creates these overrides by default.
|
||||
|
||||
### 500 Internal Server Error
|
||||
|
||||
It is most likely an error on GreenLight. Check the log file according to [Troubleshooting Greenlight](/greenlight/v2/install#troubleshooting-greenlight).
|
||||
It is most likely an error on GreenLight. Check the log file according to [Troubleshooting Greenlight](/greenlight/v3/install).
|
||||
|
||||
If this error occurrs on just a small number of PCs accessing a BigBlueButton server within a LAN through a proxy server and you find the description "Error::Unsafe Host Error (x.x.x.x is not a safe host)" (where x.x.x.x is an IP address) in the log file, check if the "Don't use the proxy server for local (intranet) addresses" (in the Windows proxy setting) is ticked.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user