12下一页
返回列表 发布新帖

[玩法教程] 绿联NAS部署nextcloud+onlyoffice实现协同编辑文档

2741 11
发表于 2026-1-14 17:30:17 | 查看全部 阅读模式 IP:–河北–衡水

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
购买了NAS之后使用最多的功能是影视中心和相册,看电影存照片非常方便。最近部门小伙伴提出私有网盘和在线文档功能,于是便有了这套nextcloud+onlyoffice的部署方案。

Nextcloud 是一款开源、自托管的云存储与协作平台,可部署在个人服务器、NAS 或云主机上,支持多端访问(网页、桌面客户端、移动端),并具备强大的扩展能力。

Pasted image 20260114145910.png

本次采用docker-compose方式部署,下面是yaml文件,如果提示格式错误,可以让AI帮忙调整格式,部署前需按照下面的教程修改部分参数。
  1. version: '3.8'

  2. services:
  3.   # 1. Nextcloud服务(个人云盘核心)
  4.   nextcloud:
  5.     image: nextcloud:latest
  6.     container_name: nextcloud
  7.     restart: unless-stopped
  8.     ports:
  9.       - "9020:80"  # Web访问端口,可自行将9020修改为未使用的端口
  10.     networks:
  11.       - nextcloud_network
  12.     volumes:
  13.       # 使用绿联NAS默认的Docker数据目录,确保数据持久化,这里使用的是相对路径,可以使用绝对路径,自己指定数据保存的位置:/volume1/nextcloud/data:/var/www/html/data
  14.       - ./nextcloud/data:/var/www/html/data
  15.       - ./nextcloud/config:/var/www/html/config
  16.       - ./nextcloud/apps:/var/www/html/custom_apps
  17.     environment:
  18.       # 数据库连接配置
  19.       - MYSQL_HOST=nextcloud_db
  20.       - MYSQL_DATABASE=nextcloud
  21.       - MYSQL_USER=nextcloud_user
  22.       - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-0databasepassword0}
  23.       # 新增的MySQL缓存配置
  24.       - MYSQL_CLIENT_CACHE_SIZE=256M
  25.       # 简化初始配置的环境变量
  26.       - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER:-0adminuser0}
  27.       - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD:-0adminpassword0}
  28.       # 其他优化配置
  29.       - APACHE_DISABLE_REWRITE_IP=1
  30.       # - ALLOW_APP_INSTALL_ALL=true  # 这行是核心,允许从任何来源安装应用
  31.     depends_on:
  32.       - nextcloud_db

  33.   # 2. MySQL数据库服务(Nextcloud专用)
  34.   nextcloud_db:
  35.     image: mariadb:10.11
  36.     container_name: nextcloud_db
  37.     restart: unless-stopped
  38.     networks:
  39.       - nextcloud_network
  40.     volumes:
  41.       - ./nextcloud_db:/var/lib/mysql
  42.     environment:
  43.       - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-0rootpassword0}
  44.       - MYSQL_DATABASE=nextcloud
  45.       - MYSQL_USER=nextcloud_user
  46.       - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-0databasepassword0}
  47.     command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed

  48.   # 3. ONLYOFFICE文档服务(在线编辑核心)
  49.   onlyoffice:
  50.     image: onlyoffice/documentserver:8.1
  51.     container_name: onlyoffice
  52.     restart: unless-stopped
  53.     ports:
  54.       - "9030:80"  # ONLYOFFICE独立访问端口
  55.     networks:
  56.       - nextcloud_network
  57.     volumes:
  58.       - ./onlyoffice/data:/var/www/onlyoffice/Data
  59.       - ./onlyoffice/logs:/var/log/onlyoffice
  60.       - ./onlyoffice/cache:/var/lib/onlyoffice
  61.       - ./fonts:/usr/share/fonts/truetype/custom
  62.     environment:
  63.       # 强烈建议在生产环境设置JWT_SECRET以确保安全
  64.       - JWT_ENABLED=true
  65.       - JWT_SECRET=${ONLYOFFICE_JWT_SECRET:-VhKR14Ehsyf39Mpfgp0PpDvFkVxx17N7}
  66.       # 调整文件大小限制(单位:字节,这里是100MB)
  67.       - MAX_FILE_SIZE=104857600
  68.     ulimits:
  69.       nofile: 65536

  70. # 4. 自定义Docker网络(确保容器间可通过服务名通信)
  71. networks:
  72.   nextcloud_network:
  73.     driver: bridge
  74.     ipam:
  75.       config:
  76.         - subnet: 172.20.0.0/24
复制代码

yaml文件主要分为nextcloud服务、MySQL数据库、onlyoffice服务、自定义网络四部分,因为用户量小且对访问速度要求不高,没有添加Redis服务。
nextcloud服务需要修改的参数:
1、NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER:-0adminuser0},设置nextcloud管理员用于登录,将0adminuser0修改为你自己的管理员用户名
2、NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD:-0adminpassword0},设置nextcloud管理员密码,将0adminpassword0修改为你自己的密码
MySQL数据库需要修改的参数:
1、MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-0rootpassword0},建议单独配置数据库的管理员密码更安全
2、 MYSQL_DATABASE=nextcloud,数据库nextcloud共有两处,需保持一致
3、MYSQL_USER=nextcloud_user,数据库用户名nextcloud_user共有两处,需保持一致
4、MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD:-0databasepassword0},数据库密码0databasepassword0共有两处,需保持一致,可以自行设置
onlyoffice服务建议设置JWT_SECRET参数,修改VhKR14Ehsyf39Mpfgp0PpDvFkVxx17N7这部分内容:
1、- JWT_SECRET=${ONLYOFFICE_JWT_SECRET:-VhKR14Ehsyf39Mpfgp0PpDvFkVxx17N7},可以使用JWT_SECRET秘钥生成工具或使用AI生成,配置onlyoffice插件时需要此参数

下面开始部署:
准备好之后,打开docker并创建项目名称nextcloud,设置好项目存放路径,将yaml代码粘贴到compose配置中

Pasted image 20260114155009.png

点击立即部署后等待拉取镜像部署完成,如果镜像获取失败则需要开启镜像加速或使用代理
部署完成后将启动三个容器服务:nextcloud_db、nextcloud、onlyoffice

Pasted image 20260114155251.png

访问http://ip:9030(端口以实际配置的为准),如显示欢迎页则表示onlyoffice配置正常

Pasted image 20260114155654.png


访问http://ip:9020(端口以实际配置的为准),进入nextcloud登录页面(可以使用lucky配置反代,添加https访问功能)
输入配置文件中设置的nextcloud管理员和nextcloud管理员密码,登录即可

Pasted image 20260114155914.png

Pasted image 20260114160155.png

点击右上角头像,然后点击应用,再市场中搜索onlyoffice插件并安装


Pasted image 20260114160525.png

Pasted image 20260114160556.png

如果应用加载不出来,可以在 ./nextcloud/config/config.php(配置文件的存放目录)中添加国内源
打开配置文件 config.php 添加如下两行
  1. 'appstoreenabled' => true,
  2. 'appstoreurl' => 'https://www.orcy.net/ncapps/v1/',
复制代码

Pasted image 20260114161145.png

或使用方法同上,config.php添加如下两行,选择其中一个即可
  1. 'appstoreenabled' => true,
  2. 'appstoreurl' => 'https://www.orcy.net/ncapps/v2/',
复制代码

安装完成后,点击右上角头像,然后点击管理配置,找到onlyoffice插件

Pasted image 20260114161448.png

服务器设置中填写onlyoffice地址,http://ip:9030(我使用的是反向代理地址),密钥填写配置文件中生成的JWT_SECRET密钥串

Pasted image 20260114161639.png

点开更多设置,填写服务器内部请求 ONLYOFFICE Docs 的地址和ONLYOFFICE Docs 内部请求服务器的地址(使用容器名访问)

Pasted image 20260114161839.png

保存后可以打开示例文件中的office文档,正常加载表示配置正确,至此,nextcloud+onlyoffice配置完成,其他功能和应用需结合实际需要参考教程即可

部署中遇到的问题及进阶配置:
1、输入用户名密码点击登录后一直转圈圈,不会自动跳转到仪表盘,注销登录后也不能回到登录页面
解决办法是在 ./nextcloud/config/config.php(配置文件的存放目录)中添加trusted_domains和overwrite配置,如果使用了反代,所有端口都应该设置为
反代的端口

  1. 'trusted_domains' =>
  2.   array (
  3.     0 => 'localhost',
  4.     1 => '域名:9020',
  5.     2 => '192.168.*.*',
  6.     3 => 'nextcloud',
  7.     4 => 'nextcloud.**.cn',           // 新增:不加端口
  8.     5 => '192.168.2.20:9020',         // 新增:带端口的IP
  9.     6 => '127.0.0.1:9020',            // 新增:本地访问带端口
  10.     7 => '127.0.0.1',                 // 新增:本地访问
  11.   ),
复制代码
  1.   'overwriteprotocol' => 'https',
  2.   'overwritehost' => 'ip/域名:9020',  // 你的NAS地址或域名,必须包含端口
  3.   'overwritewebroot' => '/',
  4.   'overwrite.cli.url' => 'https://ip/域名:9020',
复制代码

Pasted image 20260114163003.png

2、插件不兼容,无法安装,可以访问[All apps - App Store - Nextcloud](https://apps.nextcloud.com/)官方商店手动下载安装与nextcloud兼容的版本

Pasted image 20260114163827.png


Pasted image 20260114163844.png

下载完成后将插件的压缩包上传至NAS的临时目录中(需要在控制面板中打开终端机启用SSH)

Pasted image 20260114165007.png

Pasted image 20260114165128.png

使用下面的命令将NAS中的onlyoffice.tar.gz文件复制到nextcloud容器/var/www/html/apps中
docker cp /tmp/onlyoffice.tar.gz 容器ID:/var/www/html/apps
然后使用 docker exec -it 容器ID /bin/bash 命令进入容器
使用 cd /var/www/html/apps 进入应用路径
使用tar zxvf onlyoffice.tar.gz 命令解压 onlyoffice.tar.gz
最后回到应用菜单中找到onlyoffice并启用,如果没有,可以查看一下解压后的onlyoffice目录权限是否正确或者重启nextcloud服务

Pasted image 20260114165835.png

3、为onlyoffice安装中文字体
方法与手动安装onlyoffice插件类似,将准备好的中文字体上传到NAS中后,复制到 onlyoffice 容器内的 /usr/share/fonts/truetype/custom 路径中解压
然后在 onlyoffice 容器内执行 /usr/bin/documentserver-generate-allfonts.sh
回到nextcloud中打开一个文档查看字体是否安装成功

Pasted image 20260114171123.png

以上就是部署nextcloud并集成onlyoffice的教程了,部署完成之后可以把nextcloud作为私有存储、团队协作,使用起来还是比较方便的


评论11

playokLv.4 发表于 2026-1-14 20:23:36 | 查看全部 IP:美国 CloudFlare节点
写的好
没有车的老司机Lv.4绿联NAS社区会员用户 发表于 2026-1-15 09:42:18 | 查看全部 IP:–浙江–绍兴
这篇帖子非常好,解决了我一直以来https下需要认证的问题,另外问一下onlyoffice可不可以单独部署,如果单独部署,在onlyoffice服务器配置--》更多配置下要如何设置
wO5P2v楼主Lv.1 发表于 2026-1-15 10:04:29 | 查看全部 IP:–广东–佛山–高明区
没有车的老司机 发表于 2026-1-15 09:42
这篇帖子非常好,解决了我一直以来https下需要认证的问题,另外问一下onlyoffice可不可以单独部署,如果单 ...

单独部署onlyoffice这种情况我没试过,不过保证onlyoffice和nextcloud容器之间能够通信就可以
wO5P2v楼主Lv.1 发表于 2026-1-15 10:08:37 | 查看全部 IP:–广东–佛山–高明区
没有车的老司机 发表于 2026-1-15 09:42
这篇帖子非常好,解决了我一直以来https下需要认证的问题,另外问一下onlyoffice可不可以单独部署,如果单 ...

在docker网络里,可以使用教程里的服务名进行通信,也可以使用容器的IP进行通信,不过需要试验验证才能确认好不好用。其实教程里这样部署,onlyoffice也算是单独部署的了吧
没有车的老司机Lv.4绿联NAS社区会员用户 发表于 2026-1-15 11:02:51 | 查看全部 IP:–浙江–绍兴
wO5P2v 发表于 2026-1-15 10:08
在docker网络里,可以使用教程里的服务名进行通信,也可以使用容器的IP进行通信,不过需要试验验证才能确 ...

这样也可以了,只是问问,感谢
q089TJLv.1 发表于 2026-1-15 16:39:43 | 查看全部 IP:–河北
什么时候能打包直接安装啊
wO5P2v楼主Lv.1 发表于 2026-1-16 15:00:41 | 查看全部 IP:–广东–佛山–高明区
q089TJ 发表于 2026-1-15 16:39
什么时候能打包直接安装啊

就像应用商店那样的嘛,哈哈,第三方的镜像没办法
没有车的老司机Lv.4绿联NAS社区会员用户 发表于 2026-1-19 16:06:29 | 查看全部 IP:–浙江–绍兴
按教程,外网通过域名是访问没问题了,但是局域网访问不了,好像和overwriteprotocol 这4行有关系,删掉了就可以访问了,但是可以访问后,编辑office功能又不行了
wO5P2v楼主Lv.1 发表于 2026-1-22 10:12:19 | 查看全部 IP:–重庆–重庆
没有车的老司机 发表于 2026-1-19 16:06
按教程,外网通过域名是访问没问题了,但是局域网访问不了,好像和overwriteprotocol 这4行有关系,删掉了 ...

我这边部署的生产环境,没办法测试了,可以把问题描述一下问AI

评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2026 绿联NAS私有云社区 版权所有 All Rights Reserved. 粤公网安备44030002002555号| 粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表