需求#
实现家庭云相册,释放手机存储空间,避免照片随着手机 GG 而 GG 的尴尬,并且自建云相册使得你的隐私掌握在自己手中,而不必担心在公有云中被扫描窥视外泄等不爽,并实现网速自由等。
经过 Google 之后,发现 Immich 开源项目非常的受欢迎,并且其已有功能也符合上述需求,并且还超越了需求,拥有更多令人惊叹的功能,比如支持多用户相册管理等。
安装 & 运行#
通过官方详尽且丰富的 安装文档,相信在安装和运行这块,不会产生困扰,我使用的是 Docker Compose 的部署方式。
一旦运行成功,可以通过网页和 APP 的方式来管理相册,并且提供 CLI 批量上传,也就是说支持三种不同形式的客户端:
-
网页通过访问
http://[server_ip]:2283
-
APP 提供 Android/IOS:Mobile App | Immich 支持前台运行时和后台自动备份
如果 APP 无法登录到服务器,可能的原因有:
- 服务器防火墙入站规则中没有允许
2283
TCP 端口,当然你也可以直接禁用防火墙 - APP 版本太低了,服务器版本太高,只需将 APP 升级至 latest
- 服务器防火墙入站规则中没有允许
-
CLI 批量上传:Bulk Upload (Using the CLI) | Immich
当然这只是它提供的最基础的功能,想了解更多功能,请参阅文档:immich.app/docs
数据迁移#
如果先前已经在某个 Immich 服务器上传了很多照片,但由于某些原因使得该服务器必须下线,这时数据迁移变得至关重要,也就是将数据原封不动的移动到新的服务器上面,官方提供了相应的文档,这分为两个部分:
-
Postgres 数据库的 Backup 和 Restore:Backup and Restore | Immich
如果你跟我一样,是在 Windows 上运行 Docker Desktop,那么可能需要将文档中的命令替换成如下所示:
-
Backup(当然需要将磁盘路径替换为你自己的):
docker exec -t immich_postgres pg_dumpall -c -U postgres > "D:\dev\containers\immich\backup\dump.sql"
-
Restore:先按照文档所示,然后跳过
sleep 10
命令,因为 Windows 中没有它啊(你可以通过docker logs -f immich_postgres
来判断数据库是否启动成功),接着自行解压 Backup 后的文件(如果备份是压缩包形式),通过以下命令来还原数据库(当然需要将磁盘路径替换为你自己的):docker exec -i immich_postgres psql -U postgres -d immich < "D:\dev\containers\immich\backup\dump.sql"
-
-
照片文件本身的迁移(磁盘文件备份):Backup and Restore | Immich
其实很简单,就是将磁盘目录移动(下载)到新的服务器上。
当你将以上两个部分都迁移完毕后,记得在相应的位置运行 docker-compose up -d
命令来启动全部的服务。