飞牛NAS搭建在线Office:OnlyOffice部署
在 NAS 的众多玩法中,在线 Office 一直是最实用也最显“生产力”的一环。虽然飞牛自带的应用中心已经提供了若干文档工具,但如果你想获得接近微软 Office 的原生编辑体验、支持多人协作,同时又能将数据完全掌握在自己手中,那么 OnlyOffice 绝对是最佳选择。今天,我们就手把手在飞牛 NAS 上通过 Docker 部署一套完整的 OnlyOffice 文档服务。
为什么选择 OnlyOffice
相较于飞牛应用中心内置的某些轻量编辑器,OnlyOffice 的优势非常明显:
- 格式兼容性极强:对 docx、xlsx、pptx 的渲染几乎无损,复杂排版不会错乱。
- 协作功能完善:支持多人同时在线编辑,实时看到彼此的修改。
- 集成生态成熟:可以无缝对接 Nextcloud、ownCloud 或作为独立编辑器使用。
- 部署可控:数据只存在你的 NAS 上,隐私安全。
由于 OnlyOffice 官方镜像较大(约 2GB 左右),且依赖 PostgreSQL 和 RabbitMQ,我们采用 Docker Compose 的方式一次性编排,避免手动配置多个容器的烦恼。
第一步:准备目录结构
首先通过飞牛的「文件管理」或 SSH 登录到你的 NAS。我们需要创建一个专用的数据目录,用于存放 OnlyOffice 的配置、日志和证书。
建议在 NAS 的 Docker 存储路径下新建 onlyoffice 文件夹,内部再建 data、logs、db 三个子目录。结构如下:
/vol1/docker/onlyoffice/
├── data
├── logs
└── db
如果你通过 SSH 操作,可以直接执行:
mkdir -p /vol1/docker/onlyoffice/{data,logs,db}
注意:请根据你飞牛的实际存储路径调整,通常在 vol1 或 vol2 下。
第二步:编写 docker-compose.yml
在 onlyoffice 目录下新建 docker-compose.yml 文件。这里我们使用官方推荐的社区版镜像 onlyoffice/documentserver,并搭配 PostgreSQL 和 RabbitMQ 确保服务稳定。
version: '3.8'
services:
onlyoffice-db:
image: postgres:14-alpine
container_name: onlyoffice-db
environment:
POSTGRES_DB: onlyoffice
POSTGRES_USER: onlyoffice
POSTGRES_PASSWORD: onlyoffice_pass
volumes:
- ./db:/var/lib/postgresql/data
restart: always
networks:
- onlyoffice-net
onlyoffice-mq:
image: rabbitmq:3-management-alpine
container_name: onlyoffice-mq
environment:
RABBITMQ_DEFAULT_USER: onlyoffice
RABBITMQ_DEFAULT_PASS: onlyoffice_pass
restart: always
networks:
- onlyoffice-net
onlyoffice-server:
image: onlyoffice/documentserver:latest
container_name: onlyoffice-server
depends_on:
- onlyoffice-db
- onlyoffice-mq
environment:
JWT_ENABLED: 'true'
JWT_SECRET: 'your_random_secret_key_here'
DB_TYPE: postgres
DB_HOST: onlyoffice-db
DB_PORT: '5432'
DB_NAME: onlyoffice
DB_USER: onlyoffice
DB_PWD: onlyoffice_pass
AMQP_URI: amqp://onlyoffice:onlyoffice_pass@onlyoffice-mq
ports:
- '8088:80'
volumes:
- ./data:/var/www/onlyoffice/Data
- ./logs:/var/log/onlyoffice
restart: always
networks:
- onlyoffice-net
networks:
onlyoffice-net:
driver: bridge
请务必将 JWT_SECRET 替换为一串足够复杂的随机字符串,这是前后端通信的加密凭证,如果泄露可能导致文件被非法访问。
第三步:启动服务
在 onlyoffice 目录下打开终端,执行:
docker-compose up -d
首次启动需要拉取镜像,根据网络情况可能需要 5-15 分钟。可以查看实时日志:
docker-compose logs -f
当看到 OnlyOffice Document Server is ready 或 Nginx 启动成功的日志后,说明部署完成。
第四步:配置反向代理与 HTTPS(可选但强烈推荐)
默认情况下,OnlyOffice 监听在 8088 端口。如果你只想在内网使用,直接访问 http://NAS_IP:8088 即可。但若要公网访问或配合 Nextcloud 使用,建议通过飞牛自带的「反向代理」功能将域名指向该端口。
在飞牛控制台的「网络设置」→「反向代理」中,添加一条规则:
- 外部端口:
443(或自定义) - 内部地址:
http://127.0.0.1:8088 - 启用 HTTPS,并绑定你的域名证书
这样就能通过 https://your.domain.com 访问 OnlyOffice,同时解决浏览器对非安全源的限制。
第五步:验证与基础设置
打开浏览器访问 http://NAS_IP:8088,你应该能看到 OnlyOffice 的欢迎页面。点击「Get Started」进入编辑器测试。
建议进行两项基础验证:
- 新建一个 Word 文档,输入中文并调整字体,确认渲染无乱码。
- 尝试上传一个复杂的 PPTX 文件,检查动画和图表是否正常。
如果遇到中文输入法无法调起的问题,通常是浏览器兼容性导致,建议使用 Chrome 或 Edge 最新版。
进阶集成:挂载到飞牛文件管理器
很多用户希望直接在飞牛的文件管理器中点击文件就能用 OnlyOffice 打开。目前飞牛还未原生集成 OnlyOffice 插件,但你可以通过 WebDAV 方式将 NAS 的共享文件夹映射到 OnlyOffice 的「连接云」功能中。在 OnlyOffice 首页点击「连接云」,选择 WebDAV,填入飞牛的 WebDAV 地址(通常是 http://NAS_IP:5005)和账号密码,即可在线编辑 NAS 中的 Office 文件。
性能与维护建议
- OnlyOffice 对内存有一定要求,建议至少分配 2GB 内存给该容器。如果飞牛同时运行多个服务,请留意内存占用。
- 定期备份
data目录,其中包含证书和自定义配置。 - 升级镜像时,先执行
docker-compose pull再docker-compose up -d,并提前备份数据。
总结
通过 Docker Compose 编排,我们在飞牛 NAS 上成功部署了一套企业级在线 Office 服务。整个过程只需一个 YAML 文件,后续维护也极其简单。OnlyOffice 不仅解决了移动端和桌面端的文档编辑痛点,更让 NAS 从「存储设备」进化为「生产力中心」。现在,你可以在局域网内任意设备上流畅编辑 Word、Excel、PPT,享受完全自主可控的云端办公体验。
暂无评论,来说两句吧