本文介绍如何基于 Docker 部署 Nextcloud + Collabora,实现 DOC、XLS、PPT、PDF、视频等文件的在线查看与编辑,并通过外部存储挂载服务器上的本地文件。
本文使用
192.168.10.100作为服务器示例 IP。部署时请替换为 Ubuntu 服务器的实际 IP,并为数据库设置独立的强密码。
1. 目录规划
1 | |
本地文件放入:
1 | |
2. 完整 docker-compose.yml
1 | |
其中:
1 | |
是本文使用的示例 IP,请替换为 Ubuntu 服务器的实际 IP。MYSQL_PASSWORD 在 Nextcloud 和 MariaDB 服务中的值必须保持一致。
启动:
1 | |
3. 初始化 Nextcloud
浏览器访问:
1 | |
填写:
1 | |
4. 配置可信域名
查看:
1 |
|
设置:
1 | |
验证:
1 |
|
预期:
1 | |
5. 启用外部存储
启用应用:
1 | |
页面配置:
1 | |
配置:
1 | |
通过“可用于”限制用户或用户组。
只读共享可将 Compose 改为:
1 |
|
6. 离线安装 richdocuments
下载兼容版本:
1 | |
复制到容器:
1 | |
解压:
1 | |
启用:
1 | |
验证:
1 | |
7. 配置 Collabora 地址
设置内部访问地址:
1 | |
设置浏览器访问地址:
1 | |
激活配置:
1 | |
正常应显示:
1 | |
8. 验证服务链路
验证 Nextcloud 访问 Collabora:
1 | |
验证公开地址:
1 | |
验证 Collabora 访问 Nextcloud:
1 | |
预期:
1 | |
验证 Discovery 公开地址:
1 | |
预期包含:
1 | |
9. 权限配置
创建只读用户:
1 | |
创建只读组,例如:
1 |
|
在外部存储配置中,将“共享资料”仅授权给:
1 |
|
底层强制只读:
1 |
|
重建:
1 | |
10. 支持的文件类型
| 文件类型 | 在线能力 |
|---|---|
| DOC/DOCX | Collabora 在线查看、编辑 |
| XLS/XLSX | 在线查看、编辑 |
| PPT/PPTX | 在线查看、编辑 |
| Nextcloud 内置预览 | |
| MP4 | 浏览器在线播放 |
| Markdown | Nextcloud Text 应用预览 |
| HTML | 通常按文本查看或下载 |
11. 常用排查命令
查看 Collabora 日志:
1 | |
查看 Nextcloud 日志:
1 | |
筛选 WOPI 错误:
1 | |
查看 Office 配置:
1 | |
查看 Nextcloud 状态:
1 | |
12. 本次关键问题
App Store 找不到应用
现象:
1 | |
处理:
1 | |
浏览器无法打开 Collabora
原因:
1 | |
修复:
1 | |
Trusted domain error
原因:
1 | |
修复:
1 | |
No authorized hosts found
原因:
1 | |
修复:
1 | |