目前飞牛NAS还不支持在线预览办公文档,暂时可以使用此项目过渡一下,Nextcloud是一个开源的私有云存储和协作平台,它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。而 OnlyOffice是一个功能强大的在线办公套件。将它们结合使用可以创建一个功能完备的企业级协作平台,兼具文件存储和文档编辑能力。
Nextcloud + OnlyOffice 核心优势
🌍无缝在线办公
- 直接在线编辑 Word/Excel/PPT,无需下载
- 原生支持 .docx/.xlsx/.pptx,兼容 Office 格式
📝实时多人协作
- 多用户同时编辑文档,变更实时同步
- 团队办公、审阅流程一体化
🔒100% 私有化部署
- 数据完全自主掌控,不依赖第三方云
- 支持本地服务器/NAS/树莓派等设备
🐳轻量低成本
- 开源免费,零授权费用
- Docker 部署,跨平台易维护
部署
飞牛 Compose方式部署代码
1️⃣我们需要先创建一个路径,这个路径储存我们的docker-Compose.yml的文件和配置文件

2️⃣打开Docker,Compose新增项目->输入项目名称->设置路径->上传或者创建docker-
compose.yml把下面代码复制进去,点击完成直至构建完成

🐳 Docker compose
version: '3.8'
services:
nextcloud:
image: nextcloud:latest
container_name: nextcloud
restart: always
ports:
- 8080:80
volumes:
- ./nextcloud_data/data:/var/www/html
- ./nextcloud_data/custom_apps:/app/www/public/custom_apps
environment:
- MYSQL_PASSWORD=example
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
depends_on:
- db
db:
image: mariadb:10.6
container_name: nextcloud_db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=example
- MYSQL_PASSWORD=example
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
volumes:
- ./db_data:/var/lib/mysql
onlyoffice:
image: onlyoffice/documentserver
container_name: onlyoffice
restart: always
ports:
- 8082:80
environment:
- JWT_ENABLED=true
- JWT_SECRET=supersecretjwtkey # onlyoffice秘钥
volumes:
- ./onlyoffice_data:/var/www/onlyoffice/Data
volumes:
nextcloud_data:
db_data:
onlyoffice_data:
上面代码中数据库配置,可以自行修改,也可以默认,无所谓的,但是代码中的 密钥 一定要记住后面用得到,可默认也可以修改一下
# 数据库的用户名
- MYSQL_USER=nextcloud
# 数据库的密码
- MYSQL_PASSWORD=example
# 数据库名
- MYSQL_DATABASE=nextcloud
使用
🔹 OnlyOffice 项目地址:http://ip:8082,确保能打开就行,如下

🔸 NextCloud 项目地址:http://ip:8080
1️⃣ 初始化NextCloud
浏览器访问http://ip:8080进行初始化
创建管理员账号密码,进行安装, 安装过程有点慢请耐等待 ,不要刷新页面,直到它自动刷新页面

安装成功自动登录转跳到如下界面,可以安装推荐的应用或者跳过

仪表盘首页

点击文件,进入文件管理页面先看一下没安装 OnlyOffice 之前新建文件的时候只有简单的几项,并没有新建办公文档的选择项


2️⃣ 安装OnlyOffice 插件
点击右上角头像,选择应用

进入应用后,左边选择 精选应用 ,在右上角搜索框搜索 OnlyOffice 如下图,然后进行下载并启用

安装后就能在已启用的里面找到他

3️⃣ 配置 OnlyOffice 插件
点击右上角头像->选择“管理设置”

进入管理设置之后,选择左边的 OnlyOffice
- 填入OnlyOffice 的项目地址http://ip: 8082
- 勾选关闭证书效验
- 填入前面Compose代码的 密钥 保存即可

保存后还是当前页,会让你设置关联的文档格式,勾选后保存

在回到文件管理,再次新建文件可以看到多出很多选择项

🔵 新建word演示

🟢 新建Excel表格演示

🌟 点击右上角打开文件所在位置可以退出编辑

4️⃣https域名访问配置
❌ 不配置访问就会出现如下界面

访问配置文件,根据自己设置的目录打开 config.php文件,修改 “trusted_domains”

在下方圈出来的地方填入你的域名就行,不带https://,可填多个,如下图,设置好后重启 Nextcloud 容器,就可以通过域名访问了
# 参考如下,直接复制,替换域名就行,如下代码
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'server1.example.com',
2 => '192.168.1.50',
3 => '[fe80::1:50]',
),
第0行就是主程序的内网地址,我们把我们自己的域名加在后面就行,如下图

修改保存后 config.php就无法访问,是因为权限问题,会出现如下情况

修复,我们进到 Nextcloud容器,点击终端

点击连接/bin/bash,依次输入以下代码给文件权限,就能恢复正常
chown -R www-data:www-data /var/www/html/config/
chmod -R 770 /var/www/html/config/

如上操作完成就能通过https域名访问了,反代用lucky或者frp都行,我是使用的frp内网穿透的

至此,我们已经完成了 Nextcloud 搭配 OnlyOffice 的部署。通过这种组合,你可以轻松搭建一个自托管的在线办公平台