侧边栏壁纸
博主头像
痕迹 博主等级

行动起来,活在当下

  • 累计撰写 37 篇文章
  • 累计创建 15 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

docker内部署nextcloud+onlyoffice

阿杜
2026-04-06 / 0 评论 / 0 点赞 / 4 阅读 / 0 字

✏docker内部署nextcloud+onlyoffice

安装docker、docker-compose(使用kejilion脚本安装)

bash <(curl -sL kejilion.sh)
  • 注:首先安装docker,更新源

使用一键安装nextcloud+onlyoffice

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.0.31
    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
    networks:
      - nextcloud-network

  # OnlyOffice 文档服务
  onlyoffice:
    image: onlyoffice/documentserver:9.3
    container_name: onlyoffice
    restart: always
    ports:
      - "81: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

调试设置

  • 提示如下图所示,说明数据库与nextcloud不匹配,需更换版本。
    image.png
  • 解决访问时提示错误域名
    c4f933c8685863cb9c9ae94bc346b279.jpg
    需更改config.php,路径 /root/nextcloud/data/nextcloud/config(docker映射路径)
'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => '192.168.1.100',  // 你的内网IP
    2 => 'cloud.yourdomain.com',  // 你的公网域名
    3 => '192.168.1.100:8080',  // 带端口的访问地址
    // 可继续添加多个信任域名/IP
  ),
刷新后顺利进入登陆界面。
  • 点击应用不能访问,一直转。
    还需要修改config.php文件,将以下代码放在文件的最后。
    'appstoreenabled' => true,
    'appstoreurl' => 'https://www.orcy.net/ncapps/v2/', 
    
    image.png
  • 现在可以正确访问了。

安装应用onlyoffice插件

  • 访问 查看连接器的版本匹配,并下载相应文件。nextcloud版本在 管理设置-概览中
    image.png

image.png

  • 下载的文件为tar.gz的文件。将文件解压缩
tar -zvxf  xxxx.tar.gz
  • 将解压缩的文件拷贝到 /root/nextcloud/data/nextcloud/html/apps 下。
  • 这时应用中应该有相应的插件了,如果没有那就再应用中搜索一下,应该是没有启用。
  • 点击启用后就可以设置了。
    image.png
  • 其中密钥位置在docker-compose.yml中的JWT_SECRET值。填写好保存,出现下面选单证明连接成功。
    image.png
    以上做好选择后保存即可。这时候设置完成。
  • 后面可以更改密码后其他设置。
0

评论区