【NAS】搭建属于自己的相册备份工具 · Mt_Photos

💠前言


  • MTPhoto

  • 官网:https://mtmt.tech

  • MT Photos:一款为Nas用户准备的照片管理系统,支持自动整理、分类您的照片,比如:时间、地点、人物、照片类型。

  • 功能特点

    • 支持Docker部署
    • 支持多用户
    • 支持时间线方式展示您的照片
    • 支持以文件夹的方式展示您的照片
    • 支持人脸分类
    • 支持地点分类
    • 支持Live Photos的无损备份、下载、显示
    • 支持场景分类(比如:截图/动物/风景等)
    • 通过影集分享,您可以方便地将照片分享给家人
    • 支持IOS/安卓 APP
  • 收费情况

    • 99元终身

💠环境


  • 设备:群晖NAS
  • 芯片:i5-9500T
  • 部署方式:Docker-compose

💠Docker部署方式已包含CLIP和人脸识别的AI大模型.


  • 教程更新日期:2026-6-18
  • 官网文档:https://mtmt.tech/docs/advanced/ml
  • 部署方式:Docker-compose
  • 通过SSH工具,连接设备后台,使用命令行进行部署,更高效.
  • 创建目录,命名为mt_photos.
  • 创建YML文件,vim docker-compose.yml 内容如下:
services:
  mtphotos:
    image: mtphotos/mt-photos:latest
    container_name: mtphotos
    restart: unless-stopped
    ports:
      - 8963:8063           # 左侧端口可自定义
    volumes:
      - /mnt/mydisk/ssd/mt_photos/config:/config
      - mt_photos_pg:/config/pgsql
      - /mnt/mydisk/ssd/mt_photos/upload:/upload
      - /mnt/mydisk/ssd/mt_photos/upload/Liu
      - /mnt/mydisk/ssd/mt_photos/upload/Hygge
      - /mnt/mydisk/ssd/mt_photos/upload/Baby
    environment:
      - TZ=Asia/Shanghai
    depends_on:
      - mtphotos_ai
      - mtphotos_face_api

  mtphotos_ai:
    image: devfox101/mt-photos-ml:v2.7.5
    # runtime: nvidia       # 如果需要使用cuda,就取消这一行的注释
    container_name: mtphotos_ai
    restart: unless-stopped
    devices:
      - "/dev/dri:/dev/dri" # 如果需要使用intel核显,就取消这一行和上一行的注释
    ports:
      - 3603:3003           # 左侧端口可自定义
    volumes:
      - /mnt/mydisk/ssd/mt_photos/ml-cache:/cache # 用来存放各种识别模型的文件
    environment: 
      - API_AUTH_KEY=7XrNCzwmTzcA2vGwX
      # - HF_ENDPOINT=https://hf-mirror.com # 如果下载模型失败,可以尝试取消这一行的注释,使用hf的镜像地址下载模型
      # 下面2行为自定义CLIP模型的示例
      # - CLIP_VISUAL_MODEL_NAME=XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k
      # - CLIP_TEXTUAL_MODEL_NAME=XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k

  mtphotos_face_api:
    image: crpi-gcuyquw9co62xzjn.cn-guangzhou.personal.cr.aliyuncs.com/devfox101/mt-photos-insightface-unofficial:latest
    container_name: mtphotos_face_api
    restart: unless-stopped
    ports:
      - 8966:8066            # 左侧端口可自定义
    environment:
      - API_AUTH_KEY=LBrrx7V2N2yVbjoue  # 密钥请自定义
    volumes:
      - /mnt/mydisk/ssd/mt_photos/face:/app/data # 用来存放face的数据目录

# 定义顶级卷
volumes:
  mt_photos_pg: {}
针对上述YML文件的注释:
- config文件夹:用于存储数据库文件、缩略图、预览视频等缓存文件;
- upload文件夹: 用于存储App备份的照片、视频;
- zhansan/lisi:用于存储张三/李四的个人相册,亦可修改为其余名称;(官方表示/folder1,/folder2为已有的照片、视频所在的文件夹;可以根据实际情况添加需要映射的目录,数量没有限制。)
- mtphotos_ai这个服务是用来做场景识别和图文搜索的,该服务是可选的,建议配置.
  • 拉取项目
docker-compose pull
  • 启动项目
docker-compose up -d 
  • 打开网页后台
- IP:8963
  • 打开MT_Photo的网页后台,找到"系统配置"--人脸识别-API (Beta),录入API配置.
- 接口地址 填写 http://[nas的ip]:自定义端口
- API_AUTH_KEY 填写 mt_photos_ai_extra (这是默认值;如果使用过密码随机生成器,就使用自己生成的,更安全)
- 人脸置信度阈值 如果人脸检测模型用的是默认的retinaface,建议填写0.99 ;如果是其他模式建议填写0.9;
- 人物匹配差异值阈值 如果人脸特征提取模型用的是默认的Facenet512,建议填写0.15;;
  • API参数配置完成,先点击"测试API",网页提示"测试通过",表示之前的镜像配置成功了;否则再次进行排查.
  • 再次开启"人脸识别的开关",此页面的后台任务就有数据加载中;
  • 群晖后台页面,右上角也会显示"正在索引"的进度,成功后,同样会提示"索引完成".
  • 静静等待相册网页端的人脸识别数据加载完成,大功告成.
  • 若你的家宽ip有公网ip,就在软路由中,做一下端口转发也行.

💠博主自用的Docker-compose的YAML配置文件

  • 注意:配置MT_Photo的网页后台,需要将【智能识别 - API里面的自定义CLIP的向量长度】--修改为768,CLIP才会生效.
services:
  mtphotos:
    image: mtphotos/mt-photos:latest
    container_name: mtphotos
    restart: unless-stopped
    network_mode: "host"
    ports:
      - 8963:8063
    volumes:
      - /mnt/mydisk/ssd/mt_photos/config:/config
      - mt_photos_pg:/config/pgsql
      - /mnt/mydisk/ssd/mt_photos/upload:/upload
      - /mnt/mydisk/ssd/mt_photos/upload/Liu
      - /mnt/mydisk/ssd/mt_photos/upload/Hygge
      - /mnt/mydisk/ssd/mt_photos/upload/Baby
    environment:
      - TZ=Asia/Shanghai
    depends_on:
      - mtphotos_ai
      - mtphotos_face_api

  mtphotos_ai:
    image: devfox101/mt-photos-ml:v2.7.5
    # runtime: nvidia # 如果需要使用cuda,就取消这一行的注释
    container_name: mtphotos_ai
    restart: unless-stopped
    devices:
      - "/dev/dri:/dev/dri" # 如果需要使用intel核显,就取消这一行和上一行的注释
    ports:
      - 3603:3003
    volumes:
      - /mnt/mydisk/ssd/mt_photos/ml-cache:/cache # 用来存放各种识别模型的文件
    environment:
      - API_AUTH_KEY=7XrNCzwmTzcA2vGwX
      # - HF_ENDPOINT=https://hf-mirror.com # 如果下载模型失败,可以尝试取消这一行的注释,使用hf的镜像地址下载模型
      # 下面2行为自定义CLIP模型的示例
      # - CLIP_VISUAL_MODEL_NAME=XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k
      # - CLIP_TEXTUAL_MODEL_NAME=XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k

  mtphotos_face_api:
    image: crpi-gcuyquw9co62xzjn.cn-guangzhou.personal.cr.aliyuncs.com/devfox101/mt-photos-insightface-unofficial:latest
    container_name: mtphotos_face_api
    restart: unless-stopped
    ports:
      - 8966:8066
    environment:
      - API_AUTH_KEY=LBrrx7V2N2yVbjoue
    volumes:
      - /mnt/mydisk/ssd/mt_photos/face:/app/data # 用来存放face的数据目录

# 定义顶级卷
volumes:
  mt_photos_pg: {}

💠参考资料

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息