欢迎光临
我们一直在努力

Docker 搭建 NextCloud + OnlyOffice 完整教程(Linux Centos7系统)

文章目录

    • 1、前置条件
      • 1.1. 系统环境要求
      • 1.2. 依赖安装(Docker + Docker Compose)
    • 2、环境准备
    • 3、编写 Docker Compose 配置文件
    • 4、启动服务
    • 5、初始化配置 & 集成 OnlyOffice

NextCloud 是开源的私有云存储 / 协作平台,OnlyOffice 是开源的在线文档编辑工具,二者集成可实现类似腾讯文档 / 石墨文档的在线编辑能力。以下是 CentOS 7 系统中基于 Docker + Docker Compose 的一键部署方案,兼顾易用性和生产级配置。


1、前置条件

1.1. 系统环境要求

CentOS 7.x(最小化安装 / 服务器版均可),建议 2 核 4G 以上内存(OnlyOffice 对内存要求较高,至少 2G 内存,推荐 4G+) 磁盘空间 ≥ 20G(存储文档 / 数据) 外网访问权限(拉取 Docker 镜像) 关闭 SELinux 和防火墙(或配置放行端口)

1.2. 依赖安装(Docker + Docker Compose)

确保系统都安装Docker + Docker Compose

在这里插入图片描述

2、环境准备

# 关闭 SELinux(临时+永久)
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

# 关闭防火墙(或放行端口:80/443/8080)
systemctl stop firewalld
systemctl disable firewalld

# 创建数据目录(持久化存储,避免容器删除数据丢失)
mkdir -p /data/nextcloud/{html,data,config}
mkdir -p /data/onlyoffice/{data,logs,fonts}
chmod -R 777 /data # 简化权限(生产环境可精细化配置)

在这里插入图片描述

3、编写 Docker Compose 配置文件

创建统一的 docker-compose.yml 文件,整合 NextCloud 和 OnlyOffice 服务,自动配置网络互通:

可以提前把所用的三个镜像下载下来:

在这里插入图片描述

version: '3'

services:
# NextCloud 主服务
nextcloud:
image: nextcloud:latest
container_name: nextcloud
restart: always
ports:
– "80:80" # 对外暴露80端口(可改为443+SSL)
volumes:
– /data/nextcloud/html:/var/www/html # NextCloud 程序目录
– /data/nextcloud/data:/var/www/html/data # 用户数据目录
– /data/nextcloud/config:/var/www/html/config # 配置文件目录
environment:
– MYSQL_PASSWORD=nextcloud123 # 数据库密码(自定义)
– MYSQL_DATABASE=nextcloud
– MYSQL_USER=nextcloud
– MYSQL_HOST=db # 关联数据库容器
– NEXTCLOUD_ADMIN_USER=admin # NextCloud 管理员账号
– NEXTCLOUD_ADMIN_PASSWORD=admin123 # 管理员密码(生产需修改)
networks:
– nextcloud–network
depends_on:
– db
– onlyoffice

# MySQL 数据库(NextCloud 依赖)
db:
image: mysql:8.4.2
container_name: nextcloud–db–mysql
restart: always
volumes:
– /data/nextcloud/mysql:/var/lib/mysql # 数据库持久化
environment:
– MYSQL_ROOT_PASSWORD=root123 # root密码(自定义)
– MYSQL_PASSWORD=nextcloud123
– MYSQL_DATABASE=nextcloud
– MYSQL_USER=nextcloud
– MYSQL_INITDB_SKIP_TZINFO=1
command: ––default–authentication–plugin=mysql_native_password # 兼容NextCloud
networks:
– nextcloud–network

# OnlyOffice 文档服务
onlyoffice:
image: onlyoffice/documentserver:latest
container_name: onlyoffice
restart: always
ports:
– "8080:80" # OnlyOffice 内部端口(不对外暴露,仅容器互通)
volumes:
– /data/onlyoffice/data:/var/www/onlyoffice/Data
– /data/onlyoffice/logs:/var/log/onlyoffice
– /data/onlyoffice/fonts:/usr/share/fonts
environment:
– JWT_SECRET=onlyoffice123 # 安全密钥(需和NextCloud配置一致)
– TZ=Asia/Shanghai
networks:
– nextcloud–network
# OnlyOffice 依赖较多,需限制内存(可选)
deploy:
resources:
limits:
memory: 2G

# 自定义网络(保证容器间互通)
networks:
nextcloud-network:
driver: bridge

4、启动服务

# 1. 创建配置文件目录并写入配置
mkdir -p /opt/nextcloud && cd /opt/nextcloud
vim docker-compose.yml # 将上面的配置粘贴进去并保存

# 2. 启动所有服务(后台运行)
docker-compose up -d

# 3. 查看启动日志(确认无报错)
docker-compose logs -f

# 关键验证点:
# – nextcloud 容器日志无数据库连接错误
# – onlyoffice 容器日志显示 "Document Server is ready"

在这里插入图片描述

5、初始化配置 & 集成 OnlyOffice

  • 访问 NextCloud 并完成初始化 访问地址:http://服务器IP 输入配置的管理员账号 admin / 密码 admin123,登录 NextCloud 后台
  • 安装 OnlyOffice 插件 登录 NextCloud 后,点击左侧「应用」→ 搜索「OnlyOffice」→ 安装「OnlyOffice Integration」插件 安装完成后,点击右上角「设置」→ 左侧「管理」→「OnlyOffice」
  • 配置 OnlyOffice 连接 在 OnlyOffice 配置页面填写以下信息:
  • 配置项填写值
    Document Server 地址 http://onlyoffice:80(容器内网络地址,无需填服务器 IP,利用 docker 网络互通)
    高级设置 → JWT 密钥 onlyoffice123(需和 docker-compose.yml 中 OnlyOffice 的 JWT_SECRET 一致)
    保存后点击「测试连接」 提示「连接成功」即表示集成完成

    在这里插入图片描述


    “人的一生会经历很多痛苦,但回头想想,都是传奇”。


    赞(0)
    未经允许不得转载:171主机测评 » Docker 搭建 NextCloud + OnlyOffice 完整教程(Linux Centos7系统)
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址