PhotoPrism:跑在自己机器上的 AI 相册
Docker 自部署 国内可用AI 整理的本地相册
编辑评价3.6编辑部综合整理,仅供参考
官方镜像
photoprism/photoprism
内存占用
2G
部署难度
中
维护活跃
活跃
工具介绍
PhotoPrism:跑在自己机器上的 AI 相册
PhotoPrism 是老牌的自建 AI 相册:把照片与视频丢进目录,它负责识别人脸、归组场景、按时间与地点整理时间线,浏览器里得到一个类似云相册的浏览体验——区别是索引与原图都在自己的硬盘上。
核心优势
- AI 整理能力全。人脸识别、场景分类、地点定位(带 GPS 的照片自动上地图)都在本地完成,Raw 格式与视频也进索引,给多年积压的老照片库做一次彻底盘点是它的舒适区。
- 检索维度多。按人物、地点、颜色、时间、相机组合过滤搜索,批量整理工具齐全,上万张的库里「搜得到」比「存得下」更值钱。
- WebDAV 与只读模式友好。内置 WebDAV 服务器(官方 compose 里就有对应开关),手机照片可用第三方备份客户端推过来;原图目录只读挂载也能跑,误操作风险低。
- 部署形态透明。官方 compose 模板自带 MariaDB 数据库服务,配置全部写进环境变量,备份与迁移路径清晰。
适合谁
前提:一台资源尚可的常开机器(官方模板默认带 MariaDB,内存要给足),装好 Docker 与 Compose。它适合照片库已上几千上万张、想把「翻相册」变成「搜相册」的人。「怕折腾程度」中:首次索引大库的耗时与硬件成正比,TensorFlow 识别是资源大头,低配设备要接受较慢的初次整理;难点不在部署,在等索引跑完与后续存储规划。与新锐的 Immich 相比,它没有官方手机 App、移动直传要靠第三方客户端拼装,但成熟度与检索深度仍在——照片库以归档浏览为主的人,它依然值得进候选。
同类对比
- 与 Immich:Immich 有官方手机 App 与自动备份,是「日常在用」的相册;PhotoPrism 检索维度更宽,更像图书馆管理员,定位不同、可以并存。
- 与 Pixcall 等素材管理工具:那类管设计师的创作资产,PhotoPrism 管的是个人与家庭的照片视频,受众不同。
惊蛰 整理 · 2026-09 收录
评测视频
点击跳转 B 站观看原视频已聚合 3 条评测视频 ·3 位博主独立评测
部署速查
官方镜像photoprism/photoprism
内存占用2G
部署难度中
维护活跃活跃
部署前提
- Docker 与 Compose v2;官方模板默认带 MariaDB 数据库服务,内存要给足。
- 官方注释提醒:配置验证前不要开自动重启(restart 行默认被注释);数据库文件别放 U 盘、SD 卡或网络盘(官方注释字面)。
- 改掉模板里的初始密码(PHOTOPRISM_ADMIN_PASSWORD 与数据库密码,默认 insecure)。
来源声明:compose 出自 PhotoPrism 官方 docker-compose.yml 模板(官方部署文档提供下载),下段为节选、逐行照抄;官方文件另含大量可选环境变量与 ollama/open-webui/watchtower 可选服务(profile 控制)。
安装与启动(官方模板核心段,逐行照抄)
services:
photoprism:
image: photoprism/photoprism:latest
stop_grace_period: 15s
depends_on:
- mariadb
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- "2342:2342"
environment:
PHOTOPRISM_ADMIN_USER: "admin" # admin login username
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # initial admin password (8-72 characters)
PHOTOPRISM_AUTH_MODE: "password" # authentication mode (public, password)
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # server URL in the format "http(s)://domain.name(:port)/(path)"
PHOTOPRISM_DATABASE_DRIVER: "mysql" # MariaDB 10.5.12+ (MySQL successor) offers significantly better performance compared to SQLite
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # MariaDB database server (hostname:port)
PHOTOPRISM_DATABASE_NAME: "photoprism" # MariaDB database, see MARIADB_DATABASE in the mariadb service
PHOTOPRISM_DATABASE_USER: "photoprism" # MariaDB database username, must be the same as MARIADB_USER
PHOTOPRISM_DATABASE_PASSWORD: "insecure" # MariaDB database password, must be the same as MARIADB_PASSWORD
PHOTOPRISM_INIT: "https tensorflow" # options: update https tensorflow tensorflow-gpu intel gpu davfs yt-dlp
working_dir: "/photoprism" # do not change or remove
volumes:
- "~/Pictures:/photoprism/originals" # Original media files (DO NOT REMOVE)
- "./storage:/photoprism/storage" # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)
mariadb:
image: mariadb:12.3
restart: unless-stopped
stop_grace_period: 15s
command: --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
volumes:
- "./database:/var/lib/mysql" # DO NOT REMOVE
environment:
MARIADB_AUTO_UPGRADE: "1"
MARIADB_INITDB_SKIP_TZINFO: "1"
MARIADB_DATABASE: "photoprism"
MARIADB_USER: "photoprism"
MARIADB_PASSWORD: "insecure"
MARIADB_ROOT_PASSWORD: "insecure"
部署之后
改好初始密码与 ~/Pictures 原图目录路径后 docker compose up -d,浏览器打开 http://<主机IP>:2342 用管理员登录,把照片放进 originals 后在资料库页跑一次索引。
快速上手
1装好 Docker 与 Compose v2,取官方 docker-compose.yml(photoprism + mariadb 双服务)放入新目录。
2改好初始密码与原图目录等环境变量,`docker compose up -d` 启动。
3浏览器打开 http://<主机IP>:2342 登录,把照片挂进 originals 后跑一次索引。
本页由编辑 惊蛰 整理与维护 · 了解幕后




