开源在线协作白板 WBO,NAS 上 Docker 一条编排部署,内网穿透远程多人同时画
作者
小编
发布时间

这个项目是干嘛的
WBO(仓库名 whitebophir)是一个开源的在线协作白板。打开就能画,铅笔、直线、矩形、椭圆、文本、橡皮、移动、网格、缩放都在左边一条工具栏上,一共十来个工具。
它最关键的一点是:白板的地址就是入口。你把链接发给谁,谁点开就能进同一块板子一起画,两边的笔画实时同步,人走了内容也还在,都存在服务端。整个过程不需要注册账号、不需要装客户端。
装在自己的 NAS 上,画的东西就都在自己盘里 —— 上课讲题、给同事比划一个流程、跟家里人一起排个日程表,都用得上。
部署安装
下面这套是我自己在飞牛 NAS 上跑通的。家里宽带如果没有公网 IP,先准备好内网穿透 —— 我用的是 帕斯内网穿透,等容器起来之后把端口开放到公网,外面的人才打得开你的白板。
编排文件
在 NAS 上新建一个空文件夹,Docker 应用里切到 Compose 标签、点新增项目,路径选这个空文件夹,来源选「创建 docker-compose 文件」,把下面这段整段贴进去。
1services:2 wbo:3 image: lovasoa/wbo:latest4 container_name: wbo5 ports:6 # 左边 3029 是 NAS 上的端口,右边 80 是容器里的,别写反7 - "3029:80"8 volumes:9 # 画的东西都存在这个目录里,跟着 NAS 一起备份就行10 - ./boards:/opt/app/server-data11 restart: unless-stopped
要认的就三处:
一是镜像 lovasoa/wbo:latest —— 上游文档给的就是 latest,跟着它走就行。
二是端口 3029:80。冒号左边 3029 是 NAS 上对外的端口,可以换成你自己没被占用的;右边的 80 是容器里的端口,不要改。这个 3029 待会儿建隧道要填。
三是 ./boards:/opt/app/server-data。白板画的内容都落在这个 boards 目录里,跟着 NAS 一起备份就行。上游用的也是这种绑定挂载,不是具名卷,删起来方便。
勾上「创建后立即启动」再点创建。容器很轻,实测常驻内存只有三十几 MB,起来大概二十秒端口就通了。
让外面的人也能打开
白板这东西不发给别人就没有意义,所以这一步是必须的。在 NAS 的应用中心装上 PassNAT 插件,打开插件直接建隧道:协议选 TCP,本地地址留默认的 127.0.0.1 不用动,端口填上面那个 3029。
建好之后按一下电源,面板上就会给出一个公网地址。之后开白板、发链接,用的都是这个地址。
怎么用
首页上有三种板子:公共白板是所有人都能进的,随便画;「创建私人白板」会给你一块随机名字的板子,只有拿到链接的人能进;第三种是可以自己起名字的私有板,地址就是 /boards/ 加上你起的名字,好记也好发。
起个名字点「打开」,一块空白板子就出来了。左边挑工具画几笔,再把这个地址发给另一个人 —— 他打开看到的就是你刚画的,你继续画他那边跟着动。
顺带一提,板子的私密性靠的是「链接猜不到」,不是账号密码。所以真要放不方便给人看的东西,名字就别起得太好猜。