Photoprism® is an AI-Powered Photos App for the Decentralized Web.It makes use of the latest technologies to tag and find pictures automatically without getting in your way. You can run it at home, on a private server, or in the cloud.
Photoprism®是一个用于去中心化Web的人工智能驱动的图片应用程序。它利用最新技术自动标记和查找图片,而不会打扰您。您可以在家中、私人服务器上或云端运行它。
虽然部署个人相册的项目不算少,Photoprism的特别之处在与于使用了神经网络来智能识别照片的内容——而且它可以在本地部署,不必担心自己和家人的数据被公司拿去乱搞。
- Photoprism开源。
- Photoprism提供了免费版本与高级版本。免费版本已经足够使用了。
- Photoprism似乎不擅长亚洲人脸识别。
预先准备
使用Docker来配置Photoprism是一种快捷便利的选择。
- 宿主机。使用Debian12+docker作为平台,配置是7100t+8gddr4内存。
- 如果需要硬件加速,那么需要良好的网络条件。
在安装前,最好还是先查看官方的安装文档与注意事项。
Photoprism的获取
首先确保docker已经顺利安装了。
1 | debian@debian:~$ docker -v |
随后拉取镜像,并检查镜像列表是否下载完好。
1 | #下载镜像 |
确认镜像后,就可以开始部署Photoprism了。
Photoprism的部署
比较懒的话,就直接使用docker run来部署容器:
1 | #这是一个最简的配置命令。 |
注意到其中的三个挂载路径:/storage
路径、 /originals
路径和 /import
路径。
/storage
路径存储应用缓存和相关的配置。想要便利地再部署,就映射这个路径到本机。/originals
:索引文件夹。在部署时,把它映射到路径存储的原始照片目录。以后会用来长期存放照片的,所以谨慎选择。部署后,应用会索引并识别其中的文件。为了让自己看得懂,最好先按照时间分类一下。/import
:导入文件夹。路径是用来导入的目录。适合已经部署后,将需要导入的照片放到这个目录后,应用会把他们移动到/originals
路径。
现在解释“索引”和“导入”的区别:
- 索引不会改变已有的文件路径和信息。Photoprism只会索引
/originals
路径中的文件,就像一个仓库。 - 导入功能会把
/import
中所有识别后的文件放到/originals
中,就像一个临时的中转站。
如果一切顺利,我们在浏览器输入(http://<ip>:2342)
就可以访问了。
Photoprism的配置
部署完成后,就可以输入密码并登录了。默认是admin。
进入主页后可能会看到空空荡荡的相册,因为还没有设置索引。
我们首先点击设置>资料库>质量筛选。把这个选项关闭后,非照片和NSFW图片不会需要自己审查。
点击资料库>全部源图>开始,就可以开始索引/originals
中的照片了。如果照片很多的话,时间会相当漫长……
(分析并索引存在机械硬盘上的11700张照片,几乎花了一个晚上……好在浏览器就算关掉也会继续索引。)
看到索引过程结束后,Photoprism就正式进入了可用阶段。
(可选)额外的配置:硬件加速
Photoprism默认使用软件转码。如果需要硬件转码,可以在文档中找到适合自己硬件的加速方法。
以i3 7100t支持的Intel qsv为例:
1 | services: |
在环境变量中添加:Photoprism_FFMPEG_ENCODER: "intel"
以及:Photoprism_INIT: "intel tensorflow"
再对接设备:"/dev/dri:/dev/dri"
随后重启服务,下载好相应的包后就可以实现硬件加速了。
需要注意的是,Photoprism在部署硬件转码的过程中需要下载一些软件包。如果处于中国大陆或者较为恶劣的网络条件下,可能会卡在下载阶段。
一种解决方案是在容器内部署代理:
1 | #假设已经在172.17.0.1:7890部署了代理。 |
如果一切正常,播放视频时就可以获得硬件加速了。
(可选)适用于CasaOS的Docker配置
这是我个人在casaos中使用的配置。
- 在casaos中安装的docker镜像会自动配置容器。
- 在casaos中安装的docker镜像可能需要在配置中手动配置代理,否则无法安装所需要的包。
- 在casaos中安装的docker镜像可能需要手动配置适用于硬件加速的配置。
名称 | 配置 |
---|---|
网络 | |
Bridge | |
端口 | |
主机 | 容器 |
2341 | 2342 |
卷 | |
主机目录 | 容器目录 |
/应用数据目录/photoprism/photoprism/storage | /photoprism/storage |
/已分类的媒体文件目录/photo | /photoprism/originals |
/已分类的媒体文件目录/photo | /photoprism/import |
/挂载磁盘 | /挂载磁盘 |
环境变量 | |
HTTP_PROXY | http://172.17.0.1:7890 |
HTTPS_PROXY | http://172.17.0.1:7890 |
NO_PROXY | localhost,172.17.0.1 |
PHOTOPRISM_ADMIN_PASSWORD | <password> |
PHOTOPRISM_FFMPEG_ENCODER | intel |
PHOTOPRISM_INIT | intel tensorflow |
PHOTOPRISM_UPLOAD_NSFW | true |
TZ | Asia/Hong_Kong |
设备 | |
主机 | 容器 |
/dev/dri | /dev/dri |