最近把容器都转移到了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 #这一步会抹掉安装文件夹里的资料,所以要事先转移走备份文件群晖Container Manager下immich数据库恢复记录

docker-compose pull #拉取镜像。群晖Container Manager下immich数据库恢复记录

docker-compose create群晖Container Manager下immich数据库恢复记录

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群晖Container Manager下immich数据库恢复记录

等待完成

docker-compose up -d群晖Container Manager下immich数据库恢复记录

搞定!

官网相关文档Manual Backup and Restore

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。