Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.

Commit 6bb653d

Browse files
authored
Greenlight v2.5 (#122)
* Greenlight v2.5 * Changed postgres change instructions * Update docker-compose change instructions * Updated install instructions * Fixed psql url * Updated role permissions
1 parent e40cb81 commit 6bb653d

17 files changed

+233
-8
lines changed

_posts/2019-04-15-gl-admin.md

Lines changed: 57 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ Once an account gets banned, the user will be moved to the **Banned** tab.
102102

103103
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.
104104

105+
### Merging User Accounts
106+
107+
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**.
108+
109+
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**.
110+
111+
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.
112+
113+
![Greenlight Administrator Merge](/images/greenlight/admin_merge.png)
114+
115+
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.
116+
105117
### Editing Accounts
106118

107119
To edit an account, select Edit for the specified user. This will open the edit user view.
@@ -126,6 +138,35 @@ If the user has forgotten their password, the Administrator can send them an ema
126138

127139
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.
128140

141+
## Server Rooms
142+
143+
Through the Server Rooms tab, Administrators are able to view all of the Greenlight rooms that have been created.
144+
145+
![Greenlight Administrator Server Rooms](/images/greenlight/admin_server_rooms.png)
146+
147+
### Options
148+
149+
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.
150+
151+
| Tab | Description |
152+
|:-----------------------|:------------|
153+
| View | Allows the administrator to join the room in the same way that anyother user joins the room. |
154+
| Start | Allows the administrator to manually start and join the room, even if it is not already running. |
155+
| Room Settings | Allows the administrator to make changes to the room settings. |
156+
| Delete | Allows the administrator to manually delete an unwanted room. **Home Rooms can not be deleted** |
157+
158+
![Greenlight Administrator Server Rooms Options](/images/greenlight/admin_server_rooms_options.png)
159+
160+
### Search
161+
162+
The search box can be used to filter based on the **Name**, **Owner**, or **Id** of any room.
163+
164+
### Sort
165+
166+
It is possible to sort rooms by metrics such as **Name**, **Owner**, or **Id**.
167+
168+
This can be done by clicking on the headers of the table (cycles through ascending, descending, and no particular order):
169+
129170
## Server Recordings
130171

131172
Through the Server Recordings tab, Administrators are able to view all of the recordings that exist on their BigBlueButton server.
@@ -225,6 +266,14 @@ By default, users that are not signed in can join any Room that has been started
225266

226267
![Greenlight Administrator Room Authentication](/images/greenlight/admin_room_auth.png)
227268

269+
### Allow Users to Share Rooms
270+
271+
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**.
272+
273+
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).
274+
275+
![Greenlight Administrator Share Access](/images/greenlight/admin_share_access.png)
276+
228277
### Recording Default Visibility
229278

230279
Sets the default visibility of room recordings.
@@ -278,13 +327,14 @@ Administrators are also able to update the permissions for the role. The followi
278327

279328
| Permission | Description |
280329
|:-----------------------|:------------|
281-
| Can create rooms | This determines whether or not users with this role are able to create their own Greenlight rooms. |
282-
| 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 |
283-
| 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 |
284-
| Allow users with this role to edit site settings | This allows users to access the Server Recordings and Site Settings tabs as if they were administrators |
285-
| Allow users with this role to edit other roles | This allows users to access the Roles tab as if they were administrators |
286-
| Allow users with this role to manage other users | This allows users to access the Manage Users tab as if they were administrators |
287-
330+
| Can create rooms | This determines whether or not users with this role are able to create their own Greenlight rooms. |
331+
| Allow users with this role to manage other users | This allows users to access the Manage Users tab as if they were administrators |
332+
| 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 |
333+
| Allow users with this role to edit site settings | This allows users to access the Site Setting tabs as if they were administrators |
334+
| Allow users with this role to edit other roles | This allows users to access the Roles tab as if they were administrators |
335+
| Include users with this role in the dropdown for sharing rooms | This includes the user in the dropdown for sharing rooms |
336+
| 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 |
337+
| 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 |
288338

289339
**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.
290340

_posts/2019-04-15-gl-config.md

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,144 @@ If you are **not** deploying Greenlight on a BigBlueButton server and want the a
2727

2828
You can now setup branding for Greenlight through its [Administrator Interface](gl-admin.html#site-branding).
2929

30+
## Use PostgreSQL instead of SQLite
31+
32+
Greenlight can be set to use either a local in-memory SQLite database or a production-ready PostgreSQL database.
33+
34+
For any new installs, Greenlight is configured to use PostgreSQL by default.
35+
36+
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.
37+
38+
### Converting SQLite database to PostgreSQL without losing data
39+
40+
It is possible to convert an existing SQLite database to PostgreSQL without losing any of your data.
41+
42+
You'll need to generate a random password that will be used in 3 different instances. Generate one by running
43+
```bash
44+
openssl rand -hex 8
45+
```
46+
For the remainder of these instructions, replace **RANDOM_PASSWORD_REPLACE_ME** with the password that was generated with the command from above
47+
48+
First, ensure you are in your Greenlight directory and that Greenlight is not running
49+
```bash
50+
cd ~/greenlight
51+
docker-compose down
52+
```
53+
54+
Second, replace your `docker-compose.yml` with the new `docker-compose.yml` to include the PostgreSQL container
55+
```bash
56+
docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml
57+
```
58+
59+
Next, edit your `docker-compose.yml` to include your SQLite container (You can use vi, vim, nano or any text editor)
60+
```bash
61+
vim docker-compose.yml
62+
```
63+
64+
There are 3 lines that need to be changed. When making the changes, make sure the spacing remains consistent.
65+
66+
- The first change is removing the `#` before
67+
```yaml
68+
# - ./db/production:/usr/src/app/db/production
69+
```
70+
71+
- The second change is replacing
72+
73+
```yaml
74+
- ./db/production:/var/lib/postgresql/data
75+
```
76+
77+
With
78+
79+
```yaml
80+
- ./db/production-postgres:/var/lib/postgresql/data
81+
```
82+
83+
- The third change is replacing **RANDOM_PASSWORD_REPLACE_ME** with the password you generated in the earlier step
84+
85+
86+
**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.
87+
```
88+
services:
89+
app:
90+
entrypoint: [bin/start]
91+
image: <image name>:release-v2
92+
```
93+
94+
The next step is configuring the `.env` file so that it connects to the PostgreSQL database. Edit your `.env` file
95+
```bash
96+
vim .env
97+
```
98+
and add the following lines to any part of the `.env` file (Making sure to replace the **RANDOM_PASSWORD_REPLACE_ME**)
99+
```
100+
DB_ADAPTER=postgresql
101+
DB_HOST=db
102+
DB_NAME=greenlight_production
103+
DB_USERNAME=postgres
104+
DB_PASSWORD=RANDOM_PASSWORD_REPLACE_ME
105+
```
106+
Next, test your current configuration by running
107+
```bash
108+
docker-compose up -d
109+
```
110+
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)
111+
```bash
112+
ERROR: yaml.parser.ParserError: while parsing a block mapping
113+
in "./docker-compose.yml", line 4, column 3
114+
expected <block end>, but found '<block mapping start>'
115+
in "./docker-compose.yml", line 23, column 4
116+
```
117+
If no errors appear, continue to the next step.
118+
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**)
119+
``` bash
120+
docker exec greenlight-v2 psql "postgresql://postgres:RANDOM_PASSWORD_REPLACE_ME@db:5432" -c 'CREATE DATABASE greenlight_production_new'
121+
```
122+
Assuming that worked successfully, the console should output:
123+
```
124+
CREATE DATABASE
125+
```
126+
Finally, copy the SQLite database and convert it to a PostgreSQL database. (Making sure to replace the **RANDOM_PASSWORD_REPLACE_ME**)
127+
```bash
128+
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
129+
```
130+
Assuming that worked successfully, the console should output:
131+
```
132+
Databases connections successful
133+
Migrations dumped successfully
134+
Tables created
135+
Begin copying data
136+
.
137+
.
138+
.
139+
Database copy finished in 2.741942643 seconds
140+
```
141+
142+
Finally, edit your `.env` file to point at the new database by replacing the line that we added in the earlier step
143+
```
144+
DB_NAME=greenlight_production
145+
```
146+
With:
147+
```
148+
DB_NAME=greenlight_production_new
149+
```
150+
151+
Now, [restart Greenlight](#applying-env-changes) and you should be good to go.
152+
153+
You can verify that everything went smoothly if you are able to sign into the accounts you had made before starting this process.
154+
155+
### Errors after migration
156+
157+
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.
158+
159+
Just remove these lines and restart Greenlight
160+
161+
```
162+
DB_ADAPTER=postgresql
163+
DB_HOST=db
164+
DB_NAME=greenlight_production
165+
DB_USERNAME=postgres
166+
DB_PASSWORD=RANDOM_PASSWORD_REPLACE_ME
167+
```
30168
31169
## User Authentication
32170

_posts/2019-04-15-gl-install.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,12 @@ Next, you should copy the `docker-compose.yml` file from the Greenlight image in
134134
docker run --rm bigbluebutton/greenlight:v2 cat ./docker-compose.yml > docker-compose.yml
135135
```
136136

137-
Once you have this file, from the `~/greenlight` directory, start the application using:
137+
Finally, randomly generate a password for the PostgreSQL databse and replace the entries in the `.env` and `.docker-compose.yml` file with this command
138+
```bash
139+
export pass=$(openssl rand -hex 8); sed -i 's/POSTGRES_PASSWORD=password/POSTGRES_PASSWORD='$pass'/g' docker-compose.yml;sed -i 's/DB_PASSWORD=password/DB_PASSWORD='$pass'/g' .env
140+
```
141+
142+
Once you have completed these steps, from the `~/greenlight` directory, start the application using:
138143

139144
```bash
140145
docker-compose up -d

_posts/2019-04-15-gl-overview.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,38 @@ Afterwards, clicking **Update Room** will save the changes.
125125

126126
![Greenlight Room Block Editing Mode](/images/greenlight/room_block_editing_mode.png)
127127

128+
### Manage Access
129+
130+
In the Room actions dropdown, there is a setting that allows users to share rooms.
131+
132+
![Greenlight Room Shared Access](/images/greenlight/room_shared_access.png)
133+
134+
To share a room with another user, click on the dropdown and search for the user using either their **email** or their **uid**.
135+
136+
![Greenlight Room Shared Modal](/images/greenlight/room_shared_access_modal.png)
137+
138+
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.
139+
140+
![Greenlight Room Shared Pending](/images/greenlight/room_shared_pending.png)
141+
142+
Users that the room has been shared with will appear in the following state:
143+
144+
![Greenlight Room Shared Added](/images/greenlight/room_shared.png)
145+
146+
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.
147+
148+
![Greenlight Room Shared Remove](/images/greenlight/room_shared_remove.png)
149+
150+
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.
151+
152+
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.
153+
154+
![Greenlight Room Shared](/images/greenlight/room_share.png)
155+
156+
The User also has the option to remove an unwanted shared room from their room list.
157+
158+
![Greenlight Room Remove Shared](/images/greenlight/room_remove_shared.png)
159+
128160
## Recordings
129161

130162
### Viewing Recordings
11.3 KB
Loading
9.74 KB
Loading

images/greenlight/admin_merge.png

27.3 KB
Loading
42.5 KB
Loading
28.6 KB
Loading
9.15 KB
Loading

0 commit comments

Comments
 (0)