OnlyOffice:在浏览器里打开 Word 和 Excel,文件不离开 NAS
在线编辑 docx、xlsx、pptx,兼容性接近桌面版 Office。配合网盘用,等于自己搭了一套在线 Office。
NAS 上放了一堆文档,想改一个字段,要么下载到本地改完再传回去,要么用手机上的 WPS 打开(格式常乱)。
OnlyOffice 解决"在浏览器里直接用 Office 格式编辑"这件事。它理解 docx/xlsx/pptx 的格式,不是"导入再导出",是原生编辑。
装
services:
onlyoffice:
image: onlyoffice/documentserver:latest
container_name: onlyoffice
ports: ["8085:80"]
volumes:
- ./onlyoffice/data:/var/www/onlyoffice/Data
- ./onlyoffice/logs:/var/log/onlyoffice
environment:
- JWT_ENABLED=true
- JWT_SECRET=换成一串你自己的长字符串
restart: unless-stopped
打开 http://NAS地址:8085,看到欢迎页说明服务起来了。
注意:它不能单独用。你需要一个"前端"——网盘系统(Nextcloud、Cloudreve、Seafile)或者文件管理器,由它们调它的编辑接口。
三种常见的接法
一、配 Nextcloud
装 Nextcloud 的 “ONLYOFFICE” 连接器,填文档服务器地址和 JWT 密钥。之后在 Nextcloud 里点 docx 就能编辑。
二、配 Seafile
Seafile 专业版内置支持,社区版要手动配。文档服务器地址填进去即可。
三、自己接 API
它的编辑接口是标准的:给一个文件 URL 和一个回调 URL,它生成一个编辑页面。适合自己写前端。
资源占用:先说清楚
这是本文里最重的一个:
- 内存:2 GB 起步,4 GB 舒服(它跑着 Node、Postgres、RabbitMQ、Redis 一堆组件)
- 磁盘:镜像 2–3 GB,转换缓存还会涨
- 首次打开文档慢(要转换格式)
4 GB 内存的 NAS 装它,别的服务基本没得跑了。装之前掂量一下。
支持哪些格式
- 文字:docx、odt、rtf、txt、pdf(只读)
- 表格:xlsx、ods、csv
- 演示:pptx、odp
兼容性:复杂的排版(分栏、文本框、特殊字体)会有细微差异,但日常的公文、报表、表格公式基本没问题。
没有的:VBA 宏、部分高级图表、外部数据源。要这些还是得桌面版 Office。
协作功能
它支持多人同时编辑(实时协同),光标位置、修订记录都有。
家里人一起改个表格、或者远程和同事对一份文档,这个功能挺实用。
会踩的坑
打开文档空白
JWT 密钥不匹配(前端和服务端的 JWT_SECRET 要一致),或者前端填的地址访问不到。
字体缺失,中文显示成方块 镜像里中文字体不全。把常用字体(宋体、黑体)挂进容器字体目录。
编辑后保存失败 回调 URL 不通。它的保存逻辑是"文档服务器回调前端",前端必须能被它访问到。
内存不够,容器反复重启 加内存,或者调低它的并发设置。
HTTPS 混合内容 前端是 https、文档服务器是 http,浏览器会拦。两个都上 https,或者都走同一个域名。
它适合谁
- 有 NAS、经常在浏览器里改 Office 文档的;
- 已经用 Nextcloud / Seafile 的;
- 机器内存 8 GB 以上、愿意为它腾 4 GB 的。
不适合:内存 4 GB 的机器;只改纯文本的(用 Filebrowser 的在线编辑更快);需要完整 Office 功能的。
最后
自建在线 Office 的价值,不在"省钱"(它免费),在文档不经过第三方。
合同、报表、工资单这种东西,用自己的服务器打开,心里踏实。
代价是它真的吃内存——这一点没法回避。
有问题留言。
留言