Immich部署及使用
提示“找不到人物”
人脸识别失效,一般是机器学习模型下载失败。官方镜像(immich-machine-learning)默认会连huggingface.co下载镜像,但国内访问不了。有个镜像站:hf-mirror.com,可以替换。
有用的帖子:
- The ML service can’t connect to Hugging Face. How can I download the models manually?
- Does the app support Chinise?:主要是智能搜索要支持中文语义需要换一个模型,
XLM-Roberta-Large-Vit-B-16Plus - 关于immich几个细节问题的说明
- PhotoPrism和immich的对比
简而言之就是:
add HF_ENDPOINT to your env file
在env里添加HF_ENDPOINT=https://hf-mirror.com
工具
- immich-go:强大的导入工具,可以按照文件夹上传成相册,上传打tag等。但导入后文件由immich接管,虽然相册结构和文件夹结构一致,但相当于把文件夹中的照片上传一份(冗余)到immich内部存储,而内部存储的文件夹结构会遵循immich自己的结构,也就是说不会保留原始文件夹结构。适用于将照片交给immich管理的场景,可能会在以后迁移到其他工具时造成麻烦。
- immich-folder-album-creator:可以直接将外部图库按照文件夹创建相册,此时这些照片仍然属于外部图库,不占immich内部空间。仅仅是按照文件夹结构创建了相册。
- 更多工具参考:https://awesome.immich.app/
使用心得
部署至今已有2月余,下面谈谈使用心得,就是如何更好的组织immich使得照片更加井井有条。
以前整理好的图片用外部图库的方式引入
在使用immich之前,你可能已经用自己的管理方式(例如拆分文件夹)整理了一大堆照片。这些照片如果直接导入的immich,就会丢失之前的文件夹结构,后续如果你不想用immich了,无疑会成为一个症结。因此,对于这部分照片,适合使用外部图库的方式来管理。当然,一个很自然的需求是按照文件夹结构生成相册。这一点可以通过上面提到的immich-folder-album-creator来解决。同时启用一个定时任务,每天定时处理外部文件夹的变更,实时调整到immich内部的相册中。例如,文件夹A新增了几张照片,那immich中对应的相册也要新增那几张照片。
$ cat run.sh
#!/bin/bash
API_KEY=*************************
API_URL=http://localhost:2283/api
python3 immich_auto_album.py /mnt/android $API_URL $API_KEY \
-r /mnt/segate \
--album-levels=-1 --album-separator " | " \
--share-with "xxx@qq.com" \
--read-album-properties --find-assets-in-albums "$@"
$ crontab -l
0 5 * * * cd /opt/immich/tools/immich-folder-album-creator && ./run.sh --unattended那么如何对这些照片做同步呢?
我目前的做法是,使用其他工具(syncthing)将手机中其他相册(即此前归类好的文件夹)同步到immich所在的服务器对应的外部图库目录,然后定时脚本每天会将相册变更同步到immich内部,immich自己也会定期扫描外部图库。一般前一天的变更,第二天就能在immich内部正常体现。
更新频率高的用immich管理
对于经常更新,日常变动,加加减减的照片,例如手机相册(DCIM/Camera)。每天拍照记录信息也好,拍风景也好,就是不拍,也会定期清理一些当时有用,现在无用的照片。对于这些相册,我直接用immich手机端app,使用其自动备份功能,将手机文件夹备份成immich内部相册。这样,手机相册文件夹中的变更,可以实时体现到immich系统内。

上传目录结构管理
默认从webui/app上传的照片会被hash,分散到hash前缀的文件夹中,对手动管理来说非常不友好(但可能对程序来说性能更高)。秉着“万事留一线,日后好相见”的原则(万一以后不用它了),还是有必要简单整理一下目录结构。Immich提供了存储模板来自定义上传目录结构。目前我的配置是,
- 如果照片隶属于相册,直接创建相册目录,把照片放进去。
- 如果照片未隶属任一相册,按照YYYY/mm的目录整理。
- 我的存储模板:
{{#if album}}{{{album}}}{{else}}{{y}}/{{MM}}{{/if}}/{{filename}}
总结
我选择Immich的理由如下,
- 好看的UI,类似Google Photo
- 好用的WebUI,功能比app还多
- 提供各平台app
- 多用户管理包括:配额管理,共享相册,公开分享,协同共享等
- 基础的机器学习能力:人脸识别、OCR、智能搜索
搭建、维护自己的照片库是一件非常有价值的事情,而且时间越久价值越高。感谢immich开发者提供这么好的工具,感谢immich社区!