BigBlueButton-Docker部署

BigBlueButton 通过 Docker 部署的完整流程与配置说明

#tech / dev / library #type / howto #status / growing

BigBlueButton Docker 部署

[!info] related notes

目标

使用 Docker 部署 BigBlueButton(BBB)开源视频会议系统,支持实时音视频、屏幕共享、白板、录制等功能。

前置条件

  • 服务器配置:最低 4 核 CPU、8GB RAM(推荐 8 核 16GB+,支持 50+ 用户)
  • 操作系统:Ubuntu 22.04 LTS(官方推荐)
  • 域名:一个已解析到服务器的域名(如 bbb.example.com
  • SSL 证书:BBB 要求 HTTPS(可用 Let’s Encrypt 自动获取)
  • 开放端口
    • 80/443(HTTP/HTTPS)
    • 16384-32768/UDP(WebRTC 媒体流)
    • 1935(RTMP,可选)
  • Docker 20.10+ 和 Docker Compose v2

部署方式

方式一:bbb-install 脚本(官方推荐)

# 安装 Docker 版 BBB(-d 表示 Docker 模式)
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | sudo bash -s -- \
  -v jammy-300 \
  -s bbb.example.com \
  -e admin@example.com \
  -d

参数说明:

  • -v jammy-300:BBB 3.0 版本,基于 Ubuntu Jammy
  • -s:域名
  • -e:Let’s Encrypt 证书通知邮箱
  • -d:Docker 模式

方式二:docker-compose 手动部署

# 克隆官方 Docker 仓库
git clone https://github.com/bigbluebutton/docker.git bbb-docker
cd bbb-docker

# 复制示例配置
cp docker-compose.yml.example docker-compose.yml
cp .env.example .env

# 编辑 .env 配置
# 设置 DOMAIN、SECRET、TURN 服务器等

# 启动
docker compose up -d

方式三:社区维护的简化版

bigbluebutton/docker 提供了更易用的 Docker Compose 配置。

关键配置

录制功能

BBB 支持录制会议,配置要点:

# .env 中启用录制
ENABLE_RECORDING=true
RECORDING_DIR=/var/bigbluebutton/recordings

录制文件格式:

  • presentation:幻灯片 + 音视频(默认)
  • screenshare:屏幕共享
  • video:网络摄像头

屏幕共享

默认已启用,确保防火墙放行 UDP 端口范围 16384-32768。

TURN 服务器(NAT 穿透)

如果用户在防火墙/NAT 后面,需要配置 TURN 服务器:

# .env
TURN_SERVER=turn.example.com
TURN_SECRET=your_turn_secret

端口要求

端口协议用途
80TCPHTTP(重定向到 HTTPS)
443TCPHTTPS(Web 界面)
16384-32768UDPWebRTC 音视频流
1935TCPRTMP(可选)

验证

  • docker compose ps 所有容器状态为 running
  • 浏览器访问 https://bbb.example.com 能看到 BBB 登录页面
  • 创建一个测试会议,能正常进入音视频
  • 屏幕共享功能正常
  • 录制功能正常(如已启用)
  • bbb-conf --check 输出无错误

常见问题

Q: 安装后无法访问? A: 检查防火墙/安全组是否放行了 80、443 和 UDP 16384-32768 端口。云服务器需要在控制台配置安全组规则。

Q: 音视频卡顿或连不上? A: 大概率是 TURN 服务器问题或 UDP 端口未开放。部署 coturn 作为 TURN 服务器:apt install coturn

Q: 如何升级 BBB 版本? A: Docker 方式:cd bbb-docker && git pull && docker compose pull && docker compose up -d。注意备份配置和数据。

Q: 录制文件在哪里? A: 默认路径 /var/bigbluebutton/recordings/,可通过 BBB 的 API 或 Greenlight 界面下载。

Q: Docker 部署和裸机部署有什么区别? A: Docker 部署更易管理和升级,隔离性好。裸机部署性能略高(无容器开销),但升级和迁移困难。推荐 Docker 方式。

创建于 2025/1/1 更新于 2026/5/27