> ## Documentation Index
> Fetch the complete documentation index at: https://bigbluebutton.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-hosted

If you'd rather run your own BigBlueButton server than use the free tier or a commercial provider, you [install BigBlueButton](https://docs.bigbluebutton.org/administration/lti/) separately and then point Open edX at it as a self-hosted LTI provider. This gives you full control over capacity, data residency, and recording retention, at the cost of running and maintaining the server yourself.

**1. Provision a server.** BigBlueButton is installed on a clean, dedicated Ubuntu 22.04 64-bit server. For production, the recommended minimums are 16 GB memory, 8 CPU cores with strong single-thread performance, 500 GB free disk space (less if recordings are disabled), a public hostname for an SSL certificate, and TCP ports 80/443 plus a UDP range open for media traffic. Smaller specs (4 cores/8 GB) are fine for development or small pilots. The server must not run another web server or reverse proxy on ports 80/443, since BigBlueButton needs a valid SSL certificate for browsers to allow webcam and microphone access.

**2. Install BigBlueButton.** Run the official `bbb-install.sh` script from the BigBlueButton project, which installs the core BigBlueButton components (and optionally Greenlight, a front end, and the LTI tools) in one pass. After installation, `sudo bbb-conf --check` and `sudo bbb-conf --status` confirm the server and its services are healthy. `sudo bbb-conf --secret` returns the server URL and shared secret you'll need for the Open edX side.

**3. Install the LTI components.** BigBlueButton connects to Open edX (and other LTI-compliant platforms like Desire2Learn or Blackboard) through two additional components: `bbb-lti-broker`, which handles incoming LTI launch requests, and `bbb-apps-room`, which renders the classroom interface for instructors and students. Passing the `-t <key>:<secret>` option to `bbb-install.sh` installs both and registers an LTI consumer key/secret pair in one step. Once installed, the LTI launch URL is available at `https://<your-hostname>/lti`, and you can verify it with a tool like the TSUGI LTI test page before connecting it to a course.

**4. Connect it to Open edX.** In Studio, enable the Live app for your course (see "The Live app" above), select "Commercial/self-hosted" from the "Select a plan" dropdown for BigBlueButton, and enter the LTI launch URL, key, and secret from your server. Save, and BigBlueButton will appear in the course's "Live" tab.

**5. Maintain the server.** Ongoing responsibilities include applying BigBlueButton updates by re-running `bbb-install.sh`, monitoring disk space for recordings, configuring a firewall and, if needed, a TURN server for users behind restrictive networks, and renewing your SSL certificate. Larger deployments serving many courses or a full institution often move to an Ansible-based or Scalelite cluster setup rather than a single server, for easier scaling and consistent configuration across machines.

Self-hosting is a good fit if you have the systems administration capacity to run and patch a dedicated server, need full control over recordings and data, or expect usage beyond what the free tier's 60-minute/25-participant limits allow. If you'd rather not manage a server, a commercial hosting provider or your Open edX hosting partner can typically deploy and maintain BigBlueButton for you on the same LTI connection.
