外观
PhotoPrism 照片管理(官方插件)
完成后,NAS 上的照片目录在浏览器里变成一个可以按时间浏览和搜索的相册。PhotoPrism 和它的 MariaDB 数据库都以 Podman 容器运行,由插件在界面上配置。
适合谁
- 照片已经在 NAS 上,想在服务器端整理、浏览、搜索,并且希望原图保持在普通的文件夹里。
- 愿意给它至少 2 个 CPU 核和 3 GB 以上内存,见下面的资源要求。
和 Immich 的取舍:
| PhotoPrism(本文) | Immich | |
|---|---|---|
| 安装 | 官方插件,Podman 容器,界面里配置 | Compose 应用,多个容器,自己维护 compose 文件 |
| 重点 | 整理已经在 NAS 上的照片 | 手机相册自动备份到 NAS |
| 升级 | 手动拉镜像再重启服务 | 先读 release notes,再更新 compose |
要的是「手机拍完自动传到 NAS」,看 Immich。
默认账号是 admin / admin,默认用明文 HTTP
- 影响范围:这是一个 Web 应用,第一次登录用
admin/admin(界面也会提示)。没有选证书时是明文 HTTP,密码和照片在网络上不加密。勾选 公开(Public)会关闭密码认证、WebDAV 和高级设置页,等于任何能访问端口的人都能看。应用数据里的storage/和db/目录被插件设成0777,数据库文件就在里面。 - 前置条件:第一次登录就改掉管理员密码;不要把端口映射到公网,要远程用就走 VPN 或配好 HTTPS 的反向代理;应用数据用的共享文件夹不要通过 SMB 或 NFS 共享给别人。
- 怎么回退:取消勾选 已启动,保存并应用,服务停止并移除 systemd 单元;原图和应用数据留在共享文件夹里,不受影响。
插件信息
| 项 | 内容 |
|---|---|
| 包名 | openmediavault-photoprism |
| 来源 | 官方插件,不需要 omv-extras |
| OMV 8 状态 | 截至 2026-10-18 的官方软件源为 8.0.4-1(amd64、arm64),要求 OMV 8.5.11 及以上 |
| 菜单位置 | 服务 → PhotoPrism(Services → PhotoPrism) |
| 依赖 | podman、catatonit、nftables。安装时创建系统用户 photoprism,属于 users 组 |
在 系统 → 插件(System → Plugins)里安装。安装时会先 podman pull 镜像,首次可能要几分钟。
它是怎么运行的
- 容器:一个名为
photoprism的 Podman Pod,里面有photoprism-app(PhotoPrism)和photoprism-db(MariaDB),选了证书时再加一个photoprism-proxy(Caddy,负责 HTTPS)。由 systemd 单元pod-photoprism管理。 - 镜像从哪拉:都来自 Docker Hub,默认
docker.io/photoprism/photoprism:latest、docker.io/mariadb:11、docker.io/library/caddy:latest。访问不了 Docker Hub 时,可以用环境变量OMV_PHOTOPRISM_APP_CONTAINER_IMAGE、OMV_PHOTOPRISM_DB_CONTAINER_IMAGE、OMV_PHOTOPRISM_PROXY_CONTAINER_IMAGE换成别的地址,用法见 环境变量。 - 数据放哪:
| 界面字段 | 容器里的位置 | 内容 |
|---|---|---|
| 图片(Images) | /photoprism/originals | 你的原图 |
应用数据(Application data)下的 storage/ | /photoprism/storage | 缩略图、缓存、配置 |
应用数据下的 db/ | MariaDB 的数据目录 | 数据库文件 |
| 导入(Import),可选 | /photoprism/import | 待导入的照片 |
- 访问权限:容器以
photoprism用户和users组运行,所以共享文件夹要允许它们访问,默认的root:users、2775就够。图片 目录是以可写方式挂进去的,只读(Read-only)只是应用层的开关,不是文件系统层的只读。
配置与使用
1. 准备共享文件夹
在 存储器 → 共享文件夹(Storage → Shared Folders)里准备:
- 原图目录,例如
photos,可以是已经存放照片的目录。 - 应用数据目录,例如
photoprism-data。数据库和缩略图读写频繁,放在 SSD 上更好,也不要通过 SMB 共享出去。 - 需要时再建一个导入目录。
2. 配置插件
服务 → PhotoPrism:
| 字段 | 默认值 | 说明 |
|---|---|---|
| 已启动(Enabled) | 关 | |
| 端口(Port) | 2342 | 监听端口 |
| 证书(Certificate) | 空 | 选一个 系统 → 证书(System → Certificates)里的 SSL 证书就会启用 HTTPS;不选是 HTTP |
| 公开(Public) | 关 | 关闭密码认证、WebDAV 和高级设置页,别开 |
| 只读(Read-only) | 关 | 禁用导入、上传、删除,只适合只想浏览的场合 |
| 文件大小限制(Filesize limit) | 1 GB | 单个媒体文件的上限,可选 1 MB 到 100 GB,或禁用 |
| 图片(Images) | 无 | 原图目录,启用时必填 |
| 应用数据(Application data) | 无 | 应用数据目录,启用时必填 |
| 导入(Import) | 无 | 可选,勾选只读后不可用 |
保存,点黄色提示条上的应用。点 打开 UI(Open UI)会跳到 PhotoPrism 的页面。
3. 第一次登录和索引
- 打开
http://<NAS 地址>:2342,用admin/admin登录,马上改密码。 - 在 PhotoPrism 的界面里到 Library 开始索引原图目录,具体入口以它的界面为准。索引需要时间,照片越多越久。
- 索引完成后,原图目录里新增的照片要再索引一次才会出现。
4. 资源要求
按 PhotoPrism 官方的系统要求:至少 2 个 CPU 核、3 GB 物理内存、64 位系统,内存最好和核数相当,另外建议配置至少 4 GB 的 swap,也不要给容器设硬性的内存上限,否则处理大文件时可能被意外重启。大型相册的索引受益于本地 SSD,尤其是数据库和缓存。内存在 1 GB 及以下的系统会禁用 RAW 转换和人脸识别。
检查结果
在 OMV 的 shell(root)里,只读确认:
sh
# 在 OMV 的 shell 里执行(root)
systemctl status pod-photoprism
podman ps --pod # 应有 photoprism-app 和 photoprism-db,选了证书时还有 photoprism-proxy
podman logs photoprism-app # 查看应用日志,需要持续观察时加 -f在 服务 → Podman → 容器(Services → Podman → Containers)里也能看到它们。然后:
- 往原图目录放几张测试照片,在 PhotoPrism 里索引,确认能浏览。
- 在
服务 → PhotoPrism点 打开 UI,确认链接能打开。 - 重启 NAS,确认服务自动起来。
备份与维护
- 要备份什么:原图目录是最重要的,按 备份策略 单独备份;应用数据目录里有数据库和缓存,丢了可以重新索引,但标签、相册这类整理工作会丢。数据库文件在运行时直接复制可能不一致,备份前先停服务(
systemctl stop pod-photoprism),备份完再启动。 - 升级:容器用本地已有的镜像启动,不会自动更新。官方没有文档化升级流程,按插件生成的单元文件推断:先拉新镜像(
服务 → Podman → 镜像(Services → Podman → Images)里的拉取,或podman pull docker.io/photoprism/photoprism:latest),再systemctl restart pod-photoprism,容器会用新镜像重建。升级前先备份应用数据目录,并且先读 PhotoPrism 的更新说明。MariaDB 固定在 11,不会随latest变化。 - 额外的运行参数:环境变量
OMV_PHOTOPRISM_APP_CONTAINER_START_OPTIONS和OMV_PHOTOPRISM_DB_CONTAINER_START_OPTIONS可以给容器追加podman run参数。 - 卸载插件:移除 systemd 单元和 PhotoPrism 的镜像,数据库和 Caddy 的镜像留在 Podman 里,可以在 Podman 页面手动删除;原图和应用数据不会被删。
常见问题
应用时报错,提示拉取镜像失败。 通常是访问不了 Docker Hub。检查网络,或用上面的环境变量换成可访问的镜像地址。
页面能打开但索引没有结果。 确认 图片 选对了目录,容器能读它(photoprism 用户或 users 组),再在 PhotoPrism 里手动开始索引。
忘了管理员密码。 到 PhotoPrism 的账户设置里改;忘了就看上游文档的重置方法,不要手改数据库。
想让手机自动上传。 这不是它的强项,看 Immich。
参考资料
- 插件源码:openmediavault-photoprism,官方文档和 wiki 没有这个插件的页面
- PhotoPrism 官方文档:Getting Started(含系统要求)