Deployment Overview of BigBlueButton on Server¶
Prerequisites and Basic Requirements¶
To successfully deploy BigBlueButton, the following requirements must be met on the target server:
-
Operating System: Ubuntu (compatible with the
jammy-300version). -
Privileges: Root access or
sudoprivileges are required to execute the installation script. -
Environment Variables: The system must be configured to handle non-interactive prompts (
DEBIAN_FRONTEND=noninteractive) and UTF-8 locale (LANG=C.UTF-8). -
Internet Connectivity: The server must have access to download the installation script from the BigBlueButton GitHub repository.
FQDN of the Final Panel¶
The fully qualified domain name (FQDN) for the BigBlueButton instance follows the specific subdomain pattern on the hostkey.in zone. The access URL is constructed using the prefix bbb and the specific server_id.
-
Domain Zone:
hostkey.in -
Subdomain Prefix:
bbb -
Format:
bbb<Server ID>.hostkey.in -
Protocol: HTTPS
-
Final URL:
https://bbb<Server ID>.hostkey.in
For example, if the server ID is 101, the address is https://bbb101.hostkey.in.
Application Installation Process¶
The application is installed using the official BigBlueButton installer script. The process involves downloading the script and executing it with specific arguments tailored to the server configuration.
-
Download the Installer: The installation script is retrieved directly from the BigBlueButton GitHub repository:
-
Execute the Installation: Run the installer with the version, domain, email, and specific flags to accept warnings and generate SSL certificates automatically:
/root/bbb-install.sh -v jammy-300 -s bbb<Server ID>.hostkey.in -e info@bbb<Server ID>.hostkey.in -w -g-
-v jammy-300: Specifies the BigBlueButton version compatible with Ubuntu Jammy. -
-s: Defines the server domain. -
-e: Sets the contact email address. -
-w: Waits for the Greenlight service to be ready. -
-g: Installs Greenlight (the web interface).
-
-
Service Verification: The installer verifies that the Greenlight service is responding by checking for HTTP status codes
200,301, or302on127.0.0.1. -
Admin User Creation: An administrator account is created with the following credentials if it does not already exist:
-
Email:
admin@example.com -
Role: Administrator
-
Password: The system password used for SSH access (
ansible_ssh_pass). -
Status: Verified.
-
Docker Containers and Their Deployment¶
BigBlueButton and Greenlight are deployed as Docker containers managed by the installation script.
-
Greenlight Container: The container is identified by the name
greenlight-v3. -
Management Commands: Administrative tasks within the container, such as database migrations or user management, are executed using:
Example for user creation verification:
Proxy Servers and SSL¶
The deployment utilizes the BigBlueButton installer to configure proxy and SSL settings automatically.
-
SSL Configuration: The
-gflag in the installer ensures that Let's Encrypt certificates are generated and configured for the domainbbb<Server ID>.hostkey.in. -
Access: All traffic is routed over HTTPS.
-
Customization: No manual configuration of Nginx or Traefik is performed; the installer handles the web server proxying for the Greenlight frontend and the BigBlueButton backend.
Starting, Stopping, and Updating¶
While the specific systemctl commands are not explicitly listed in the provided configuration, the services are managed as standard system services and Docker containers.
-
Service Status: The installation process waits for the services to become responsive.
-
Updates: To update the system to a new version, the
bbb-install.shscript is typically re-executed with the-uflag (though not shown in the source, this is the standard procedure for this installer), or the specific version argument-vis changed to the desired release. -
Reboot: Services are expected to start automatically upon system reboot.
Available Ports for Connection¶
The deployment is configured to be accessed via standard web ports over HTTPS.
-
Port:
443(HTTPS) -
Local Access: The verification script checks
127.0.0.1without specifying a port, implying the default HTTPS port is used for the internal health check. -
Internal Ports: Internal BigBlueButton ports (e.g., 8887, 10000) are not exposed in the configuration provided; access is strictly through the domain name on the standard web port.
Location of Configuration Files and Data¶
-
Installer Script Location:
/root/bbb-install.sh -
Domain Configuration: Defined in the deployment variables as
bbb<Server ID>.hostkey.in. -
Email Configuration: Set to
info@bbb<Server ID>.hostkey.in. -
Data Storage: As this is a Docker-based deployment, application data, databases, and configurations are stored within Docker volumes and containers managed by the BigBlueButton installation framework, typically under
/var/lib/bigbluebutton/and related Docker data directories, though explicit paths for configuration files are not detailed in the provided snippets.