最近把容器都转移到了docker-compose下面,yml文件都是基本是官网上找的,今天上午偶然发现Container Manager的网络界面下出现了好多网络界面,命名都是容器名称-default,应该是因为yml文件没有声明导致的。
强迫症不能忍,把运行的容器都重新构建了一下,加了命令network_model: bridge。现在只剩下host和bridge网络,看起来清爽多了。结果immich-server报错,不能进入访问界面了。
在自己瞎折腾的时候,不小心把数据库文件夹postgres删除了,彻底完蛋,当时6万多张照片,扫描了好几天,实在不想再来一遍。
初始设备我没改,每天有会自动备份,备份文件在/library/backups下面,转移到另一个文件夹中,不要在immich文件夹下面,幸好官网上有备份恢复教程,按教程操作了一遍,顺利保住了数据,记录一下。
步骤:
1、控制面板打开SSH,用SSH工具连接群晖
2、输入命令:
sudo -i
然后输入密码,切换权限,依次输入下面的命令
cd /volume1/docker/immich #cd到immich的安装路径,大家改成自己的路径
docker-compose down -v #这一步会抹掉安装文件夹里的资料,所以要事先转移走备份文件
docker-compose pull #拉取镜像。
docker-compose create
docker start immich_postgres #启动数据库容器
sleep 10
gunzip < "/volume1/docker/immich0/library/backups/immich-db-backup-1734314400043.sql.gz" #我这里备份文件是放在另一个immich的同级文件夹immich0下面的,大家按实际路径来。
| sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g"
| docker exec -i immich_postgres psql --username=postgres
等待完成
docker-compose up -d
搞定!
官网相关文档Manual Backup and Restore
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
,