数码照片管理系统Damselfly

什么是 Damselfly ?

Damselfly 是一个基于服务器的数码照片管理系统。Damselfly 旨在管理基于文件夹的大型照片集合,特别关注快速搜索和关键字标记工作流程。Damselfly 包含强大的机器学习功能,可帮助您识别照片及其主体,包括人脸检测、物体检测和(使用可选的 Azure 人脸服务帐户)全面面部识别,允许您标记人物一次,并让 Damselfly 识别他们是否出现在其他照片中。Damselfly 还提供了一个桌面/客户端应用程序,可以与您的笔记本电脑或 PC 更紧密地集成,使您可以快速将 Damselfly 中的精选图像同步到本地文件夹,以进行编辑等。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 damselfly ,选择第一个 webreaper/damselfly,版本选择 latest

本文写作时, latest 版本对应为 4.0.3

Damselfly是基于 C# 开发的应用,不知道是不是集成了机器学习功能的缘故,镜像有点大

docker 文件夹中,创建一个新文件夹 damselfly,并在其中建三个子文件夹,分别是 configpicturesthumbs

如果用现有的照片库,可以不建 pictures 目录,为了节省空间,老苏还是使用了 PhotoPrism 的照片库

文件夹 装载路径 说明
docker/damselfly/config /config 存放设置
docker/damselfly/thumbs /thumbs 存放缩略图
docker/photoprism/photos /pictures 照片库

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
6363 6363

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 新建文件夹 damselfly 和 子目录
# 如果用现有照片库,可以不建 pictures 目录
mkdir -p /volume2/docker/damselfly/{config,pictures,thumbs}

# 进入 damselfly 目录
cd /volume2/docker/damselfly

# 运行容器(使用空的图库)
docker run -d \
--name damselfly \
--restart unless-stopped \
-p 6363:6363 \
-v $(pwd)/config:/config \
-v $(pwd)/pictures:/pictures \
-v $(pwd)/thumbs:/thumbs \
webreaper/damselfly

# 运行容器(使用 PhotoPrism 的照片库)
docker run -d \
--name damselfly \
--restart unless-stopped \
-p 6363:6363 \
-v $(pwd)/config:/config \
-v /volume2/docker/photoprism/photos:/pictures \
-v $(pwd)/thumbs:/thumbs \
webreaper/damselfly

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
damselfly:
image: webreaper/damselfly
container_name: damselfly
restart: unless-stopped
ports:
- 6363:6363
volumes:
- ./config:/config
- ./thumbs:/thumbs
- /volume2/docker/photoprism/photos:/pictures

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
# 新建文件夹 damselfly 和 子目录
# 如果用现有照片库,可以不建 pictures 目录
mkdir -p /volume2/docker/damselfly/{config,pictures,thumbs}

# 进入 damselfly 目录
cd /volume2/docker/damselfly

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:6363 就能看到主界面

一开始会使用 AI 扫描照片识别面部,所以 CPU 的占用是比较高的

有的图片感觉识别的还行,不仅识别出 PersonFace,居然还识别出了 Sports ball

但是有的就差点意思了,就这也能识别出 Face

所以当你搜索 Face 时,会有一半是不相干的

sport 倒是都找到了

多用户

第一次进设置,会提示创建管理员账号

登录

新建用户

关于角色、权限,可以看官方文档:https://github.com/Webreaper/Damselfly/blob/master/docs/Multi-user.md

参考文档

Webreaper/Damselfly: Damselfly is a server-based Photograph Management app. The goal of Damselfly is to index an extremely large collection of images, and allow easy search and retrieval of those images, using metadata such as the IPTC keyword tags, as well as the folder and file names. Damselfly includes support for object/face detection, and face-recognition.
地址:https://github.com/webreaper/damselfly

Damselfly – Server based Digital Asset Management
地址:https://damselfly.info/