Install Greenlight v3
Overview
Greenlight is an open-source, LGPL-3.0 licensed web application that allows organizations to quickly set up a complete web conferencing platform using their existing BigBlueButton server. It is user-friendly for both regular and advanced users.
Greenlight v3, the latest version, is constructed with the cutting-edge versions of Ruby on Rails and React - a robust technology stack adopted by millions of projects and trusted by major corporations worldwide.
Greenlight v3 is equipped with local authentication by default. This means that authentication is managed internally within the platform and does not require any external servers or services. For those who need additional authentication options, Greenlight v3 can be configured to connect to external authentication servers through OpenID Connect. For more information see External Authentication.
There are 2 ways to install Greenlight v3:
- Installing alongside a BigBlueButton Server
- Installing on a Standalone Server
Installing alongside a BigBlueButton Server
bbb-install Script
If your server already contains a BigBlueButton server, or you would like to install a new BigBlueButton server along with Greenlight, please refer to bbb-install script.
To install Greenlight, simply run the bbb-install
command with your chosen configurations, while ensuring that you include -g
option to include Greenlight.
Creating an Admin Account
Once installation is complete, you will need to create an Administrator account to access the administrator panel.
You can do that by running the following command:
docker exec -it greenlight-v3 bundle exec rake admin:create['name','email','password']
You can also run it without any arguments to create the default admin account, which you can then either change the password to, or promote your own account to Administrator and then delete the default account.
docker exec -it greenlight-v3 bundle exec rake admin:create
Installing on a Standalone Server
Greenlight Install Script
If you're installing Greenlight on a standalone server (ie a server that doesn't include BigBlueButton), we've created an install script to simplify the steps required to get Greenlight up and running.
First, create the Greenlight directory for its configuration to live in.
mkdir ~/greenlight && cd ~/greenlight
The Greenlight Install Script provides you with a variety of options to suit whatever needs you have. Before running the install script, you must choose which options you would like. Here are the current supported options:
-s <hostname> Configure server with <hostname> (Required)
-b <hostname>:<secret> The BigBlueButton server credentials (bbb-conf --secret) (Required)
-k Install Keycloak - needed for external authentication (Optional)
-d Skip SSL certificates generation (Required, if -e is omitted).
* Certificate files(fullchain.pem, privkey.pem) to be used must be placed in /local/certs/
* Cannot be used when -e is used.
-e <email> Email for Let's Encrypt certbot (Required, if -d is omitted)
* Cannot be used when -d is used.
Sample Configurations
-
Sample options to setup a Greenlight 3.x server with a publicly signed SSL certificate for a FQDN of www.example.com and an email of info@example.com that uses a BigBlueButton server at bbb.example.com with secret SECRET:
-s www.example.com -e info@example.com -b bbb.example.com:SECRET
-
Sample options to setup a Greenlight 3.x server with pre-owned SSL certificates for a FQDN of www.example.com that uses a BigBlueButton server at bbb.example.com with secret SECRET:
-s www.example.com -b bbb.example.com:SECRET -d
Running the Script
To run the script, simply run the command below, replacing [OPTIONS]
, with the values from above.
wget -qO- https://raw.githubusercontent.com/bigbluebutton/greenlight/master/gl-install.sh | bash -s -- [OPTIONS]
After the script finishes running, a success message will appear in the console, confirming that Greenlight v3 is now accessible at the URL specified during installation.
Creating an Admin Account
Once installation is complete, you will need to create an Administrator account to access the administrator panel.
You can do that by running the following command:
docker exec -it greenlight-v3 bundle exec rake admin:create['name','email','password']
You can also run it without any arguments to create the default admin account, which you can then either change the password to, or promote your own account to Administrator and then delete the default account.
docker exec -it greenlight-v3 bundle exec rake admin:create
Optional .env Configurations
Default Locale Setup
Variable Name | Description | Default Value |
---|---|---|
DEFAULT_LOCALE | The default language for all newly created users. Users will still have the ability to change their language through their profile. | en |
Email Setup
SMTP configuration requires following the guidelines provided by your SMTP server's documentation. The specific configuration details will vary based on the SMTP server you are using. It is important to refer to the relevant documentation in order to properly set up SMTP for your needs.
Variable Name | Description | Default Value |
---|---|---|
SMTP_SERVER | The address of the remote mailing server having an open SMTP service. | - |
SMTP_PORT | The port on which the SMTP service is accessible through on the remote SMTP_SERVER. Usually, it’s 25 TCP for SMTP and 465 TCP for SMTPS. | - |
SMTP_USERNAME | The username of the account to use when authenticating to the SMTP_SERVER. | - |
SMTP_PASSWORD | The password of the account to use when authenticating to the SMTP_SERVER. | - |
SMTP_AUTH | The authentication type to use to authenticate to the SMTP_SERVER: (plain, login, cram_md5). | - |
SMTP_DOMAIN | The domain_name of the SMTP client. Usually, it’s the domain name portion of the SMTP_SENDER_EMAIL FQDN. | - |
SMTP_SENDER_EMAIL | The email sender address that will appear in the FROM section of the emails. | - |
SMTP_SENDER_NAME | The email sender name that will appear in the FROM section of the emails. | - |
SMTP_STARTTLS_AUTO | Automatically chooses between STARTTLS and plain SMTP depending on your SMTP server | true |
SMTP_STARTTLS | Checks if the SMTP_SERVER supports STARTTLS protocol command and uses it to negotiate an upgrade to SMTPS over the initiated unencrypted connection. | false |
SMTP_TLS | Use SMTPS when connecting to the SMTP_SERVER. | false |
SMTP_SSL_VERIFY | Defines whether or not to enable SSL verification on the certificate of the SMTP_SERVER when connecting through SMTPS. | true |
OpenID Connect Setup
Variable Name | Description | Default Value |
---|---|---|
OPENID_CONNECT_CLIENT_ID | The client ID of the OpenID issuer | - |
OPENID_CONNECT_CLIENT_SECRET | The secret to use to authenticate to the OpenID issuer | - |
OPENID_CONNECT_ISSUER | The URL for the OpenID issuer. It is required to be HTTPS URL using the default HTTPS port (TCP 443) | - |
OPENID_CONNECT_REDIRECT | The Redirect URI after successful authentication. It should be the URL to Greenlight | - |
HCaptcha Setup
Variable Name | Description | Default Value |
---|---|---|
HCAPTCHA_SITE_KEY | The site key that links to your hCaptcha site | - |
HCAPTCHA_SECRET_KEY | The secret to use to authenticate with hCaptcha | - |