前言

在个人的照片管理程序中,从最开始使用的Nextcloud,之后到群晖的DS Photo,后来到Photoprism,每一款程序或多或少都有点让我无法满意的地方。

Nextcloud的功能丰富,集文件管理、照片管理、邮箱、会议等功能一体,稍显臃肿,而且人脸识别 Face Recognition 安装非常费力;

DS Photo照片网页浏览是个硬伤,略微简陋,人脸识别不是非常精确;

Photoprism最大的硬伤是人脸识别,不管是亚洲人还是非洲人,都无法识别,而且没有原生App,导致IOS需要购买第三方应用来进行上传备份,Android系统也是依赖第三方应用。

而Immich可以完美的解决这几款应用的不足。

简介

高性能自托管照片和视频管理解决方案

Home | Immich

immich-app/immich: High performance self-hosted photo and video management solution. (github.com)

目前Github上面已经 31.8k Starred。

功能特性 移动端 网页端
上传并查看照片和视频
软件运行时自动备份 N/A
忽略重复的项目
选择需要备份的相册 N/A
下载照片和视频到本地
多用户支持
相册与共享相册
可拖动的快速滚动条
支持RAW格式
元数据视图(EXIF、地图)
通过元数据、对象、人脸和标签进行搜索
管理功能(用户管理)
后台备份 N/A
虚拟滚动
OAuth 支持
API Keys N/A
实况照片备份和查看
支持360度全景图显示
用户自定义存储结构
公共分享
归档与收藏功能
足迹地图
好友分享
人脸识别与分组
回忆(那年今日)
离线支持
只读相册
照片堆叠

安装

有多种安装方式:

  1. 命令行安装

    1
    curl -o- https://raw.githubusercontent.com/immich-app/immich/main/install.sh | bash
  2. Docker Compose(推荐)

    1
    2
    3
    4
    mkdir ./immich-app  
    cd ./immich-app
    wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
    wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env

也可以下载额外的文件来为机器学习和转码启用硬件加速:(本文章暂不涉及)

Hardware Transcoding [Experimental] | Immich

Hardware-Accelerated Machine Learning [Experimental] | Immich

1
2
wget -O hwaccel.transcoding.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml
wget -O hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml

接着只需编辑 .env 文件的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secret for postgres. You should change it to a random password
DB_PASSWORD=postgres

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

一般建议更改数据库密码即可 DB_PASSWORD=postgres

最后启动容器:

1
docker compose up -d

这个过程取决于网络环境,这也是在国内使用该程序最头疼的一点,如果没有很好的网络环境,建议直接在后台挂着,几个小时就会自己跑完~

当然还有其它方式进行安装,适配Kubernetes,Unraid,Portainer,All-in-one,TrueNAS等等,具体可以查看官方文档。

使用

安装完成后可以通过 IP:2283 访问,首次访问设置管理员账号和密码。

后面就简单了,根据自己的需求进行相应设置。

升级

如果需要升级的情况,强烈建议访问Github的页面进行阅读更新内容!

1
docker compose pull && docker compose up -d

优缺点

优点:

  1. 原生App,完美适配;

  2. 人脸识别非常给力;

    如果第一次扫描不到人脸,在下图位置点击 ALL 重新扫描一下即可:

  3. 支持硬件加速(由于我的设备目前只有核显,留待下次体验);

  4. 时间轴精确,可以查看图片元数据;

  5. 基本支持全格式,HEIC、实况照片等。

缺点:

  1. 国内网络拉跨,拉取困难;

  2. 网页界面无中文(手机App适配中文)。

展示

最后

可以说,Immich是我用过几款照片管理工具中最强大的一款,用一个词来形容就是:遥遥领先