Install BigBlueButton: Step-by-Step for a First-Time Setup
Get a stable BigBlueButton deployment from scratch — covering every key step, critical settings, and the common mistakes that trip up first-time installers. Built for IT administrators, sysadmins, and instructional technology teams who need a reliable server running fast. Installing BigBlueButton for the first time is one of the most rewarding — and most unforgiving — tasks an IT team can take on. Done right, you get a powerful, open-source web conferencing platform purpose-built for education, fully under your control, ready to integrate with Canvas, Moodle, Blackboard, or any LMS that supports LTI. Done wrong, you end up with a server that crashes under load, recordings that never appear, or a TURN configuration that locks out half your users before a session even starts. This guide walks through the complete install BigBlueButton process step by step — from choosing the right Ubuntu server and running the bbb-install script, to configuring Let's Encrypt TLS, setting up a TURN server for WebRTC connectivity, enabling recordings, and verifying that everything works before your first live session. We cover performance tuning, Scalelite load balancing for multi-server clusters, monitoring and alerting, and the most common troubleshooting scenarios that catch first-time installers off guard. Recording on BigBlueButton is one of the platform's most-used features, and getting it right during initial setup saves significant pain later. We explain how to record BigBlueButton meetings from the first session, where to find conference recordings on BigBlueButton, how to access BigBlueButton recordings as an admin, and how to configure recording post-processing so that completed recordings appear reliably for instructors and students inside Canvas or other LMS platforms. Whether you are setting up a pilot server for a department, migrating from a previous installation, or building a production multi-node cluster from scratch, this article gives you a realistic, checklist-driven picture of what the installation actually involves — and where managed hosting can remove the most painful parts of the process entirely. This is not a summary of the official docs. It is a practical, experience-informed guide written for IT professionals and technical administrators who want to understand every decision point, every configuration risk, and every post-install validation step before they commit to a deployment path. Quick Navigation Installing BigBlueButton means deploying the full application stack — web server, media server, recording processor, TURN relay, and all supporting services — onto a Linux (Ubuntu) server that you own or rent. Unlike SaaS conferencing tools, BigBlueButton is self-hosted software: the institution or provider running it is entirely responsible for the server's stability, capacity, security patching, and data management. Hosting responsibilities for a BigBlueButton server include: Key insight: BigBlueButton installation is a one-time event. BigBlueButton hosting is a continuous operational commitment. Underestimating the second is the most common reason first-time deployments fail in production. BigBlueButton is an open-source web conferencing system designed from the ground up for online education. It includes multi-user whiteboards, breakout rooms, polling, shared notes, public and private chat, screen sharing, webcam video, and a fully featured recording and playback system. All of these features run inside the browser via WebRTC — no plugin or installed client required for participants. The platform's strength is also its distinguishing challenge: every audio packet, every video frame, every screen-share stream, and every recording job is processed by the server you install and run. A correctly sized and tuned BigBlueButton server delivers a smooth, low-latency experience. An undersized or misconfigured server delivers frozen video, choppy audio, failed recordings, and frustrated instructors mid-lecture. Peak concurrency is the critical planning variable. During a typical academic week, a university might run 5–10 concurrent sessions at most. During exam week, finals review days, or a campus-wide virtual open day, that number can spike to 60, 80, or 150 simultaneous rooms within minutes. A server sized for average load will fail precisely when you can least afford it. Capacity planning must be done against your realistic peak — not your average. Recording on BigBlueButton adds a significant secondary load: post-processing converts raw session captures into web-playable formats. This is CPU-intensive and runs on the same server as live sessions unless you explicitly separate it. Many first-time installs skip this separation and discover the problem only when recording post-processing begins degrading live sessions during a busy afternoon. For IT teams evaluating whether to install BigBlueButton or use a managed SaaS alternative, the comparison is less about features and more about operational control, data ownership, and total cost of ownership. The table below captures the key differences from an infrastructure and governance perspective. BigBlueButton gives institutions full data sovereignty and purpose-built education features. The trade-off is the installation and operational commitment — which is precisely why managed BigBlueButton hosting exists as an alternative to self-hosting. After completing a first-time install BigBlueButton walkthrough, many institutions revisit the decision to self-host versus use a managed provider. The comparison below covers the dimensions that matter most in a production educational environment. For institutions without a dedicated Linux sysadmin on the team, managed hosting removes every item in the self-hosted column that has historically caused first-time install failures. First-time BigBlueButton installers almost always ask the wrong sizing question: "We have 500 users — what server do we need?" The correct question is: "How many simultaneous BigBlueButton sessions will be active at your busiest moment?" Total user count is irrelevant. Peak concurrency drives every infrastructure decision. Baseline server requirements for a BigBlueButton installation with recording enabled: Common mistake: Using a shared-CPU cloud instance (such as AWS t-series or DigitalOcean Basic droplets) for BigBlueButton. CPU throttling during bursts causes exactly the session degradation and recording failures that make users distrust the platform. Always use dedicated-CPU instances for production. BigBlueButton uses WebRTC — the browser-native real-time communication protocol — for all audio, video, and screen-sharing. This means participants join sessions directly from their browser with no plugin required, but it also means your server must handle the WebRTC media routing, signalling, and relay infrastructure correctly. Getting this wrong is the single most common cause of "it works for me but not for them" audio/video problems after a fresh installation. Post-install WebRTC validation checklist: test audio join from both wired and WiFi connections; test from behind a corporate firewall; confirm TURN relay is used when direct connection fails; verify that webcam video flows in both directions; and confirm screen sharing works in Chrome, Firefox, and Edge before declaring the installation production-ready. Security is not optional in a BigBlueButton deployment used by schools, universities, or any institution handling student data. The following areas must be addressed during and immediately after installation. Review BiggerBluButton's data policies and security commitments: biggerbluebutton.com/terms-and-conditions Recording on BigBlueButton must be explicitly enabled during or after installation — it is not active by default on a vanilla install. Here is the complete step-by-step process to configure and use BigBlueButton recording from your first session. By default, BigBlueButton allows recording but requires it to be enabled per-meeting at the API level. To allow recording from the Greenlight front-end or LTI integration, ensure that recording is set to allowed in your For a full overview of BigBlueButton recording formats and features: biggerbluebutton.com/features Once BigBlueButton is installed and recording is working, the next step for most institutions is connecting it to Canvas via LTI so that recordings appear automatically inside course pages. Canvas BigBlueButton recording access works differently depending on how the integration is configured — here are the three main methods. When BigBlueButton is integrated into Canvas via LTI 1.3 (or 1.1), recordings from LTI-launched sessions are automatically tied to the Canvas course context. After post-processing completes: For sharing a recording from BigBlueButton to Canvas without LTI: For institutions managing large volumes of BigBlueButton canvas recordings across many courses: Can students record Canvas conferences in BigBlueButton? No — by default, only moderators (instructors mapped via LTI role) can initiate recording on BigBlueButton. Students joining via Canvas as Learners/Viewers do not see recording controls. A moderator must explicitly promote a student to the moderator role within the active session to grant them recording access. The following resources from BiggerBluButton will help you scope, configure, and support your BigBlueButton deployment — whether you are installing from scratch or evaluating managed hosting as an alternative. To install BigBlueButton on a fresh Ubuntu 20.04 or 22.04 LTS server, use the official bbb-install.sh script from the BigBlueButton GitHub repository. Run the script with the To record in BigBlueButton, join the session as a moderator (instructor). Click the red circular Record button in the top toolbar — a "Recording" indicator confirms it is active. Only moderators can start recording; students and viewers cannot initiate or stop recordings. To add a recording to a BigBlueButton conference after the session has already started, click the Record button at any point during the meeting. Only content from that click forward will be captured. BigBlueButton recordings are not immediately available after a session ends — they go through post-processing, which typically takes 30 minutes to 2 hours for a 1-hour session. Once processing completes, recordings appear in the Recordings section of Greenlight (the web front-end) or in the Recordings tab of the LTI integration inside Canvas or Moodle. If recordings do not appear, check that the recording was started during the session, that disk space was not exhausted during post-processing, and that the recording's visibility is set to "published." To stop a BigBlueButton recording mid-session without ending the meeting, click the Record button again — this pauses the recording. Clicking it again resumes recording and creates a new recording segment. To end recording entirely, end the meeting using the End Session option. BigBlueButton will automatically stop recording at that point and begin post-processing. Note that stopping and restarting recording creates separate segments, which will appear as separate recording entries once post-processing completes. Downloading recordings from BigBlueButton depends on your server configuration. If the download option is enabled, a Download button or link appears next to each recording in the Recordings section. This generates a downloadable file (typically MP4 or WebM). If no download option appears, your administrator may have disabled it for governance reasons. Administrators can enable recording downloads by configuring the appropriate format flags in the BigBlueButton recording settings. For large-scale download management, use the BigBlueButton recordings API to export and archive recordings programmatically. When BigBlueButton is integrated into Canvas via LTI, recordings from LTI-launched sessions automatically appear in the Recordings tab of the BigBlueButton activity inside the Canvas course — no manual sharing required. To send a BigBlueButton video recording to Canvas manually, copy the recording's playback URL from Greenlight or the admin interface and paste it into a Canvas Page, Announcement, or Module as an external URL. Ensure the recording's visibility is set to "published" on the BigBlueButton server before sharing the link. No — students cannot record Canvas conferences in BigBlueButton by default. Recording controls are only visible to session moderators. Students joining via Canvas LTI are assigned the Viewer/Learner role, which does not include recording permissions. If an instructor wants to grant recording ability to a specific student (for example, a student assistant), the moderator must manually promote that student to the moderator role inside the active BigBlueButton session. The most common first-time BigBlueButton installation mistake is skipping or misconfiguring the TURN server. Without a correctly configured coturn TURN server, users behind strict NAT or institutional firewalls silently fail to connect WebRTC audio and video — even though the session appears to launch normally. The second most common mistake is using a shared or burstable cloud instance instead of a dedicated-CPU server, which causes CPU throttling during active sessions and failed recording post-processing. A close third is not planning for recording disk space before go-live, resulting in full-disk failures that abort recording jobs without any visible error to end users. Get a fully installed, configured, and production-ready BigBlueButton environment — with TURN, TLS, recording storage, monitoring, and LTI integration already handled. Your IT team focuses on education, not server maintenance.
Tutorials & How-To · Article A071Install BigBlueButton: Step-by-Step for a First-Time Setup
What Does It Mean to Install and Host BigBlueButton?
What BigBlueButton Is — and Why the Server Beneath It Defines the Experience
BigBlueButton vs Zoom, Teams, and Google Meet: What Changes When You Self-Host
Criteria BigBlueButton Zoom / Teams Google Meet Education Focus ✅ Purpose-built ⚠️ General purpose ⚠️ General purpose Data Ownership ✅ Full — your server ❌ Vendor cloud ❌ Google servers LTI 1.3 Native ✅ Yes ⚠️ Via third-party ❌ Not native Recording Control ✅ On your server ⚠️ Vendor storage ⚠️ Google Drive Installation Effort High — Linux sysadmin None — SaaS None — SaaS Ongoing Ops Burden High — patching, disk, scaling Low — vendor managed Low — vendor managed Cost at Scale ✅ Predictable ❌ Per-host licensing ⚠️ Workspace tier Self-Hosted vs Managed BigBlueButton: Choosing Your Installation Path
Category Self-Hosted Managed (BiggerBluButton) Install Time 2–8 hours minimum; longer with TURN + SSL debugging Hours — pre-provisioned and tested Let's Encrypt / TLS Manual setup and renewal management Automated — handled by provider TURN Server Separate VM, manual coturn config Included and pre-configured Recording Setup Manual configuration; disk management required Scalable storage with retention policies Scalelite / Clustering Significant additional effort + separate Redis/PostgreSQL Elastic multi-node cluster available Monitoring & Alerts You build and maintain (Prometheus/Grafana or similar) Included infrastructure monitoring + alerting Backup & Restore Manual — you define and test procedures Automated backups with tested restore Security Patching Your responsibility; unpatched servers are common Handled by provider on defined cadence Server Requirements: Why Concurrent Users Is the Only Number That Matters
WebRTC and TURN: The Networking Layer Every BigBlueButton Installer Must Understand
Security, TLS, and Governance for a Production BigBlueButton Installation
TLS / HTTPS
-s flag with your fully qualified domain name. Certificates must be renewed before expiry; Let's Encrypt certificates expire every 90 days. Automate renewal with a cron job or systemd timer and monitor for renewal failures.OS and Application Hardening
sudo apt update && sudo apt upgrade on a defined schedule and test in a staging environment before applying to production.Recording Governance and Retention
How to Enable and Use Recording on BigBlueButton After Installation
Step 1: Enable Recording in bbb-conf
bigbluebutton.yml or passed as record=true in the API create call. Verify by running sudo bbb-conf --check after any configuration change.Step 2: How to Record a BigBlueButton Meeting as a Moderator
Step 3: Recording Post-Processing and Disk Management
/var/bigbluebutton/recording/ — raw, process, publish, and published directories all consume space. A full disk silently aborts recording jobs.post_publish scripts to copy completed recordings to S3-compatible object storage or NFS — this extends your storage capacity without growing the server disk.Recording Best Practices
/var/log/bigbluebutton/ logs regularly or ship them to a log aggregation tool.Canvas BigBlueButton Recording: Making Your Recordings Available to Students in Canvas
Method 1: LTI Integration (Recommended for Canvas)
Method 2: Sharing a Recording Link Manually in Canvas
Method 3: Governed Media Library via API or Post-Publish Script
Recommended Resources for BigBlueButton Installation and Hosting
Frequently Asked Questions: BigBlueButton Installation, Recording, and First-Time Setup
How do I install BigBlueButton for the first time on Ubuntu?
-v flag for your target version, -s for your fully qualified domain name, and -e for your Let's Encrypt email address to automate TLS setup. After installation, run sudo bbb-conf --check to verify all services are running correctly. You will also need to configure a TURN server (coturn) separately and point your BigBlueButton configuration to it for WebRTC connectivity through firewalls.How do you record in BigBlueButton as an instructor?
Where do I find conference recordings on BigBlueButton after a session ends?
How do I stop or end a recording in BigBlueButton?
How do I download a recording from BigBlueButton?
How do I share a BigBlueButton recording with students in Canvas?
Can students record Canvas conferences in BigBlueButton?
What is the most common mistake when installing BigBlueButton for the first time?
Ready to Skip the Hard Parts of BigBlueButton Installation?