用服务器自建一套无界白板 + 文档协作平台 —— Affine
前段时间团队在用 Notion 写文档、画流程图,越用越觉得卡。
尤其多人同时编辑、网络慢的时候,体验非常一般。
后来朋友推荐了一个开源项目 —— Affine,号称「Notion + Miro 的结合体」。
试了一下,确实不错:支持实时协作、白板、数据库,还有离线模式。
我干脆自己在 莱卡云服务器 上搭了一套,给团队试用。
这篇文章就是部署过程 + 使用体验。
一、为什么是 Affine
Affine 是个全栈开源项目,核心功能包括:
📝 富文本文档编辑;
🧩 无限白板,支持图形、便签、脑图;
🧠 支持多端实时协作(Web、桌面端都有);
🧷 数据本地化存储,可自托管。
最重要的是——长得像 Notion,用起来比它自由。
官方还提供了 Docker 镜像,一条命令就能起。
二、准备环境
我这次用的是:
服务器:莱卡云日本节点 2C4G / 40G SSD / 20Mbps 带宽
系统:Ubuntu 22.04
安装方式:Docker
莱卡云这台日本节点挺稳的,Docker 拉镜像速度很快(Docker Hub 基本秒下),
而且后台可以一键重装系统、做快照备份。
三、安装 Docker
如果是新系统,直接执行:
curl -fsSL https://get.docker.com | bash systemctl enable docker --now
然后确认版本:
docker -v
四、拉取 Affine 镜像
Affine 官方的镜像地址是:
ghcr.io/toeverything/affine-serve:latest
拉取镜像并启动容器:
docker run -d \ --name affine \ -p 3000:3000 \ -v /opt/affine:/data \ ghcr.io/toeverything/affine-serve:latest
解释一下:
-p 3000:3000
暴露端口;/opt/affine
是持久化目录;镜像里自带服务端和前端。
第一次启动可能需要等 1-2 分钟,
我在莱卡云日本节点上全程不到 30 秒。
五、访问测试
浏览器打开:
http://你的服务器IP:3000
第一次加载会自动创建默认空间,
然后就能看到熟悉的 Notion 风格界面。
左边是页面列表,右边是编辑区。
点右上角 “Board” 就能切到无界白板模式,可以画框、连线、拖动文本块,非常顺滑。
六、配置反代和 HTTPS(可选)
如果打算团队用,最好加个域名和 HTTPS。
我用的是 Caddy(因为简单):
/etc/caddy/Caddyfile
affine.example.com { reverse_proxy 127.0.0.1:3000 }
然后:
systemctl restart caddy
Caddy 会自动申请 Let’s Encrypt 证书,全自动化。
七、数据持久化与备份
Affine 的数据都在 /opt/affine
,
可以直接备份整个目录。
如果你用的是莱卡云服务器,后台自带快照功能,
可以设个周期备份,系统崩了也能一键恢复。
八、使用体验
我自己和同事一起在线协作写文档、画白板,体验非常丝滑。
延迟低、同步快,编辑冲突也处理得很好。
测试下来:
同时三人在线写文档无明显延迟;
图片、白板同步即时;
浏览器内存占用比 Notion 小一半;
关掉浏览器重新打开还能自动恢复页面状态。
用一句话形容就是:
开源界的 Notion + Miro 混合体,轻快干净。
九、优化建议
内存少的机器
建议加个 swap,Affine 后端在高并发时占用略高。版本更新
更新命令:docker pull ghcr.io/toeverything/affine-serve:latest docker stop affine && docker rm affine docker run -d ... (同上)
备份策略
直接 tar 整个/opt/affine
或用莱卡云的快照功能即可。
十、总结
Affine 是我用过最像 Notion 的开源协作工具,但比 Notion 更自由。
部署也不复杂,一台云服务器就能跑。