NextCloud跨版本升级
URL
date
Apr 18, 2022
slug
nextcloud
status
Published
tags
Docker
NextCloud
summary
NextCloud长期不升级,一次升级就炸了
type
Post
安装
自行查看github的readme https://github.com/docker-library/docs/blob/master/nextcloud/README.md
选择postgres版本的安装方式(因为pg秒杀mysql)
这里有个问题,需要先`docker-compose up db` `docker-compose down` 然后`docker-compose up`,具体查看https://github.com/nextcloud/docker/issues/1335#issuecomment-748933347
配合使用
版本
- minio verison 2022-04-12T06:55:35Z
- nextcloud 23.0.3
- aria2-pro latest
规定
创建文件由minio创建,这样minio会生成目录和管理,nextcloud和aria2只负责写入
- 首先创建minio,并将minio挂载到最大的路径下 如
/data
- 在minio界面创建bucket
aria2-download
- 安装aria2 , 挂载
/data/aria2-download:/downloads:rw
这样aria2下载的文件,可以被minio管理了
- 安装nextcloud,并挂载
/data:/home:rw
下,进入容器执行chmod 777 -R /home && chown -R www-data /home
- nextclud配置外部存储,打开 应用中的External storage support ,这样nextcloud也可以看到这些文件了
添加目录
- minio aria2 nextcloud公用同一个文件夹会有权限的问题
增加脚本
cron-chmod.sh
找到crontab -e
每分钟执行一次, - 唯一的缺点就是,文件上传后,一分钟才可以有操作的权限,这个其实也可以改(crontab -e 增加多条,分别执行sleep),但是没啥必要
配置
挂载外部磁盘
开启外部设备
文件修改出错
删除数据库锁定文件
关闭文件锁
在
config/config.php
中添加 filelocking.enabled ⇒ false
重启nextcloud升级
通过管理员账户,进入“管理”-“概览”-“版本”,下面提示的版本是可以升级的版本,不能直接更新到latest!!!!
所以要去
docker-compose
中更改version
,一点一点的更新如果更新了,就无法挽救了,就只能使用下面的强制更新了
强制升级
一般情形下,通过
进入容器
可以获取到最新的nextcloud容器镜像,然后nextcloud会自行更新到最新版本。
由于我使用了一段时间nextcloud应该是在16这个版本,然后直接pull下来了18版本。此时,发现我的nextcloud无法打开,出现如下错误:
通过以下命令,查询到相关的版本
结果
通过以下命令进行升级
结果
发现不允许升级。
以下高能到来,强制进行升级 参考链接
修改以下这个文件
nextcloud/lib/private/Updater.php
搜索
doUpgrade
修改保存之后,再次通过以下命令就可以升级
等待升级完成之后,使用以下命令关闭维护模式
结果
完成以上步骤之后,重新打开网页即可进入到Nextcloud里面。
一句话忠告:尽量不要夸太多版本升级,否则会出现太多的异常无法解决。
too many requests
这是因为nextcloud默认的防爆力破解机制所致
'auth.bruteforce.protection.enabled' => false,