1. 【工具类】开源照片管理工具photoprism
实现对照片的管理,包括照片的导入、去重、分类、备份、人脸识别、时间轴、地图、相册等功能
- 1. 【工具类】开源照片管理工具photoprism
1.1. 安装
此文档是对 https://docs.photoprism.app/getting-started/docker-compose/ 的翻译
wget https://dl.photoprism.app/docker/docker-compose.yml
# 修改 docker-compose.yml 文件,具体参考下面内容
sudo docker compose up -d
- 下载 docker-compose.yml 文件,编辑 docker-compose.yml 文件
- 执行 sudo docker compose up -d 命令
- 如果需要实时查看日志,可以去掉 -d 前端启动,-d 启动的日志可以在网页端查看, 日志的时间是 utc 时间
- 首次执行,需要等待一段时间,直到 docker 镜像下载完成[mariadb 大概 400M 左右, photoprism 800M 左右]
docker-compose.yml 文件内容需修改:
mariadb 数据库,无需修改
watchtower 自动更新镜像,可以删除
photoprism 主要配置
environment
PHOTOPRISM_AUTH_MODE 认证模式,默认是 password,可以是 public,不需要用户名密码登录
PHOTOPRISM_ADMIN_USER 用户名
PHOTOPRISM_ADMIN_PASSWORD 密码
PHOTOPRISM_SITE_URL 访问地址
volumes
"/home/photos:/photoprism/originals" # 这个是最重要的,图片数据会放在这里管理
"/home/sd/photos:/photoprism/import" # 要导入的目录(含子目录),点击 资料库-导入-导入 按钮进行导入
"./storage:/photoprism/storage" # 数据库、缓存、缩略图等相关文件都会存储在这里,最好放在固态盘中
devices # 挂载设备,比如 Intel Q>SV 和 Nvidia CUDA 等
"/dev/dri:/dev/dri" # Intel QSV
"/dev/nvidia0:/dev/nvidia0" # Nvidia CUDA
- 执行下边命令的时候,photoprism 需要是启动状态
docker compose stop
停止服务docker compose exec photoprism photoprism passwd [username]
命令行修改密码,也可以在界面或者 docker-compose.yml 中修改密码docker compose exec photoprism photoprism reset
重头开始,删除所有缓存机索引数据,只会删除数据库,不会删除照片
- docker-compose.yml 配置
- https://docs.photoprism.app/getting-started/config-options/#indexing
- 比如内存不足,可以修改 PHOTOPRISM_WORKERS 数量,默认是 4
- 如果不需要人脸识别等功能,可以禁用 PHOTOPRISM_DISABLE_TENSORFLOW 选项,默认是 false
- 问题列表 https://docs.photoprism.app/getting-started/troubleshooting/
- 低配设备,比如 nas 可以关闭部分功能
- PHOTOPRISM_DISABLE_TENSORFLOW: “true”,其他依赖 tensorflow 的都会失效,比如人脸识别,特征提取
- PHOTOPRISM_DISABLE_FACES
- PHOTOPRISM_DISABLE_CLASSIFICATION
- PHOTOPRISM_DETECT_NSFW
- PHOTOPRISM_UPLOAD_NSFW
- PHOTOPRISM_DISABLE_TLS: “true”
- PHOTOPRISM_DISABLE_WEBDAV: “true”
- PHOTOPRISM_DISABLE_TENSORFLOW: “true”,其他依赖 tensorflow 的都会失效,比如人脸识别,特征提取
- GPU转码功能 https://docs.photoprism.app/getting-started/advanced/transcoding/
1.2. 管理照片方式
有下边二种管理方式,可以混合使用。一种需修改原始目录,一种保存原始目录结构
1.2.1. 直接管理原始照片目录
- photoprism 在 docker-compose.yml 的 volumes 中,会将照片放在 /photoprism/originals 目录管理
- 只需要将照片拷贝到 /photoprism/originals 对应的映射目录下即可
- 点击 资料库-索引-开始 按钮,就会自动扫描 /photoprism/originals 目标目录
- 重复的文件
volumes
"/home/photos:/photoprism/originals" # 这个是最重要的,图片数据会放在这里管理
1.2.2. 导入照片
- 点击 资料库-导入-上传 按钮,上传指定文件夹或多张照片到目标目录中(只能是单层目录或一个目录下的多个文件)
- 点击 资料库-导入-导入 按钮,会上传 docker-compose.yml 的 volumes 中的 /photoprism/import 目录(含子目录)
- 照片会被重命名,并且按照月份分类
1.2.3. 照片去重
1.3. 数据库
https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql
-
正式使用,建议使用 MariaDB 10.5.12+,如果只是少量的照片,sqllite 也可以
-
如果是学习研究,sqllite 就够了.后边也可以从 sqlite 无损迁移到 MariaDB
-
docker-compose.yml 中去掉 photoprism 的 depends_on 节点,干掉 mariadb 节点, 就会默认使用 sqllite 啦
-
如果由 mariadb 切换到 sqllite,需要通过
sudo docker compose up --remove-orphans
命令,启动服务 -
如果使用默认的 Mariadb,即使删除了 database 文件,再次重启也会进行 migrate,具体备份在哪里,待研究
1.4. 远程访问支持
1.4.1. WebDAV
可以通过 webDAV 客户端,访问 photoprism 管理的文件
可以通过 PHOTOPRISM_DISABLE_WEBDAV: “true” 关闭 webdav 访问
1.4.2. SAMBA
不支持
1.4.3. NFS
不支持
1.5. 简介
此文档是对 https://docs.photoprism.app/getting-started/ 的翻译
1.5.1. 系统要求
- 双核,3GB RAM,64位操作系统
- 至少 4GB 的交互分区,为了处理大文件(内存足够大,可以忽略)
- SSD 存储会更好,尤其是数据库和缓存文件。当然普通硬盘也可以
1.5.2. 数据库
支持 sqllite 和 MariaDB 10.5.12+, 不建议使用 sqllite(性能原因)。默认支持了 MariaDB 如果你删除了 MariaDB, 会默认使用 sqllite
1.5.3. 浏览器
支持 Chrome, Firefox, Safari 和 Edge 等现代浏览器
但是解码能力取决于您的浏览器,比如 AAC 在 Firefox 和 Opera 部分支持
1.5.4. 地图和位置服务
需要访问总部的服务器 https://www.maptiler.com/contacts/ ,在zg估计别想了。可以需修改源码,替换成国内地图服务
1.6. feature
下边是 https://www.photoprism.app/features 翻译
1.6.1. 使命
- 我们的使命是提供最用户和隐私友好的解决方案,以保持您的图片组织和访问。
1.6.2. 随处可用
- 无论是在手机、平板电脑还是台式电脑上,都可以使用我们的 app应用程序来浏览你的照片集。
- 它提供了一种类似于本地应用程序的体验,你可以方便地将它安装在所有主要操作系统和移动设备的主屏幕上。
- 我们推荐使用 Docker 部署服务。它适用于 Mac、 Linux 和 Windows。PhotoPrism 也运行在 DigitalOcean、 Raspberry Pi、 FreeBSD 和许多 NAS 设备上。
1.6.3. 强大搜寻
- 使用强大的搜索过滤器轻松找到特定的照片和视频。
- 您的图片将根据其内容和位置自动分类。
- 还可以搜索更多的图像属性,如颜色、色度和质量。
- 标记为私有、存档或正在审查的图片不会出现在常规搜索结果中。
1.6.4. 面部识别
- 我们的最新版本包括面部识别,让您找到您的家人和朋友的照片。
- 准备好发现遗忘已久的镜头吧!
- 当你扫描或导入库时会检测到新的面孔。
- 然后根据相似性对它们进行分组,因此您可以快速地将它们与人匹配。
1.6.5. 地图及地点
- 该应用程序包括四个高分辨率的世界地图,带你寻找最没得回忆。
- 在允许的情况下,我们后端服务提供全球位置信息,用诸如州、城市和分类等细节丰富您的图片。
- 未来的发行版将能够使用公共事件数据自动创建流行音乐节或体育赛事的专辑。
1.6.6. 专辑分享
秘密链接使你很容易与你所爱的人分享相册。
您可以为每个相册创建多个链接,并可选地设置过期日期。
不需要安装额外的应用程序,也不需要注册即可查看分享。
1.6.7. 广义文件格式支持
- PhotoPrism 支持索引、查看和转换最流行的图像、视频和 RAW 格式,包括 JPEG、 PNG、 GIF、 BMP、 HEIF、 HEIC、 MP4、 MOV、 WebP 和 WebM。
- 我们的目标是为所有 RAW 图像提供一流的支持,无论相机的制造和型号。
- 文件类型和扩展名的完整列表可以在我们的知识库中找到。
- 为了获得最大的浏览器兼容性,可以通过 FFmpeg 将格式转换为 h264
1.6.8. 高级元数据提取
- 原始媒体和文件扫描 Exif 和 XMP 数据以及专有元数据,包括谷歌照片 JSON。组合信息被规范化并合并。
- 支持的领域包括标题,描述,日期,位置,相机,镜头,ISO,F 数字,曝光,焦距,主题,艺术家,关键字和版权。
1.6.9. 重复检测
扫描时会跳过相同的文件,相同文件共享唯一标识符、文件名、时间和地点的图像可以自动堆叠。
PS的 sidecar 文件 总是与相关的媒体文件堆叠在一起。
1.6.10. 备份与同步
使用 PhotoSync 在后台安全备份 iOS 和 Android 手机。
WebDAV 客户端,如微软的文件资源管理器和苹果的 Finder,可以直接连接到 PhotoPrism,允许你打开、编辑和删除计算机上的文件,就好像它们是本地的一样。
1.6.11. 100% 的隐私
由于 PhotoPrism 是100% 自筹资金和独立的,我们可以向你保证,我们永远不会出售你的数据,我们将始终对我们的软件和服务是透明的。
你的数据也永远不会与谷歌、亚马逊、 Facebook 或苹果共享,除非你有意将文件上传到他们的服务中。
1.6.12. 展望
我们的项目路线图显示了正在进行的工作以及下一步将实现的功能。
你被邀请像竖大拇指一样给出你的想法,这样我们就知道什么是最受欢迎的。
1.7. 界面功能
- 搜索
- 审查需要用户手动审批才能被搜索,一般低分辨率、低质量图片,需要用户手动审核
- 相册
- 点击右上角的+号,可以添加相册,进入相册后,可以编辑相册名称、位置、描述、分类等
- 视频
- 人物
- 自动识别人脸
- 收藏
- 瞬间
- 日历
- 按照月展示,点击可以按照日查看
- 地点
- 根据照片和视频自动获取地点
- 标签
- 按照类型分类,自动加标签(应该可以添加,待探索)
- 文件夹
- 按照月份自动分类
- 私有
- 资料库
- 索引
- 开始:扫描原始目录,相关内容入库
- 导入
- 上传:上传照片到新系统,按照月份重命名和分类
- 导入:导入配置中的照片,按照原始目录结构分类
- 日志
- 索引
- 设置
- general(一般) 可以切换语言