NAS秒变在线协作中心!NextCloud+ONLYOFFICE填平企业协同办公短板|飞牛NAS实测
本文最后更新于 2025-08-17,文章内容可能已经过时。

还在为 NAS 找不到靠谱的协同办公方案发愁?企业担心公有云的隐私风险,家用 NAS 自带的“套件”又太简陋?我也一样,为了让 NAS 不只是“存文件的硬盘”,我开始研究真正能打的私有协作方案。最终选定了这对开源组合:NextCloud + ONLYOFFICE。
NextCloud 提供企业级文件管理、权限控制与多端同步,ONLYOFFICE 则带来媲美桌面的 Word / Excel / PPT 在线协作体验,多人同时编辑、改动秒级同步,数据全程留在内网 NAS 本地,让您的NAS瞬间变身安全、高效的私有化协作中心。
相比官方的 AIO 镜像部署方式,我选择了更灵活的标准 Docker Compose 模式,在飞牛 NAS 上亲测成功(基于 NextCloud + ONLYOFFICE )。这篇教程,就是我踩坑避雷后的详细记录。如果你也想让 NAS 解锁真正的“办公能力”,跟着做一遍就懂了!
为什么选择在 NAS 上部署 NextCloud + ONLYOFFICE?私有云协同办公最佳实践!
✅ NextCloud 是什么?
一句话,它就是你的「私有版 Dropbox + 协作平台」!
想象一下,把你电脑里的文件、手机拍的视频、工作资料统统塞进 NAS,本地保存又随时可访问——这就是 NextCloud 最基础的网盘功能。
支持全平台同步(Windows / macOS / Linux / Android / iOS),稳定流畅,直接找回“金山快盘”时代的感觉(懂的都懂)。

🔥 但 NextCloud 绝不止是高级网盘!
它的灵魂在于两点:「可扩展」+「私有化」
🔐 数据自己做主:所有文件都存在你自己的服务器/NAS 上,隐私和安全你说了算,完美适配内网环境或数据敏感型企业。
🧩 功能像搭积木:日历、联系人、笔记、任务管理……想加啥功能装个插件就行!
📝 完美集成 ONLYOFFICE:Word / Excel / PPT 文档直接在线编辑,再也不用下载再上传,简直提升效率三倍!

🧑💻 多人协作,才是真香!
当你把 ONLYOFFICE 配对成功之后,就真的飞起来了!
多人同时编辑一个文档,谁在改、改了啥都清清楚楚;
不管是写方案、填表格,还是团队开会做笔记,都能实时协作、版本可控;
这才是现代化办公该有的样子!
🐳 Docker 部署体验也很丝滑!
整个安装用的是标准 Docker Compose 部署方式,流程清晰、配置灵活、后期维护也轻松。
⚠️ 特别注意:如果你用的是局域网环境,建议不要使用 NextCloud 的官方 AIO(All-In-One)镜像,坑比较多。我们选择模块化部署,更稳更可控!
❤️ 使用体验:真不吹!
✅ 文件同步稳定流畅:和 Seafile 类似,体验极佳。
📱 手机端稍有遗憾:
iOS 后台自动同步不如 Seafile“无感”,有时需要手动触发;
不支持在线播放视频(Seafile 支持但稳定性一般)。
不过日常上传、下载、浏览文件都没问题,整体体验依旧优秀!
🏆 ONLYOFFICE 是关键战力!
重点来了!
当你将最新版 ONLYOFFICE 与 NextCloud 成功对接后,前面的小遗憾直接被在线协作体验碾压了!
Word、Excel、PPT 都能多人实时协作;
编辑无缝、兼容性强、不丢格式;
企业级办公能力拉满!
✅ 总结一句话:
NextCloud + ONLYOFFICE,是 NAS 上打造安全、强大、可协作办公系统的「黄金搭档」!
如果你也想在 NAS 上自建一个私有化、协作性强、体验丝滑的办公平台,一定要试试这套组合!
📘 本教程覆盖内容:
基于飞牛 NAS 系统实测(其他 Docker 环境也通用)
教你安装 NextCloud + ONLYOFFICE Document Server
完整图文部署、配置、优化流程
实现真正的内网/公网多人在线协同办公!
接下来就进入实战,一步步搞定部署,保证不踩坑!Let’s go!
一、准备工作:连接 NAS 并新建项目目录
开启 SSH:打开飞牛系统的 SSH 功能。

连接 NAS:使用终端工具(如 XShell、Termius、macOS 的 Terminal)连接你的 NAS,并切换至 root 权限。
创建项目文件夹:
在飞牛系统内新建文件夹作为部署目录,路径如下所示(可右键 > 详细信息 > 常规 > 查看原始路径):
进入项目文件夹
# 将 cd /vol1/1000/Offic 换成你实际的文件夹路径 cd /vol1/1000/Offic创建所需子目录:
# localfile作为NAS本地文件夹进行映射,方便整理文件。 mkdir -p {mariadb-data,nextcloud,localfile} onlyoffice/{data,db,lib,logs}
二、编辑 Docker Compose 配置文件
创建配置文件并编辑:
vi docker-compose.yml复制编辑
vi docker-compose.yml按字母
i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。排版太挤的可先粘贴到本地文本工具中编辑,修改无误后再复制粘贴进终端。
# 下面的配置默认只需要更改容器访问端口和数据库密码,其余的提供参考,不建议更改。
version: '3.8' # Compose 文件版本,3.8 兼容性好,但已可省略
volumes:
nextcloud-data: {} # Nextcloud 的程序、配置、上传文件等(建议持久化,便于升级)
mariadb-data: {} # MariaDB 的数据目录(防止数据库丢失)
services:
# ========= MariaDB 数据库 =========
db:
image: mariadb:10.6 # 使用稳定的 MariaDB 版本
container_name: nextcloud-db # 容器名称,便于识别
restart: always # 容器异常退出后自动重启
# 启动参数(防止 ONLYOFFICE 出现事务隔离或锁冲突问题)
command: >
--transaction-isolation=READ-COMMITTED
--log-bin=binlog
--binlog-format=ROW
volumes:
- ./mariadb-data:/var/lib/mysql # 将数据库数据持久化保存到主机目录
environment:
- MYSQL_ROOT_PASSWORD=S20306 # 数据库 root 管理员密码(⚠️ 建议改强密码)
- MYSQL_DATABASE=nextcloud # 启动时自动创建的数据库名
- MYSQL_USER=nextcloud # 应用连接使用的数据库用户
- MYSQL_PASSWORD=S20306 # 应用连接数据库所用的密码(需与上方一致)
- TZ=Asia/Shanghai # 设置容器时区为上海时间
# ========= Nextcloud 主程序 =========
app:
image: nextcloud # 官方 Nextcloud 镜像,默认含 Apache + PHP
container_name: nextcloud-app
restart: always
ports:
- 8080:80 # 本地端口映射,访问 http://IP:8080 即可打开网页端,可自行修改。
volumes:
- ./nextcloud:/var/www/html # 持久化挂载 Nextcloud 的程序及用户数据
- ./localfile:/localfile # 持久化挂载 NAS本地文件夹到 nextcloud 容器内部
environment:
- TZ=Asia/Shanghai # 设置时区为上海(影响日志时间)
- MYSQL_HOST=db # 指定数据库服务名,与上方容器 db 名保持一致
- MYSQL_DATABASE=nextcloud # 数据库名(必须匹配)
- MYSQL_USER=nextcloud # 用户名
- MYSQL_PASSWORD=S20306 # 应用连接数据库所用的密码(必须匹配)
depends_on:
- db # 确保数据库服务先启动
# ========= ONLYOFFICE 文档编辑服务 =========
onlyoffice:
image: onlyoffice/documentserver # 官方 ONLYOFFICE 文档服务镜像
container_name: onlyoffice
restart: always
ports:
- "8888:80" # 将容器端口 80 映射为主机的 8888 端口,用于 Nextcloud 插件调用,可自行修改。
volumes:
- ./onlyoffice/logs:/var/log/onlyoffice # 日志目录
- ./onlyoffice/data:/var/www/onlyoffice/Data # 用户文档数据缓存目录
- ./onlyoffice/lib:/var/lib/onlyoffice # 应用运行所需的库
- ./onlyoffice/db:/var/lib/postgresql # 内部使用的 PostgreSQL 数据目录(非手动访问)
environment:
- TZ=Asia/Shanghai # 设置时区
# 默认已使用同一个网络,无需手动指定。若有需要跨 compose 文件通信,可加入 external network。三、启动服务并初始化容器
查看当前路径:
pwd赋予目录权限(部分NAS系统需要【如群晖】,否则容器无读写权限访问运行,按需执行。):
# 把 /vol1/1000/Office/ 换成你实际的文件夹路径 chmod -R 777 /vol1/1000/Office/启动容器并拉取镜像:
docker compose up -d 或 docker-compose up -d查看容器运行状态:
docker compose ps 或 docker-compose ps查看项目容器实时日志(可按
Ctrl + C中断):docker compose logs -f 或 docker-compose logs -f
四、访问服务:NextCloud 和 ONLYOFFICE
注意:这里有一个关键的点,如果你是需要通过固定公网IP/域名进行访问,那么你需要先进行端口映射并绑定域名。
记得要先映射NextCloud和OnlyOffice的端口,先通过固定公网IP/域名的方式进行访问。访问 ONLYOFFICE(文档服务):
先打开OnlyOffice看看正常运行没,显示为下图这样即可。 演示以纯局域网内访问为例,打开浏览器,以NAS的IP+设置的端口号进行访问。 以本机为例: http://192.168.2.5:8888
访问 NextCloud(网盘管理):
演示以纯局域网内访问为例,打开浏览器,以NAS的IP+设置的端口号进行访问。 以本机为例: http://192.168.2.5:8080 按提示设置一个管理员账户
按提示设置管理员账号后,跳过推荐插件安装。

登录成功

五、设置 NextCloud 可信域名
编辑配置文件:
vi nextcloud/config/config.php按字母
i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。排版太挤的可先粘贴到本地文本工具中编辑,修改无误后再复制粘贴进终端。
添加允许访问的地址(参考下面的注释进行修改):
<?php $CONFIG = array ( 'htaccess.RewriteBase' => '/', 'memcache.local' => '\\OC\\Memcache\\APCu', 'apps_paths' => array ( 0 => array ( 'path' => '/var/www/html/apps', 'url' => '/apps', 'writable' => false, ), 1 => array ( 'path' => '/var/www/html/custom_apps', 'url' => '/custom_apps', 'writable' => true, ), ), 'upgrade.disable-web' => true, 'instanceid' => 'ocwmqhwlbwfk', 'passwordsalt' => 'MAx1oRcwAJ+J98E/dbVMQvPhcuUcj6', 'secret' => 'LUWzcfjl37JMohNpuMAoP+Mq1pvZH+ZNyQ4OpEWnZ05SSFbW', 'trusted_domains' => // 下面这里是设置外部访问地址的,你允许几个地址访问就设置几个,不分先后,数量最少一个。 array ( 0 => '192.168.2.5:8080', // 设置只允许通过局域网地址访问 1 => 'www.aabcc.top', // 设置只允许通过域名访问(如果只设置这个,那么局域网内也只能通过这个地址访问。) 2 => 'www.aabcc.top:8080', // 设置只允许通过域名+指定端口访问(如果只设置这个,那么局域网内也只能通过这个地址访问。) ), 'datadirectory' => '/var/www/html/data', 'dbtype' => 'mysql', 'version' => '31.0.6.2', 'overwrite.cli.url' => 'http://192.168.2.5:8080', 'dbname' => 'nextcloud', 'dbhost' => 'db', 'dbport' => '', 'dbtableprefix' => 'oc_', 'mysql.utf8mb4' => true, 'dbuser' => 'nextcloud', 'dbpassword' => 'S20306', 'installed' => true, 'maintenance_window_start' => 1, // 表示凌晨 1 点开始执行后台任务,可自行修改。 'default_phone_region' => 'CN', // 设置默认的电话号码区域为中国 );如出现访问错误,可执行文件授权命令:
chmod -R 777 nextcloud/config/config.php刷新页面即可恢复访问。
六、安装 ONLYOFFICE 插件并配置密钥
由于NextCloud的应用市场在国内基本打不开 / 加载不出来,所以我们直接手动安装插件。
(点击NextCloud的应用市场的时候一直在转圈圈,网页跳转没有反映是正常现象,需耐心等待,加载差不多时间了自动跳转~)
访问应用市场下载安装插件:
选择你需要安装的应用

选择你需要的版本(演示选择当前最新版),点击下载。

将下载的应用解压,解压后的文件夹整个放到
/Office/nextcloud/apps/路径下:
复制上传的应用文件夹路径,在终端工具内执行命令,授权插件文件夹权限:
# 将 /vol1/1000/Office/nextcloud/apps/onlyoffice 换成你自己实际的文件夹路径 chmod -R 777 /vol1/1000/Office/nextcloud/apps/onlyofficeNextCloud 后台启用插件:
打开
已禁用的应用启用:
External storage support(外部存储支持)
ONLYOFFICE

点击右上角头像 > 管理设置 > ONLYOFFICE

回到ONLYOFFICE页面,复制下面的命令,获取 ONLYOFFICE 的密钥:

示例输出:
root@S20306:/vol1/1000/Office# sudo docker exec 1cfd8e288b83 /var/www/onlyoffice/documentserver/npm/json -f /etc/onlyoffice/documentserver/local.json 'services.CoAuthoring.secret.session.string' TTPrWoDtwHWAUS86cXih3gEghDUfOJKB # 《《《------左侧是生成的ONLYOFFICE密钥 root@S20306:/vol1/1000/Office#回到 NextCloud > 管理设置 > ONLYOFFICE:
Docs 地址:填写域名 / 固定公网IP / 局域网IP地址
密钥:粘贴上方生成的字符串
然后点击保存

启用需要关联的文档格式,勾选完之后拉到底部点击保存。

七、添加本地 NAS 文件夹到 NextCloud
NextCloud 后台:管理 > 外部存储
配置项:
目录名称:自定义
外部存储:选择本地
认证方式:无
配置路径:
/localfile权限范围:选中要授权的用户/ 组
然后点击保存

添加成功

点击左上角的文件,即可看到对应的文件夹。

进入文件夹如出现无法加载,请执行文件夹权限授权命令:
# 是在nextcloud项目文件夹路径内执行 chmod -R 777 localfile刷新页面后,即可在“文件”中可以看到本地文件夹已上传的文件,并支持在线编辑!

八、参考地址与资源
🧾 NextCloud GitHub 文档:https://github.com/docker-library/docs/blob/master/nextcloud/README.md
📚 NextCloud 管理文档:https://docs.nextcloud.com/server/31/admin_manual/configuration_server/security_setup_warnings.html
👉👉👉优惠云服务器,点此查看价格,直接部署云端协作办公👈👈👈
✅ 教程总结
通过本教程,你已经完成:
在 NAS 上部署 NextCloud 与 ONLYOFFICE
配置本地挂载文件夹,实现文档在线预览与编辑
实现基于域名/公网 IP 的访问和可信域配置
手动安装 ONLYOFFICE 插件解决国内访问问题
你现在拥有了一个完整的私有云协同办公环境,适合日常文档管理、团队协作和文件共享!
文末

👇👇👇
- 感谢你赐予我前进的力量

