• 游啊游
  • 信仰
  • 原点
  • 清明
  • 关不上的窗
  • 雨一直下-古筝
  • 你的样子
  • Sofía
  • Suddenly
  • Traveling Light
  • 城南花已开
  • 简单与秋夜
  • 最美的期待
Oo笑容太甜oO/

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos


当下AI盛行,人脸识别、文搜图等功能越来越强大,可以说对于照片管理提升了一个层级。
也涌现了不少相册管理项目,除了群晖自带的Synology photos,还有immich、photoprism、piwigo、MT-photos等。

现在手机里照片视频数量庞大,特别需要两个功能:

  • 移动端照片视频同步和备份到本地NAS或电脑
  • 海量照片视频的管理、呈现

第一个功能对于安卓实现问题不大,我以前都是用Syncthing备份手机照片视频,但是ios没有syncthing,家人的手机备份不了。
所以,搞黑群晖对我最大的意义就是用Synology photos做相册备份和管理。Synology photos已经比较好用,安卓和苹果传输备份都没问题,还有人脸识别等。

经过试用,首先排除piwigo,项目就像一个PHP图片网站,移动客户端极其难用,网页端没几张图片居然卡卡的的,不堪忍受。

immich、photoprism也都是开源免费的。有人比较了这两货,看这
immich的缓存比较大,photoprism易用性有所欠缺且没有移动端,传输备份不友好。

这里介绍一下MT-photos,我现在除了用Synology photos,就是MT-photos了,MT-photos虽然不免费但还算便宜,关键挺好用,特顺手。Synology photos我发现苹果的HEVC可以播放但没有缩略图(原因是没有在半洗白基础上破解AME,已解决)。我一般用Synology photos或Drive同步备份(感觉比MT-photos速度快),然后用MT-photos管理查看。

  1. 安装docker套件
  2. 由于docker hub被墙,在网络-常规-代理服务器,设置魔法

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 在【注册表】栏目搜索下载mt-photos。
  2. 也可按官方文档,当无法访问DockerHub时,请先打开SSH,然后在终端中使用以下命令拉取镜像(需要先执行sudo -i 来转为root身份才能执行docker pull)
docker pull registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:latest
docker tag registry.cn-hangzhou.aliyuncs.com/mtphotos/mt-photos:latest mtphotos/mt-photos:latest
  1. 创建容器。本地端口和容器端口都设8063,与本地端口不冲突就行。群晖物理路径和容器装载路径按图填,数据存储目录映射到docker内的目录必须为 /config;照片备份默认目录映射到docker内的目录必须为 /upload。

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos
NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 启动容器

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 等待容器启动成功后,使用浏览器打开地址:http://群晖ip:8063/ 访问安装向导,配置使用。

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 还能借助WebGL利用台式电脑显卡人脸识别

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 备份与恢复数据库

进入容器执行命令 语法 docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
查看正在运行的容器
docker ps

root@BXHAMD:~# docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED        STATUS        PORTS                    NAMES
c8ab67f39589   openp2pcn/openp2p-client:latest   "/openp2p"               6 weeks ago    Up 13 hours                            openp2p-client
f086dc7681c7   mtphotos/mt-photos-ai:latest      "python3 /app/server…"   4 months ago   Up 13 hours   0.0.0.0:8000->8000/tcp   mtphotos-mt-photos-ai1
8987cafd1a08   mtphotos/mt-photos:latest         "sh /usr/src/app/ent…"   4 months ago   Up 13 hours   0.0.0.0:8063->8063/tcp   mtphotos-mt-photos1

使用 exec 进入容器

docker exec -it mtphotos-mt-photos1 bash 
#或 
docker exec -it 8987cafd1a08 bash 

如果需要root权限的话,可以指定 root 用户进入容器:

docker exec -it --user root mtphotos-mt-photos1 bash
# 或
docker exec -it --user root 8987cafd1a08 bash
# 备份数据库数据
/usr/lib/postgresql/14/bin/pg_dump -c -h 127.0.0.1 -U postgres -p 5432 -d postgres -f /upload/mt_photos_db_dump_2023-11-08_13_04_04.sql
# 从文件恢复到数据库中
/usr/lib/postgresql/14/bin/psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -f /upload/mt_photos_db_dump_2023-11-08_13_04_04.sql
  1. 在设置反向代理让外网访问MT-Photos

在登录门户-高级-反向代理服务器
NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 移动端可以设置主地址和备用地址

一般将局域网地址设置成主地址如192.168.1.20:8063
然后向反向代理的外网访问地址作为备用地址。
这样不管在家在外都可以方便查看,不用切换服务器地址。
NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

  1. 可以用群晖的docker跑AI进行文搜图、场景识别,也可以用windows跑AI

NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos
NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos
NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos
NAS之黑群晖捣鼓手记六:相册管理Photos、MT-Photos

13.【2024.9.4更新】使用更高效、更准确的insightface人脸识别模型
insightface提供了3种模型可供选择,antelopev2、buffalo_l、buffalo_s。
从上到下精度逐渐下降,可获得更快的识别速度,默认使用buffalo_l模型。
Docker容器运行
(1)下载镜像
docker pull kqstone/mt-photos-insightface-unofficial:latest
无法下载镜像,则
可以使用这个国内的地址拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/vito0101/mt-photos-insightface-unofficial:latest

docker tag registry.cn-hangzhou.aliyuncs.com/vito0101/mt-photos-insightface-unofficial:latest kqstone/mt-photos-insightface-unofficial:latest
第1条命令为拉取镜像
第2条命令为将镜像标记为Docker hub源,这样可以在图形化创建容器时使用

(2)启动容器后,下载模型很慢或失败
第一次启动容器后需要下载模型,如果由于网络问题,下载失败,可以按下面的方法手动下载镜像

(3)创建容器时,要映射 /root/.insightface/models 这个目录
不能直接映射/root 不能直接映射/root 不能直接映射/root

(4)将模型文件 buffalo_l.zip 解压到映射的目录中;
模型文件下载地址:https://github.com/kqstone/mt-photos-insightface-unofficial/releases/tag/models
或者百度网盘:https://pan.baidu.com/s/1SsY7_2t7aORh2jCvGWtD1A?pwd=1234

比如目录映射为: -v /mnt/docker/insightface/models:/root/.insightface/models
需要把buffalo_l.zip的文件解压到/mnt/docker/insightface/models/buffalo_l

解压完成后,在 /mnt/docker/insightface/models/buffalo_l 下面可以看到 1k3d68.onnx、2d106det.onnx、det_10g.onnx、genderage.onnx、w600k_r50.onnx 5个文件

(5)创建容器的完整命令:
docker run -i -p 8066:8066 -e API_AUTH_KEY=mt_photos_ai_extra -v /mnt/docker/insightface/models:/root/.insightface/models --name mt-photos-insightface-unofficial --restart="unless-stopped" kqstone/mt-photos-insightface-unofficial:latest

(6)返回MT Photos添加人脸识别api
口地址 填写 http://[nas的ip]:8066
API_AUTH_KEY 填写 mt_photos_ai_extra (这是默认值,如果有修改过,用修改过的值)
API并发数 控制同时识别的任务数,填写1
人脸置信度阈值设置 建议填 0.65
人脸匹配差异度阈值 建议填 0.5

留下一条评论

暂无评论