PhotoPrism 是 AI 驱动的隐私优先照片管理应用,支持人脸识别、地点地图、RAW 格式和视频播放。TensorFlow 自动标签、本地处理不上传云端,完美替代 Google Photos / iCloud,适合 NAS 玩家和隐私敏感用户。一个 Docker 部署,终身免费。

🎤 引言

手机里上万张照片,找一张"去年夏天在杭州拍的那张"得翻半天?Google Photos 虽好,但隐私问题一直是个隐患——你的照片数据被拿来训练 AI 模型这事,Amazon、Google 都干得出来。

PhotoPrism 就是来解决这个问题的:把 Google Photos 的体验搬到自己服务器上,AI 人脸识别、地图地点视图、RAW 格式支持、视频播放,全部本地处理,照片不离开你的硬盘。隐私优先,数据永远是你的。


⭐ 核心功能

🧠 AI 人脸识别与自动标签

PhotoPrism 内置 TensorFlow 模型,自动扫描照片中的人脸并聚类。"这个人是谁?"输入名字就能找到他所有的照片。不需要手动一张张打标签,扔进去等着就行。

🗺️ 地图视图(GPS)

支持从 EXIF 里读取 GPS 坐标,在地图上按地理位置展示照片。"我在北京去过的所有地方"、"上海外滩附近拍了哪些"——地图上直接看,比翻相册高效多了。

📸 RAW 格式支持

摄影师刚需。PhotoPrism 内置 Go + Darktable 写的 RAW 转换引擎,NEF(尼康)、CR2/CR3(佳能)、ARW(索尼)等格式直接浏览,不用先转成 JPEG。预览速度快,支持 100+ RAW 格式。

🎞️ 视频播放

不只是照片,MP4、MOV、AVI 等常见视频格式也能在 Web 界面直接播放。Live Photos(iOS 拍摄的动态照片)悬停即可预览动起来的效果。

🔍 全局搜索

支持组合搜索:"2024" + "杭州" + "人物:张三" 这样的自然语言组合,秒出结果。TensorFlow 自动打的标签可以叠加过滤,模糊搜索也不在话下。

📱 无原生手机 App(需借助 Syncthing)

PhotoPrism 本身没有 iOS/Android 原生 App,手机自动备份需要搭 Syncthing 或者 rsync 同步到服务器。这一点不如 Immish(移动端体验更好)。如果你用 iPhone 拍摄 Live Photos,需要注意格式兼容性问题。


📥 安装使用

Docker Compose 快速部署

# 1. 创建目录
mkdir -p ~/photoprism/storage ~/photoprism/originals
# originals: 放照片原图
# storage: PhotoPrism 工作目录(索引、缩略图)

# 2. docker-compose.yml
cat > ~/photoprism/docker-compose.yml << 'EOF'
services:
  photoprism:
    image: photoprism/photoprism:latest
    restart: unless-stopped
    ports:
      - "2342:2342"
    environment:
      PHOTOPRISM_ADMIN_USER: "admin"
      PHOTOPRISM_ADMIN_PASSWORD: "your-password-here"
      PHOTOPRISM_SITE_URL: "http://localhost:2342/"
      PHOTOPRISM_DATABASE_DRIVER: "sqlite"  # 小规模用 SQLite 即可
    volumes:
      - ~/photoprism/originals:/photoprism/originals
      - ~/photoprism/storage:/photoprism/storage
    watchtower:
      image: containrrr/watchtower
      restart: unless-stopped
      network_mode: none
      volumes:
        - /var/run/docker.sock:/var/run/docker.sock
        - /etc/localtime:/etc/localtime:ro
      command: --cleanup --stop-timeout 60s photoprism
EOF

# 3. 启动
cd ~/photoprism
docker compose up -d

# 4. 访问
# http://your-server:2342
# 管理员账号: admin / your-password-here

大规模部署(PostgreSQL)

照片超过 5 万张建议换 PostgreSQL,性能更好:

environment:
  PHOTOPRISM_DATABASE_DRIVER: "postgres"
  PHOTOPRISM_DATABASE_SERVER: "postgres:5432"
  PHOTOPRISM_DATABASE_NAME: "photoprism"
  PHOTOPRISM_DATABASE_USER: "photoprism"
  PHOTOPRISM_DATABASE_PASSWORD: "your-db-password"

🎯 适用场景

  • 摄影师 / RAW 收藏者:RAW 格式直接浏览,不用每次都开 Lightroom 转换。
  • NAS 玩家:已有 NAS 设备,想把照片集中管理而不是散落在各个设备里。
  • 隐私敏感用户:不想让 Google / Apple / Amazon 看到你相册的人。
  • 家庭记录者:一家人几千张照片,按人脸分类比按时间线更实用。
  • 程序员 / 极客:喜欢自建服务,不依赖第三方云。

🔍 对比 / 替代方案

项目RAW 支持人脸识别地图视图移动端成熟度
PhotoPrism✅ 内置✅ TensorFlow❌(需 Syncthing)成熟
Immich一般✅ 原生 App活跃开发
Nextcloud Photos✅(Recognize app)一般
Piwigo老牌
Google Photos闭源、隐私问题

2026 年横向对比来看,PhotoPrism 的 RAW 支持是最大优势——同类开源方案很少有内置 RAW 转换引擎的。如果你用的是 Immich,它的移动端 App 体验更好,但 RAW 支持偏弱。


⚠️ 注意事项

  • 没有原生移动端 App:手机照片自动备份需要借助 Syncthing,上手比 Immich 复杂一点。
  • 内存占用:TensorFlow 人脸识别 + RAW 转换,吃内存比较狠,建议 4GB+ RAM。
  • 版权争议:PhotoPrism 早期采用 AGPLv3,后来改为自定义商业 license(PhotoPrism Public License),不是严格意义的"自由开源软件"。商用需注意license。
  • iPhone Live Photos 兼容:MOV 格式的 Live Photos 在 Web 端能看,但动态效果有限。
  • 索引速度:首次导入大量照片时,TensorFlow 人脸识别 + RAW 转换需要较长时间(取决于 CPU/GPU)。

✅ 总结

PhotoPrism 最大的亮点是 RAW 格式原生支持TensorFlow AI 人脸识别——这两点在同类自托管方案里做得比较突出。隐私优先的理念也加分,照片数据永远在自己手里。

推荐指数:⭐⭐⭐⭐(4/5)

适合人群:摄影师/NAS 玩家/隐私敏感用户,尤其是 RAW 格式收藏者。

不适合人群:必须要有原生手机 App 自动备份的用户(直接选 Immich)。

官网:https://photoprism.app | GitHub:https://github.com/photoprism/photoprism