Nextcloud docker部署文档

以下是基于 Docker 安装的 Nextcloud 并配置 OnlyOffice 插件的详细步骤:

1. 安装 Docker 和 Docker Compose

确保你的服务器上已经安装了 Docker 和 Docker Compose。如果未安装,可以通过以下命令进行安装:

1
2
3
4
5
6
# 安装 Docker
curl -fsSL https://get.docker.com | sh

# 安装 Docker Compose
curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')" docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

2. 创建 Docker Compose 文件

创建一个目录用于存放 Docker Compose 文件和其他相关配置文件:

1
2
mkdir nextcloud
cd nextcloud

创建 docker-compose.yml 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
version: '3.8'

services:
nextcloud:
image: nextcloud:stable
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=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
depends_on:
- db

db:
image: mysql:5.7
container_name: nextcloud_db
restart: always
environment:
- MYSQL_ROOT_PASSWORD=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
volumes:
- ./db_data:/var/lib/mysql

onlyoffice:
image: onlyoffice/documentserver:latest
container_name: onlyoffice
restart: always
ports:
- 8082:80
environment:
- JWT_ENABLED=true
- JWT_SECRET=supersecretjwtkey
volumes:
- ./onlyoffice_data:/var/www/onlyoffice/Data

volumes:
nextcloud_data:
db_data:
onlyoffice_data:

3. 启动服务

nextcloud-onlyoffice 目录下运行以下命令启动服务:

1
docker-compose up -d

4. 初始化 Nextcloud

在浏览器中访问 http://<your-server-ip>:8088,按照提示创建管理员账号并完成 Nextcloud 的初始化安装。

5. 安装 OnlyOffice 插件

  1. 登录 Nextcloud,点击右上角头像,选择“应用”。
  2. 在应用市场中搜索“OnlyOffice”,找到对应的插件并点击“启用”。

6. 配置 OnlyOffice 插件

  1. 点击右上角头像,选择“管理设置”。
  2. 在左侧菜单中选择“ONLYOFFICE”。
  3. 填写 OnlyOffice 的服务地址,例如 http://<your-server-ip>:8082
  4. 勾选“关闭证书效验”。
  5. 填入 JWT 密钥,即 supersecretjwtkey(与 Docker Compose 文件中的设置一致)。
  6. 点击“保存”。

验证配置

完成上述步骤后,进入 Nextcloud 的文件管理界面,尝试创建新的文档(如 Word、Excel 或 PowerPoint),如果能够正常使用 OnlyOffice 的在线编辑功能,则说明配置成功。

如果在配置过程中遇到问题,可以参考以下常见解决方案:

  • 如果无法搜索到 OnlyOffice 插件,可尝试手动下载插件并上传到 Nextcloud 的 apps 目录。
  • 如果出现证书不信任的问题,可以配置 HTTPS 并使用有效的证书。

注意事项

查看 onlyoffice 秘钥:

1
docker exec 容器ID sudo documentserver-jwt-status.sh

解决创建新用户自动生成文件的问题

1
清空该目录即可 /var/www/html/core/skeleton