mconf/bbb-app-rooms本文档提供在本地环境部署Rooms工具和LTI-Broker应用,并配置与Moodle等学习管理系统(LMS)集成的详细步骤,包括环境准备、仓库配置、数据库设置、Nginx部署及LMS集成流程。
适用于需要在本地环境中部署Rooms工具和LTI-Broker,并将其与学习管理系统集成的开发者、系统管理员或教育机构技术人员。
在开始部署前,需确保本地环境已满足以下条件:
克隆Rooms和LTI-Broker的代码仓库:
bashgit clone [***] git clone [***]
进入Rooms应用目录并配置环境变量:
bashcd bbb-app-rooms cp dotenv .env sudo vi .env # 使用文本编辑器编辑.env文件
编辑以下必要变量值:
## 应用配置 # 运行openssl rand -hex 32生成密钥 SECRET_KEY_BASE= RELATIVE_URL_ROOT=apps ## 数据库配置 # DB_ADAPTER=[postgresql] # DB_HOST=<localhost> # DB_NAME= # DB_USERNAME=<root> # DB_PASSWORD= # BigBlueButton配置 BIGBLUEBUTTON_ENDPOINT=[***]<your-name>.blindside-dev.com/bigbluebutton/api BIGBLUEBUTTON_SECRET=<服务器密钥> BIGBLUEBUTTON_MODERATOR_ROLES=Instructor,Faculty,Teacher,Mentor,Administrator,Admin # BigBlueButton LTI Broker配置 OMNIAUTH_BBBLTIBROKER_SITE=[***]<JOHN>.blindside-dev.com OMNIAUTH_BBBLTIBROKER_ROOT=lti # 需与添加到Broker时的参数匹配 # rake db:apps:add[rooms,key,secret,[***]<JOHN>.blindside-dev.com/apps/rooms/auth/bbbltibroker/callback] OMNIAUTH_BBBLTIBROKER_KEY=<自定义key> OMNIAUTH_BBBLTIBROKER_SECRET=<自定义secret> ## 设置域名(必填) URL_HOST=lti.<JOHN>.blindside-dev.com ## 日志输出到标准输出(可选) RAILS_LOG_TO_STDOUT=true ## 通过应用提供静态资源(当前必填) RAILS_SERVE_STATIC_FILES=true ## 启用开发环境特性(可选) # RAILS_ENV=production
进入LTI-Broker目录并配置环境变量:
bashcd ~/bbb-lti-broker cp dotenv .env sudo vi .env # 使用文本编辑器编辑.env文件
配置内容:
POSTGRES_PASSWORD=<PostgreSQL数据库密码> POSTGRES_USER=postgres # 创建Rails密钥 # 可通过Greenlight Docker镜像生成: # docker run --rm bigbluebutton/greenlight:v2 bundle exec rake secret SECRET_KEY_BASE= # 应用配置 RELATIVE_URL_ROOT=lti # LTI工具配置 # DEFAULT_LTI_TOOL=rooms # DEVELOPER_MODE_ENABLED=true # WHITELIST_HOST=broker.example.com ## 设置域名(必填) URL_HOST=lti.<JOHN>.blindside-dev.com ## 连接外部PostgreSQL实例(可选) # DATABASE_URL=postgres://postgres:password@localhost ## 日志输出到标准输出(可选) RAILS_LOG_TO_STDOUT=true ## 通过应用提供静态资源(当前必填) RAILS_SERVE_STATIC_FILES=true ## 启用开发环境特性(可选) # RAILS_ENV=development
为两个应用创建并迁移数据库:
bash# 在Rooms应用目录执行 cd ~/bbb-app-rooms rake db:create db:migrate db:seed # 在LTI-Broker目录执行 cd ~/bbb-lti-broker rake db:create db:migrate db:seed
使用Rooms环境变量中配置的OMNIAUTH_BBBLTIBROKER_KEY和OMNIAUTH_BBBLTIBROKER_SECRET执行以下命令:
bashcd ~/bbb-lti-broker rake db:apps:add[rooms,[***]<JOHN>.blindside-dev.com/apps/rooms/auth/bbbltibroker/callback,<key>,<secret>] # 添加密钥到密钥集 rake db:keys:add[<key>:<secret>]
编辑Nginx配置文件:
bashsudo vim /etc/nginx/conf.d/default.conf
使用Nginx配置模板替换文件内容,保存后重启Nginx:
bashsudo systemctl restart nginx
分别启动Rooms和LTI-Broker应用:
bash# 启动Rooms(端口3012) cd ~/bbb-app-rooms rails s -b 0.0.0.0 -p 3012 # 启动LTI-Broker(端口3011) cd ~/bbb-lti-broker rails s -b 0.0.0.0 -p 3011
lti.<JOHN>.blindside-dev.com/lti[***]<JOHN>.blindside-dev.com/lti/default/xml_configdefault替换为rooms,刷新页面:[***]<JOHN>.blindside-dev.com/lti/rooms/xml_configsecure_launch_urlconsumer_key和shared_secret对应Rooms环境变量中的OMNIAUTH_BBBLTIBROKER_KEY和OMNIAUTH_BBBLTIBROKER_SECRET启动时支持以下自定义参数控制会议行为:
| 参数 | 说明 |
|---|---|
custom_recording | 设置为true时默认勾选"录制"选项;不设置则使用默认值 |
custom_all_moderators | 设置为true时默认勾选"所有用户为主持人"选项;不设置则使用默认值 |
custom_wait_moderator | 设置为true时默认勾选"等候主持人"选项;不设置则使用默认值 |
custom_allow_all_moderators | 设置为true允许用户切换"所有用户为主持人"选项;设为其他值隐藏该选项;不设置则显示 |
custom_allow_wait_moderator | 设置为true允许用户切换"等候主持人"选项;设为其他值隐藏该选项;不设置则显示 |
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务