Photoprism 是一款开源的 AI 照片管理与浏览应用,支持自动分类、面部识别、相似照片检测、地图定位与多维度搜索,适合在 NAS 上打造私有的智能相册。它支持原片与缩略图分离存储,兼容多种相机/手机拍摄的格式,并提供现代化的 Web 界面和移动端良好体验。
主要特点:
- AI 驱动的照片分类、标注、面部识别与相似度检测
- 强大的搜索与筛选(时间、地点、相机、标签、评级等)
- 原片安全存储,支持只读媒体库与去重
- 高性能缩略图服务,浏览体验流畅
- Docker 部署友好,支持外置数据库与多用户场景

安装说明
前提依赖
- NAS 上安装 Docker 与 Docker Compose
- 预留媒体库目录(只读)与应用数据目录(读写)
- 若需公网访问与证书,建议配合反向代理(NPM)
安装配置
以下示例包含 Photoprism 与 MariaDB(推荐生产使用),端口默认 2342:
version: "3.8"
services:
photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
restart: unless-stopped
depends_on:
- mariadb
ports:
- "2342:2342"
environment:
- PHOTOPRISM_ADMIN_PASSWORD=请替换为安全口令
- PHOTOPRISM_UPLOAD_NSFW=true
- PHOTOPRISM_READONLY=false
- PHOTOPRISM_DATABASE_SERVER=mariadb:3306
- PHOTOPRISM_DATABASE_NAME=photoprism
- PHOTOPRISM_DATABASE_USER=photoprism
- PHOTOPRISM_DATABASE_PASSWORD=photoprism_pass
- TZ=Asia/Shanghai
volumes:
- /data/photoprism/storage:/photoprism/storage
- /data/photos:/photoprism/originals:ro
logging:
driver: json-file
options:
max-size: 1m
mariadb:
image: mariadb:11
container_name: photoprism-db
restart: unless-stopped
environment:
- MYSQL_DATABASE=photoprism
- MYSQL_USER=photoprism
- MYSQL_PASSWORD=photoprism_pass
- MYSQL_ROOT_PASSWORD=请替换为安全口令
- TZ=Asia/Shanghai
volumes:
- /data/photoprism/db:/var/lib/mysql
logging:
driver: json-file
options:
max-size: 1m
注意事项:
originals建议挂载你的照片只读目录,避免误删原片- 首次启动会进行缩略图与索引构建,视照片量与设备性能耗时不等
- 若不需要数据库,可试用内置 SQLite,但生产环境建议使用 MariaDB
- 搭配 NPM 提供
https://photo.yourdomain并限制公网访问
使用说明
- 启动:在目录中执行
docker-compose up -d - 首次登录:浏览器访问
http://NAS_IP:2342,使用管理员账户登录(初始用户为admin,口令为环境变量设定) - 导入与索引:在设置中选择索引媒体库,或开启自动监控
- 分类与标注:使用 AI 人脸识别与标签功能优化检索
- 搜索与浏览:按时间线、地图、相机、星标等维度快速定位
- 备份策略:定期备份
/data/photoprism/storage与数据库数据;原片只读目录保持单独安全备份