进阶技巧

飞牛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 文件夹,内部再建 datalogsdb 三个子目录。结构如下:

/vol1/docker/onlyoffice/
├── data
├── logs
└── db

如果你通过 SSH 操作,可以直接执行:

mkdir -p /vol1/docker/onlyoffice/{data,logs,db}

注意:请根据你飞牛的实际存储路径调整,通常在 vol1vol2 下。

第二步:编写 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」进入编辑器测试。

建议进行两项基础验证:

  1. 新建一个 Word 文档,输入中文并调整字体,确认渲染无乱码。
  2. 尝试上传一个复杂的 PPTX 文件,检查动画和图表是否正常。

如果遇到中文输入法无法调起的问题,通常是浏览器兼容性导致,建议使用 Chrome 或 Edge 最新版。

进阶集成:挂载到飞牛文件管理器

很多用户希望直接在飞牛的文件管理器中点击文件就能用 OnlyOffice 打开。目前飞牛还未原生集成 OnlyOffice 插件,但你可以通过 WebDAV 方式将 NAS 的共享文件夹映射到 OnlyOffice 的「连接云」功能中。在 OnlyOffice 首页点击「连接云」,选择 WebDAV,填入飞牛的 WebDAV 地址(通常是 http://NAS_IP:5005)和账号密码,即可在线编辑 NAS 中的 Office 文件。

性能与维护建议

  • OnlyOffice 对内存有一定要求,建议至少分配 2GB 内存给该容器。如果飞牛同时运行多个服务,请留意内存占用。
  • 定期备份 data 目录,其中包含证书和自定义配置。
  • 升级镜像时,先执行 docker-compose pulldocker-compose up -d,并提前备份数据。

总结

通过 Docker Compose 编排,我们在飞牛 NAS 上成功部署了一套企业级在线 Office 服务。整个过程只需一个 YAML 文件,后续维护也极其简单。OnlyOffice 不仅解决了移动端和桌面端的文档编辑痛点,更让 NAS 从「存储设备」进化为「生产力中心」。现在,你可以在局域网内任意设备上流畅编辑 Word、Excel、PPT,享受完全自主可控的云端办公体验。

💬 评论区
发表评论

暂无评论,来说两句吧