重装nextcloud并使用过去的帐号和数据
场景
个人使用场景,docker安装nextcloud(下文简称nc),数据挂载在独立磁盘/data/nas/nextcloud中
重装系统后,希望继续使用之前的帐号和文件。
如果直接选择之前的目录,nextcloud向导会报错说已经存在这个目录无法继续,nc从设计上,似乎就没考虑环境重装的可能性。
核心要义
核心要义:重装系统前备份容器内的:/var/www/html/config/config.php
如果备份过,直接将这个文件覆盖容器内的文件即可。
折腾步骤
如果没备份过,按照这个步骤实验通过:
先拉镜像
docker pull nextcloud
然后将原始数据目录改名,
mv /data/nas/nextcloud /data/nas/nextcloud0
启动容器
docker run -itd --name nas -v /data/nas/nextcloud:/data -p 8000:80 nextcloud
docker exec -it nas /bin/bash
chown -R www-data:www-data /data
浏览器访问nc的地址,添加和过去同名的用户(密码也相同,密码不同的情况是否可以成功未实验)。
添加完毕,停止容器,删除/data/nas/nextcloud目录,然后把之前改名的原始目录改回来:
mv /data/nas/nextcloud0 /data/nas/nextcloud
重新启动nextcloud容器,浏览器访问,发现过去的文件都回来了。web端一切正常。
此时如果使用手机同步照片,会提示访问太频繁,发现帐号已经事实被禁用,此时可以卸载客户端重新安装,登录的时候选择使用传统模式登录
,即可恢复正常。
一切确认没问题后,将容器设置为自动启动:
docker update --restart=always <container id>
实验环境
- Docker version 20.10.2, build 20.10.2-0ubuntu1~20.04.2
- Nextcloud Coherence for iOS 3.3.1.1
- 使用sqlite