Перейти к содержанию

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-300 version).

  • Privileges: Root access or sudo privileges 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.

  1. Download the Installer: The installation script is retrieved directly from the BigBlueButton GitHub repository:

    curl -o /root/bbb-install.sh https://raw.githubusercontent.com/bigbluebutton/bbb-install/v3.0.x-release/bbb-install.sh
    chmod 755 /root/bbb-install.sh
    

  2. 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).

  3. Service Verification: The installer verifies that the Greenlight service is responding by checking for HTTP status codes 200, 301, or 302 on 127.0.0.1.

  4. 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:

    docker exec greenlight-v3 bundle exec rails runner "command"
    
    Example for user creation verification:
    docker exec greenlight-v3 bundle exec rails runner "puts User.find_by(email: 'admin@example.com').nil?"
    

Proxy Servers and SSL

The deployment utilizes the BigBlueButton installer to configure proxy and SSL settings automatically.

  • SSL Configuration: The -g flag in the installer ensures that Let's Encrypt certificates are generated and configured for the domain bbb<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.sh script is typically re-executed with the -u flag (though not shown in the source, this is the standard procedure for this installer), or the specific version argument -v is 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.1 without 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.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×