飞牛NAS部署ONLYOFFICE Docs:把文档、表格和PPT的在线编辑能力放到自己的服务器上
前言
在线文档工具用久以后,真正影响体验的往往不是"能不能打开一个 docx",而是广告、会员限制、格式兼容和文件放在哪里这些长期问题。尤其是已经有NAS的人,如果文档本来就保存在自己的设备上,再把编辑能力也放到本地,会比反复在不同平台之间上传、下载更统一。
这次我在飞牛NAS上部署的是 ONLYOFFICE Docs。它本身更像一套在线文档编辑引擎,可以处理文档、表格、演示文稿和PDF表单,也能继续对接其他存储系统,让文件保存在自己的服务器或NAS里。
前半段先通过Docker启动ONLYOFFICE Docs,再利用官方测试Demo验证文档上传、转换、新建和在线编辑这些基础能力;后半段继续加入cpolar,让原本只能在局域网访问的文档服务可以从其他设备打开。
这类部署和单纯安装一个桌面办公软件也不一样。桌面软件解决的是某一台电脑上的编辑,而ONLYOFFICE Docs更适合承担浏览器里的编辑服务,后续再和NAS里的存储、账号和文件管理系统组合使用。
整篇真正跑的是飞牛NAS → Docker部署ONLYOFFICE Docs → 官方Demo验证在线编辑 → 公网访问这条链。重点不是简单找一个"WPS替代品",而是先把属于自己的在线文档编辑能力搭起来,再决定后续怎么接入网盘和实际文件库。

1.OnlyOffice是什么?
OnlyOffice是一套开源办公套件,分为桌面客户端与文档服务器(ONLYOFFICE Docs)两种主要使用形态,核心能力集中在文档、电子表格、演示文稿、PDF表单编辑以及多人实时协同。
ONLYOFFICE Docs(文档服务器)就是我们刚才 Docker 部署的服务,它本身不是完整网盘,而是一个在线编辑器引擎,基于WOPI协议,可以对接飞牛fnOS、Alist、Nextcloud等存储系统,实现在网盘里直接打开、在线编辑文档,文件保存在你自己的服务器 / NAS 中。
主要特点
-
✅ 无广告、无强制会员:开源版本可以自行部署使用,界面里没有常见的弹窗广告。
-
✅ 格式兼容性强:支持 docx/xlsx/pptx 等常见Office格式,也支持 Markdown、PDF、WPS、HWP 等多种格式的打开与转换。
-
✅ 私有化部署:可以通过 Docker 部署在 Linux 服务器或NAS上,后续再按自己的存储方式进行对接。
-
✅ 多人实时协作:多用户同时编辑同一个文档,支持光标同步、评论、权限管控,适合家庭、小团队内部办公。
-
✅
两种使用形态
- 桌面版:本地软件,离线编辑,适合个人电脑使用;
- 文档服务器(我们部署的):网页端编辑器,给网盘提供在线预览 + 编辑能力。
和WPS、微软Office的区别
- WPS:国内软件,免费版大量广告,高级功能需要会员,文件默认存在厂商云端;
- Office:微软商业软件,收费授权;
- OnlyOffice:开源免费,私有化部署,无广告,侧重网页协同 + 自建存储对接。
注意:官方自带的测试 Demo 仅用来验证服务可用性,不适合生产环境使用,正式使用时需要关闭这个示例页面,对接自己的网盘系统。
2.安装前提条件
2.1ssh远程连接到飞牛
- 开启【SSH服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
在设置--->SSH中开启SSH服务:



2.2验证docker是否开启
使用命令:
shell
docker -v
systemctl status -v
也可以直接在飞牛主页查看(其他机器也是这样的哦~)

3.安装OnlyOffice
一键启动命令(推荐,带持久化存储)
启动容器:
- 参数说明:
-p 80:80:宿主机80端口映射容器80;如果8063被占用改成-p 8092:80,访问地址变为http://IP:8092(端口自定义)JWT_SECRET:自定义密钥,后续对接网盘时需要填写-v:挂载目录,容器删除后文档数据不会丢失--restart always:开机自动启动OnlyOffice服务
shell
docker run -d \
-p 8063:80 \
-e JWT_ENABLED=true \
-e JWT_SECRET=onlyoffice@2026 \
-v /app/onlyoffice/logs:/var/log/onlyoffice \
-v /app/onlyoffice/data:/var/www/onlyoffice/Data \
-v /app/onlyoffice/lib:/var/lib/onlyoffice \
--restart always \
--name onlyoffice \
onlyoffice/documentserver

验证docker状态:
shell
docker ps

验证onlyoffice的日志:
shell
docker logs onlyoffice

部署完成后,在浏览器中输入 http://飞牛IP:8063 就能看到onlyoffice的界面:

4.配置与使用OnlyOffice
4.1 测试Demo
OnlyOffice Document Server(文档服务器)自带的测试Demo页面,我来解释这两行命令、作用以及注意事项。
核心一句话:这个
ds:example是官方内置的简易文档管理示例系统,只用来验证文档服务器能不能正常工作,绝对不能用于正式生产环境。
第一条命令
shell
sudo docker exec 1e2bfd431eee sudo supervisord start ds:example
docker exec 1e2bfd431eee:进入 onlyoffice 容器(1e2bfd431eee是你的容器 ID,每个人不一样,要替换成你自己的)supervisord start ds:example:启动容器内自带的测试示例服务- 执行完之后,橙色按钮【前往测试示例】就可以点开,进入一个极简网页,上传文档,测试在线编辑。
第二条命令
shell
sudo docker exec 1e2bfd431eee sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
为什么官方提示:生产环境一定要禁用
- 这个示例只是Demo,没有权限控制、没有用户登录、没有安全防护,任何人访问链接都可以上传、查看、修改文件。
- 代码没有做安全加固,暴露在公网会有安全风险。
- 它的定位只是用来验证OnlyOffice文档服务是否正常,不是网盘 / 文档管理系统。
什么时候用这个测试示例
✅ 适合:刚部署完OnlyOffice,想快速验证服务是否正常,看看能不能在线打开docx/xlsx。
❌ 不适合:当作正式网盘、对外提供服务。

4.2 使用OnlyOffice
OnlyOffice Docs官方WOPI测试页面,页面左侧提供新建文档、表格、演示文稿、PDF表单以及上传本地文件的功能,还可以切换模拟用户与语言;右侧是欢迎说明,展示了套件支持的海量文件格式,可用来测试在线编辑与多人实时协作,页面附带黄色警告,提示该Demo仅用于测试,不可直接用于生产环境,下方罗列了4 个模拟用户及其对应的文档权限,代表你的OnlyOffice文档服务器已经部署成功。

点击左侧红框标注的「上传文件」后弹出文件上传窗口,正在处理一份md文档,流程分为加载文件、文件转化为OOXML两个步骤,转化完成后可选择编辑、景观、嵌入视图或取消,背景页面依旧保留新建文档功能与测试环境安全提示,直观展示了OnlyOffice上传并转换文档用于在线编辑的过程,代表文档转换服务工作正常。

上传完成后,点击编辑:

就可以编辑我们的文件啦!

左侧红框标注了Create new区域,可新建Document文档、Spreadsheet电子表格、Presentation演示文稿、PDF form PDF表单,还能勾选是否附带示例内容;下方支持上传文件、切换模拟用户名与语言。右侧Your documents列表展示了已存在的两个文档,包含文件名、编辑者、查看者和操作按钮,可进行切换、下载、删除等操作,证明OnlyOffice文档服务已经可以正常新建与管理文档。


ONLYOFFICE搭建完成后,当前页面主要还是在局域网环境里使用。如果希望从公司、手机或其他网络环境继续访问,就还需要给这个本地文档服务增加一个外部入口。
这里继续使用cpolar。ONLYOFFICE负责提供在线文档编辑能力,cpolar负责把本地服务提供给外部网络访问。这样前面的文档服务仍然运行在自己的NAS上,使用入口则不再局限于当前局域网。
后面会先创建随机公网地址进行访问验证,再继续配置固定二级子域名。随机地址适合先测试链路,固定地址则更适合长期保存和重复访问。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
shell
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
shell
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:
- 隧道名称:可自定义,本例使用了:OnlyOffice,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8063
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

7.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是OnlyOffice,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结
这篇真正完成的是ONLYOFFICE Docs从部署到实际编辑的一条基础链路:先在飞牛NAS上通过Docker启动文档服务,再用官方测试Demo验证文档上传、转换、新建和在线编辑这些核心能力。
官方Demo的作用主要是确认ONLYOFFICE Docs本身已经能够正常提供编辑服务。真正长期使用时,它更适合作为文档编辑引擎继续对接自己的网盘或文件存储,而不是把Demo页面直接当成正式文档系统。
后半段加入cpolar以后,变化的是访问范围。原本只能在局域网里打开的ONLYOFFICE页面,可以继续从手机、电脑或其他网络环境访问;固定二级子域名则让长期使用时的入口更方便保存。
如果已经有飞牛NAS或其他长期在线的服务器,这套方案更像是在现有存储基础上补上一层在线Office编辑能力。文件放在哪里、怎样管理由自己的存储方案决定,ONLYOFFICE负责编辑,cpolar负责外部访问入口。