开源的专业数字照片管理软件digiKam

  • 本文完成于 20214 月,因为不喜欢这种模式,一直未发表,本次发布前新增了命令行部分。
  • 本文对应的 digiKam 版本为 7.2.0,当前最新版本为 7.8.0

什么是 digiKam ?

digiKam 是可在 LinuxWindowsMacOS 上运行的高级开源数字照片管理应用程序。该应用程序提供了一整套用于导入,管理,编辑和共享照片和原始文件的工具。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 digikam ,选择第二个 linuxserver/digikam,版本选择 latest

docker 文件夹中,创建一个新文件夹,并将其命名为 digikam

文件夹 装载路径 备注
/docker/digikam /config 存储照片、日志等

端口

端口不能冲突

本地端口 容器端口 类型
3000 3000 TCP
3389 3389 TCP

如果不需要远程桌面连接,可以删掉 3389 端口

环境

可变
PGID <gid> 默认设为 1000
PUID <uid> 默认设为 1000
TZ 设置为 Asia/Shanghai

命令行安装

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 digikam 和 子目录
mkdir -p /volume2/docker/digikam

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

# 运行容器
docker run -d \
--restart unless-stopped \
--name digikam \
-p 3000:3000 \
-v $(pwd):/config \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
linuxserver/digikam:latest

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: "2.1"

services:
digikam:
image: linuxserver/digikam:latest
container_name: digikam
restart: unless-stopped
ports:
- 3000:3000
volumes:
- ./:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 digikam 和 子目录
mkdir -p /volume2/docker/digikam

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3000,就能看到主界面了,第一次需设置

设置图片的保存位置

数据库直接用了默认的 SQLite,这一步是配置数据库的保存位置

当你的图片少于10万张时,直接用 SQLite 就可以了,否则就选 MySQL

设置 Raw 文件打开方式

  • 默认为 直接打开并自动矫正
  • 使用 Raw 导入工具手动矫正

设置元数据(Metadata)的存储方式

  • 默认 不将元数据写入文件
  • 将元数据写入文件

设置预览功能

  • 默认 加载缩小版本的图像
  • 加载完整图像

设置打开图像时的操作

  • 默认 显示图像预览
  • 用图像编辑器打开

设置悬停信息(Tooltips)

  • 默认 不显示悬停信息框
  • 显示悬停信息框

完成设置并扫描相册

之后还有个下载过程,需要下载额外的 人脸识别红眼去除 模块,点 Download 按钮

中文显示

7.2.0 虽然可以设置中文,但菜单始终还是英文, 7.8.0 默认语言只支持英文,但均可以在增加中文字体后,正常显示照片中的中文。

主菜单 Settings –> Configure Language –> zh_CN

可以看到中文前面是小方框

这应该是容器里没有中文字体导致的,在网上搜索 Songti.ttc,将下载的字体文件放到 digikam 目录

Songti.ttc下载地址:Songti.ttc(https://portrait.gitee.com/ishelo/QQZoneMood/blob/master/Songti.ttc)

将字体放到容器内

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 进入 libreoffice 目录
cd /volume2/docker/digikam

# 从群晖拷贝到容器内
docker cp ./Songti.ttc digikam:/usr/share/fonts/

# 进入容器内
docker exec --user root -it digikam /bin/bash

# 扫描字体目录并生成字体信息的缓存
fc-cache -vf

# 查看系统内所有中文字体及字体文件的路径
fc-list :lang=zh

重启镜像之后,小方框可以正常显示了

照片中的中文注释也可以正常显示了

之前都是小方框

但是菜单依然是英文,应该是菜单没有多语言包。

小结

docker 安装的好处是既方便对照片集中管理,又能使用 digiKam 强大的处理能力,但是老苏觉得容器用远程桌面的方式还不如用远程桌面直接控制台式机呢

所以个人建议 digiKam 还是直接安装在原生的系统上,这样才能最大限度的发挥 digiKam 强大的功能。

参考文档

KDE/digikam: 源代码
地址:https://github.com/KDE/digikam

linuxserver/docker-digikam
地址:https://github.com/linuxserver/docker-digikam

digikam教程 | Windows照片管理软件推荐_什么值得买
地址:https://post.smzdm.com/p/a4dv0kg8/

神仙软件!图片管理工具 Digikam 测评 - 知乎
地址:https://zhuanlan.zhihu.com/p/58758918