最早之前使用的是百度网盘备份视频和照片,近两年用的是不怎么限速的阿里网盘。近期想从百度网盘下载点东西,限速后太过费劲,所以准备弃用,开了个 SVIP,将所有文件全部下载到了硬盘。同理,担心后续阿里网盘限速,虽然视频照片这类资源备份后基本不怎么再次下载,但本着我不下载但你不能限速的原则,找到了一个开源的相册备份应用 immich
。
也对比过一些其他的开源软件,比如 NextCloud,但是个人觉得还是 immich 更好用。最近用了一段时间,体验还不错,内网下上传照片极快,也有对应手机平台的 APP 支持,体验较好。这里记录下通过 docker compose 安装 immich 的过程和一些改动。
¶一、环境与链接
最好能有科学上网,远程服务器使用本地代理
- 硬件:中柏 n100 pro Ⅱ 16G + 512G
- 系统:Ubuntu 24.04
- 官网:https://immich.app/
¶二、安装
¶2.1 安装 docker
我是通过 docker compose 安装的,简单记录下如何安装 docker compose:
1 | Add Docker's official GPG key: |
1 | sudo apt update -y |
¶2.2 docker-compose.yml
1 | mkdir -p /mnt/docker/immich-app |
官网的安装步骤在这里:https://immich.app/docs/install/docker-compose/。下载 docker-compose.yml
和配置文件 .env
,如果有硬件加速的能力(N 卡之类的硬件)可以点开官网文档查看,这里不进行。
1 | wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml |
vim .env
追加时区:TZ=Asia/Shanghai
1 | docker compose up -d |
稍等片刻即可访问,默认端口是 2283
。我这里是在局域网其他电脑访问的:http://192.168.31.101:2283。第一次进入会有一些初始化的设置。
¶2.3 大模型
immich 强大在可以支持大模型处理,能够标注人脸和按文字搜索照片。上传一定量图片后,如果左侧 探索 功能中还是没有人脸,可能是由于服务器端存在网络问题,此时需要在服务器端准备好大模型。在 docker-compose.yaml
文件同级新建 model_cache
文件夹,然后执行:
1 | cd /mnt/docker/immich-app |
这里我们会用到两个大模型 XLM-Roberta-Large-Vit-B-16Plus 和 buffalo_l,分布用于中文搜索(以文搜图)和人脸识别。用到的的相关文件我都放到了 夸克云盘 immich-docker,也可以自行下载。
我们需要分别下载并解压到 model-cache/clip
和 model-cache/facial-recognition
目录下。因为仓库文件较大,需要借助 git-fls:
1 | tar -zxvf git-lfs-linux-amd64-v3.6.0.tar.gz |
注意: 大模型的路径是有讲究的。
1 | cd /mnt/docker/immich-app/model-cache/clip |
1 | cd /mnt/docker/immich-app/model-cache/facial-recognition |
vim .env
定义大模型的路径:
1 | # model cache path |
vim docker-compose.yml
使用大模型的路径:
分别使用两个大模型,然后 在服务器端重启 immich。
¶2.4 重启 immich
1 | docker stop immich_server immich_machine_learning immich_redis immich_postgres |
重启完成后,重新拉起相关的任务。
等待运行完成,搜索功能就有人脸分组了。
¶2.5 更新 immich
进入 immich 时如果有更新提示,可以在服务器端执行:
1 | docker compose pull && docker compose up -d |
¶三、卸载
如果体验后不想使用,可以按以下方式卸载:
1 | docker stop immich_server immich_machine_learning immich_redis immich_postgres |
自行清理对应的容器和镜像,可以酌情删除 /mnt/docker/immich-app
文件夹。