目录

  •       前言
  •             一.开源相册怎么选?
  •       二、Immich系统部署方法
  •             1、导入镜像
  • path代表真实路径,XXX.tar代表镜像压缩包
  •             2、compose代码
  • 如果怕修改原有照片,最后加上ro,否则删除ro
  • 不同硬件可以在镜像后增加[armnn, cuda, openvino] 标签,比如支持cuda的独立显卡加速,可以为 ${IMMICH_VERSION:-release}-cuda
  • 下面的代码开启核显转码加速
  • devices:
  • – /dev/dri:/dev/dri
  • 这个目录存放AI模型
  • 自定义data位置
  • 自定义的上传照片存放路径,群晖需要先创建好
  • 自定义的数据库存放路径,群晖需要先创建好
  • 自定义的外部库存放路径
  • 下面修改数据库账号密码等信息
  •             3、各NAS系统部署项目方法
  • 启动容器
  •       三、Immich完整版配置方法
  •             一、外部库解决群晖重复照片问题
  •             二、解决模型无法下载,以及无法使用中文clip问题
  • 抱脸虫的镜像站
  • 多模态CLIP
  •             三、增加显卡加速
  •             四、增加中文地图
  • 前言

    家庭相册管理一直是我们日常生活的需求,不论是为了缓解“岌岌可危”的手机容量,还是打造家庭、儿童成长相册,或者是对摄影图片进行保存、汇总,都不可避免的需要接触到种类繁多的数码相册软件。
    一般来说,苹果用户会选择icloud作为手机存储和管理工具,安卓用户则会选择google photos,也有一部分用户选择网盘工具来管理和上传照片,虽然方便,但是却有几个缺点。一个是相册上云,隐私不在;二是存储越来越多,费用越来越高。
    那么,如何避免这些问题呢?答案很简单,那就是自建免费的相册管理工具,让全家的照片统统存在NAS或电脑里。

     


    一.开源相册怎么选?

    目前主流的开源相册分别是immich、photoprism、ente、荔枝、piwigo等。这里主要可以拿来说一下的就是immich、photoprism、ente三款,剩下的比较简易和轻量化,适合照片数量不多的人使用。
    🔶Photoprism:
    在几年前photoprism用的人还是挺多的,和immich可以一较上下,虽然支持AI分类、搜索,但是不支持clip,导致使用人数已经越来越低了,而且其亚洲人脸识别率很低
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    🔶Ente:
    Google Photos的模仿者,拥有端对端加密的特点,本身可以看作是一款商用软件,支持空间付费等。不过成也萧何败也萧何,端对端加密让应用几乎无法和其它应用去联动,所以对于个人用户而言,反而不是很友好。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    🔶Immich:
    开源相册系统中的T0,也几乎是用户的唯一选择。7月19日,immich宣布了关于软件收费的公告,不过说收费,更多的应该是捐赠后给予一个身份认证的意思,就算普通用户不捐赠,依旧可以无偿使用immich的所有服务。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    之后,immich新版本中,在左下角增加了未经授权的字样,虽然这个未经授权不是强制的,但是让用户感觉很不舒服,于是有大佬给出了自定义CSS修改方案,同时,这个决定这让开发团队在github上被狠狠的吐槽了一番。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    不过好的是,immich听取了社区的意见,在随后的更新中决定取消未授权字样。目前最新的v1.111版本中,已经完全没有相关提示了。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    本文基于immich最新v1.111.0版本,重新介绍如何安装这一套开源相册管理工具,并且通过一系列的DIY手段,解决外部存储、中文Clip、人脸识别、显卡转码加速、中文地图等等问题。

     


    二、Immich系统部署方法

    1、导入镜像

    如果无法访问docker下载地址的,可以通过本网盘下载镜像压缩包(exe格式),解压为tar格式以后上传至NAS的自定义路径。然后通过NAS的镜像导入功能导入,或通过ssh输入以下指令导入​​

    阿里:/kK4M9gHgFz7
    提取码: tr40

    path代表真实路径,XXX.tar代表镜像压缩包

    docker load -i /path/XXXX.tar

    2、compose代码

    🔻新建文件夹路径/volume1/docker/immich,在目录下新建或上传【docker-compose.yml】文件,复制compose代码并修改

    version: “3.8”
    name: immich
    services:
    immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    volumes:
    – ${UPLOAD_LOCATION}:/usr/src/app/upload

    如果怕修改原有照片,最后加上ro,否则删除ro

    – ${PHOTOS_LOCATION}:/usr/src/app/external:ro
    – /etc/localtime:/etc/localtime:ro
    env_file:
    – .env
    ports:
    – 2283:3001
    depends_on:
    – redis
    – database
    restart: always
    immich-machine-learning:
    container_name: immich_machine_learning

    不同硬件可以在镜像后增加[armnn, cuda, openvino] 标签,比如支持cuda的独立显卡加速,可以为 ${IMMICH_VERSION:-release}-cuda

    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}

    下面的代码开启核显转码加速

    devices:

    – /dev/dri:/dev/dri

    volumes:

    这个目录存放AI模型

    – /volume1/docker/immich/model:/cache
    restart: always
    redis:
    container_name: immich_redis
    image: library/redis:6.2-alpine
    restart: always
    database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.2.0
    environment:
    POSTGRES_PASSWORD: ${DB_PASSWORD}
    POSTGRES_USER: ${DB_USERNAME}
    POSTGRES_DB: ${DB_DATABASE_NAME}
    POSTGRES_INITDB_ARGS: ‘–data-checksums’
    volumes:

    自定义data位置

    – ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: always
    command: [“postgres”, “-c” ,”shared_preload_libraries=vectors.so”, “-c”, ‘search_path=”$$user”, public, vectors’, “-c”, “logging_collector=on”, “-c”, “max_wal_size=2GB”, “-c”, “shared_buffers=512MB”, “-c”, “wal_compression=on”]

    🔻同一个路径下,增加【.env】文件,代码如下

    TZ=Asia/Shanghai
    IMMICH_VERSION=release
    HF_ENDPOINT=hf-mirror.com

    自定义的上传照片存放路径,群晖需要先创建好

    UPLOAD_LOCATION=./library

    自定义的数据库存放路径,群晖需要先创建好

    DB_DATA_LOCATION=./postgres

    自定义的外部库存放路径

    PHOTOS_LOCATION=/volume1/homes/name/Photos/

    下面修改数据库账号密码等信息

    DB_PASSWORD=postgres
    DB_USERNAME=postgres
    DB_DATABASE_NAME=immich

    3、各NAS系统部署项目方法

    方法一:通用SSH部署compose(NAS、服务器、PC通用)

    # 来到文件夹目录
    cd volume1/docker/容器名

    启动容器

    docker-compose up -d

    方法二:群晖部署compose
    打开Container Manager,选择项目,点击新建,选择路径,点击下一步即可
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    方法三:威联通部署compose
    打开Container Station,选择【应用程序】,点击【创建】,将代码复制进去,点击验证后部署即可
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    方法四:铁威马部署compose
    打开Docker Manager,选择【项目】,点击【+】,选择文件路径以后,填入代码即可
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具

     


    三、Immich完整版配置方法

    Storage Template功能建议大家不要开启,这样可以保持原有的文件格式。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    首先我们来切换中文界面,点击右上角账号,选择【Account Settings】-【Language】,把【English】切换成【Chinese (Simplified)】
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具

    一、外部库解决群晖重复照片问题

    接着,我们来引入外部图库,即原来通过其它方式传入NAS的图片,我们都可以将它们引入为immich的外部图库,进行集中管理。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    点击新建图库最右侧的【…】,选择【编辑导入路径】,然后把我们在compose代码里设置的容器内路径填入,比如本文中的【/usr/src/app/external】。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    完成以后,针对群晖用户,点击【扫描设置】,填入【/SYNOPHOTO_*. 】、【/@eaDir/*】等等,这个是群晖photos默认生成的缩略图、缩略视频。如果不排除,immich会把群晖的低质量照片扫描4份左右,而且无法通过重复文件删除,特别麻烦。其它系统可以根据自定义忽略内容,比如、【/tmp/*】。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    这两个设置好以后,点保存,然后依旧点【…】,选择【扫描新的图片文件】
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    然后捏,我们就可以在immich里看到含群晖原有相册在内的照片啦。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具

    二、解决模型无法下载,以及无法使用中文clip问题

    目前的版本,不论是clip还是人脸都需要从hugging face下载,国内网络不通,加上镜像库也无法下载。因此要使用AI功能,我们需要先下载模型。
    支持中文clip的模型【XLM-Roberta-Large-Vit-B-16Plus】,人脸识别的模型【buffalo_l】,国内可以通过下面的镜像站访问,也可以通过cherry的网盘下载。

    # 网盘
    阿里云盘:s/kK4M9gHgFz7
    提取码: tr40

    抱脸虫的镜像站

    hf-mirror.com/immich...

    🔻最终的路径如下

    # 自然语言检索的路径
    …/cache/clip/XLM-Roberta-Large-Vit-B-16Plus

    多模态CLIP

    …/cache/Multilingual CLIP/XLM-Roberta-Large-Vit-B-16Plus

    🔻文件夹路径示例,可以参照这个
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    保存以后如果日志有提示说明正确
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    完成以后,记得到任务里去跑一下智能搜索,如果照片多的话,会使用很长时间,而且因为是cpu跑的,基本NAS就做不了其他事情了。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    分别搜索【女孩】、【马】、【太阳】,可以正确检索出相关的图片并排序。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具

    三、增加显卡加速

    显卡加速一共有2个用途,一个是给AI算法加速(之前代码备注了,有cuda镜像可以下载,这里就不讨论了),一个是给转码加速。常规的NAS因为无法外置显卡,采用的都是核显,所以只能转码加速,方法和emby等一样,增加/der/dri即可。
    在代码里已经说明了,需要核显加速的取消#备注即可
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    重新创建immich堆栈,完成以后,来到【设置】-【视频转码设置】
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    打开【硬件加速】-【加速器API】-【快速同步(Quick Sync)】就ok了,记得保存哦
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具

    四、增加中文地图

    给immich增加中文地图的方法,是对地图样式进行修改。根据值友@范先森94的方法,注册MapTiler并生成样式即可。
    登录并注册MapTiler,选择【newmap】
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    在页面上选择右下角的【CUSTOMIZE】。进入下面的页面后,点击左侧把语言更改为中文
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    选择自己所在地区,点击【定位】按钮固定默认位置
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    点击右上角Save保存
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    点击publish发布地图
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    完成以后退回上一页,选择红框内的style,点击复制
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    回到immich,路径【管理】-【设置】-【地图与GPS设置】,把地图复制到浅色模式下保存。
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具
    可以看到,已经默认为我们设置的地图样式和定位了
    Immich收费了?25刀!后知后觉的我,分享几个方法DIY这款最强家庭照片管理工具

    作者:admin  创建时间:2024-12-24 17:32
    最后编辑:admin  更新时间:2024-12-24 17:35