WBO 是一款在线协作白板,允许多名用户在大型虚拟画板上同时绘图。所有连接的用户都能实时看到画板更新,且画板状态始终保持持久化。它可用于多种场景,包括艺术创作\、娱乐、设计和教学等。
演示服务器地址:wbo.ophir.dev
| ***画板 | | 协作图表编辑 | |
| 在WBO上教授数学 | | 绘画创作 | |
如果您拥有自己的Web服务器,并希望在其上运行私有WBO实例,操作非常简单。
如果您使用docker容器化服务,可以轻松将WBO作为容器运行。Docker Hub上托管了WBO的镜像lovasoa/wbo:/wbo-boards:/opt/app/server-data" lovasoa/wbo:latest # 运行WBO
之后,您可以通过http://localhost:5001访问WBO。
或者,您也可以直接使用node.js运行代码,无需Docker。
首先,下载源代码:
git clone [***] cd whitebophir
然后,如果尚未安装node.js(v10.0或更高版本),请先安装,接着安装WBO的依赖:
npm install --production
最后,启动服务器:
PORT=5001 npm start
这将在您的机器上直接运行WBO,端口为5001,与其他服务没有隔离。您也可以使用如下命令:
PORT=5001 HOST=127.0.0.1 npm start
使whitebophir仅监听回环设备。如果您想将whitebophir置于反向代理之后,这会很有用。
默认情况下,WBO会启动自己的Web服务器,并在服务器根路径(/)提供所有内容。如果您希望通过不同路径(如[***])访问服务器,需要设置反向代理。有关如何为WBO设置反向代理的说明,请参阅我们Wiki上的WBO反向代理设置。
WBO支持多种语言。翻译文件存储在server/translations.json中。如果您想为这个协作项目做贡献,可以将WBO翻译成您的母语。
WBO支持使用Json Web Tokens进行身份验证。应通过查询参数token传递,例如[***]{token}。
configuration.js中的AUTH_SECRET_KEY变量应填入JWT的密钥。
在负载中,您可以将用户角色声明为数组。当前接受的角色仅有moderator(管理员)和editor(编辑者)。
moderator:赋予用户清除画板所有数据的额外工具。声明此角色的示例如下。editor:赋予用户编辑画板的能力。这是所有用户的默认角色。json{ "iat": ***, "exp": ***, "roles": ["moderator"] }
管理员可以使用"清除"工具,该工具会擦除画板上的所有内容。
WBO支持通过JWT验证画板名称。
要检查有效的画板名称,只需在角色中添加带有冒号的画板名称。这样您可以为特定画板设置管理员。
json{ "roles": ["moderator:<boardName1>","moderator:<boardName2>","editor:<boardName3>","editor:<boardName4>"] }
例如,[***]{token}
json{ "iat": ***, "exp": ***, "roles": ["moderator:mySecretBoardName"] }
现在,您可以确保只有拥有正确令牌的用户才能访问具有特定名称的画板。
启动WBO服务器时,它会从多个环境变量加载配置。您可以在configuration.js中查看这些变量的列表。一些重要的环境变量包括:
WBO_HISTORY_DIR:配置存储画板的目录。默认为./server-data/。WBO_MAX_EMIT_COUNT:客户端在单位时间内可发送的最大消息数。如果您希望绘图更流畅,可以增加此值,但如果服务器处理能力不足,可能更容易受到拒绝服务***。默认单位为每4秒的消息数,默认值为192。AUTH_SECRET_KEY:如果您想使用JWT对画板进行身份验证,此变量用于声明密钥。如果您在使用WBO时遇到问题或想提出新功能,请提交GitHub issue。
如果您自行托管WBO实例,可能需要监控其负载、连接用户数和其他各种指标。
您可以通过STATSD_URL环境变量启动WBO,将指标发送到兼容statsd的指标收集代理。
示例:docker run -e STATSD_URL=udp://127.0.0.1:8125 lovasoa/wbo。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速