简述
使用nextcloud运行网盘服务,再加入onlyoffice/documentserver实现在线编辑功能。
运行nextcloud
将以下几个目录持久化到宿主机,防止配置和数据丢失
1 | /var/www/html/data |
同时,为容器传入redis环境变量,以触发nextcloud的缓存机制,缓存的环境变量名称可以通过 /var/www/html/config/redis.config.php 看到,内容如下:
1 |
|
可以看到如果存在REDIS_HOST这个环境变量,就可以触发缓存,我看网上很多文章的做法是修改apcu.config.php,手动加入以上redis配置代码块,感觉没这必要。
运行容器
1 | docker run -d --name cloud -p 888:80 -v /var/data/nextcloud/apps:/var/www/html/custom_apps -v /var/data/nextcloud/config:/var/www/html/config -v /var/data/nextcloud/data:/var/www/html/data -e REDIS_HOST='192.168.11.83' -e REDIS_HOST_PORT='6380' -e REDIS_HOST_PASSWORD='your-password' nextcloud:17.0.1 |
启动后稍等片刻,访问http://ip:888,即可看到网盘安装界面。
推荐选择mysql作为数据库。
安装onlyoffice服务
1 | docker run -i -t -d --name officeserver -p 51000:80 --restart=always onlyoffice/documentserver |
如果运行没问题,进入http://ip:51000可以看到如下界面
安装nextcloud插件
由于国内网络环境不够因特乃熊,网盘里的插件管理界面99%的时间是打不开的,等两个小时也只能显示白板(至少我这边是这样)。
所以使用离线方式安装插件。
下载插件
1 | cd /var/data/nextcloud/apps |
配置插件
将插件源码下载到apps目录以后,最好重启下nextcloud,再去启用插件
1 | docker restart cloud |
重启后进入页面,到插件设置
启用列表中新出现的onlyoffice插件
启用完成后进入系统设置,左侧的选项会多出一个onlyoffice
填写自己的documentserver服务IP和端口
点击保存后,如果验证51000端口的服务没问题,会出现允许使用在线编辑的格式选项。
勾选需要的格式后,就可以到网盘主界面的文件列表中添加一个比如word文档,来试试在线编辑了。
可以看到多出来了几个新建文件的格式,试试word
带劲