NextCloud-Docker迁移-跨版本升级

背景

迁移服务器之后正常迁移nextcloud服务,因为是部署在docker中,所以升级也比较方便,但是因为docker-compose.yml 中是镜像latest,所以迁移后自动更新了版本。导致无法启动。

具体表现

发现一直处于维护中,然后提示升级失败
查看迁移前环境镜像的版本 docker image inspect nextcloud:latest|grep -i version,然后更改yml配置文件中镜像的版本为看到的版本。
发现部分文件已经升级:相关内容

恢复方法

因为已经提前做了备份,所以直接删除当前持久化目录,从备份中恢复,然后更改docker-compose的yml文件,更改镜像版本为上面查询的版本,最终启动正常,恢复服务。

正常跨版本

因为看到新版本也更新了很多特性,所以这里也做了一些版本升级,正常启动如下

想要升级到新版本,可以docker-compose设置为当前版本正常启动后登录,进入管理设置-概览,会看到提示可更新的版本

也可以查看官方升级路线,这里是官方版本路线:https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule

然后更改docker-compose的yml配置文件版本号为可更新的版本,再重新启动 docker-compose up -d

后面重复以下步骤

  • 升级启动后首先进入概览页面,
    1. 如果需要手动点击升级,则点击一下。

    2. 查看告警,按照提示进入docker使用相关命令修复。然后刷新管理页面UI,看到无相关告警后。进行下一步。

      备注:命令执行可能需要切换用户 --user www-data,具体命令搜索nextcloud 修复索引,搜索到相关命令。

    3. 明确且不关注的告警,如url不安全,可根据需求判断是否处理。

  • 更改yml配置文件的版本为当前概览页面提示可更新的版本,然后重启docker-compose up -d

最终本次升级到24.0.8,(此刻最新稳定包为25.0.2)服务一切正常,本次升级结束。

问题

joplin使用webdav连接,多个客户端有一个客户端无法连接.

报错信息

File with name joplin/locks/1_1_9d60348fb0ae4f0f8b3a2ce749390c3e.json could not be located

解决方法

当前nextcloud版本为24.0.8 ,还可以升级到最新版本25.0.2
尝试多种方法无法解决后,尝试升级,升级后正常解决。

最近删除文件夹打不开

表现:

最近删除文件打不开、卡死。

后台日志

管理页面日志如下:
Allowed memory size of 536870912 bytes exhausted (tried to allocate 20480 bytes) at /var/www/html/3rdparty/doctrine/dbal/src/Driver/PDO/Result.php#120

分析

尝试了很多方法增加php内存,但是没有解决问题,此时发现:历史删除文件存储目录很大。

推测是文件太多,这里手动全部删除。
命令
sudo nextcloud.occ trashbin:cleanup -all-users

发现已经可以正常访问 最近删除文件夹了。

优化配置

为了避免长期不维护之后,最近删除文件目录再次打不开。配置一下nextcloud的回收站设置。

官方文档说明: https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/config_sample_php_parameters.html#deleted-items-trash-bin

最终根据自己的情况,我增加了下面的配置

  'trashbin_retention_obligation' => 'auto,90',
  'versions_retention_obligation' => 'auto,90',  

配置文件docker目录下 /var/www/html/config/config.php
对应宿主机目录 xxx/docker-nextcloud_nextcloud/_data/config/config.php
在配置文件 $CONFIG = array () 之间插入即可。

备注

IT 内容具有时效性,未避免更新后未同步,请点击查看最新内容: NextCloud-Docker迁移-跨版本升级
文章首发于: http://nebofeng.com/2022/12/17/nextcloud-docker%e8%bf%81%e7%a7%bb-%e8%b7%a8%e7%89%88%e6%9c%ac%e5%8d%87%e7%ba%a7/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nextcloud 是一个开源的文件同步和共享平台,可以让用户随时随地访问并分享文件。Docker 是一种轻量级的容器化技术,可以方便地运行和部署应用程序。Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。下面是使用 Docker Compose 部署 Nextcloud 的步骤: 1. 首先,安装 DockerDocker Compose,确保在本地环境中可用。 2. 创建一个目录,用于存放 Nextcloud 的相关文件和配置。 3. 在该目录下创建一个名为 "docker-compose.yml" 的文件,并使用文本编辑器打开。 4. 在 "docker-compose.yml" 文件中定义 Nextcloud 服务的配置。例如,设置映像名称、端口映射、数据卷等。可以参考 Nextcloud 官方文档中的示例配置。 5. 保存并关闭 "docker-compose.yml" 文件。 6. 打开终端,进入到存放 "docker-compose.yml" 文件的目录。 7. 运行命令 "docker-compose up -d",开始构建和启动容器。该命令会读取配置文件,并根据配置创建和管理容器。 8. Docker Compose 将会自动下载 NextcloudDocker 镜像,并创建相应的容器。 9. 完成后,可以使用浏览器访问 Nextcloud,在地址栏输入设置的端口号即可。 使用 Docker Compose 部署 Nextcloud,可以简化整个部署过程,并且方便进行扩展和维护。同时,Docker 提供了良好的隔离性,保证了应用程序的安全性和稳定性。希望以上步骤能帮助到您成功部署 Nextcloud

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值