PhotoPrism 智能照片管理
在这篇文章中,我将详细介绍如何在 Docker 中部署 PhotoPrism,并解决 MySQL 版本不兼容的问题,最终成功运行并扫描图库。
1. 介绍
PhotoPrism 是一款强大的 AI 照片管理工具,但在 Docker 部署过程中,可能会遇到数据库版本不兼容的问题。本文将重点解决 MySQL 8.0.27 版本不受支持的问题,并推荐使用 MariaDB 作为数据库解决方案。
2. 问题描述
在启动 PhotoPrism 时,日志报错:
time="2025-03-08T08:54:46Z" level=error msg="config: MySQL 8.0.27 is not supported, see https://docs.photoprism.app/getting-started/#databases"
PhotoPrism 官方支持:
- MariaDB 10.5 或更新版本(推荐)
- MySQL 5.7 或 8.0(但有已知问题)
- SQLite(不适用于大图库)
解决方案: 我们将 MySQL 替换为 MariaDB,以确保 PhotoPrism 稳定运行。
3. 解决方案:使用 MariaDB 替换 MySQL
步骤 1:停止并删除现有的 MySQL 容器
docker-compose down
docker rm mysql
步骤 2:修改 docker-compose.yml
找到 mysql
配置部分,替换为 mariadb
:
version: "3.7"
services:
photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
restart: unless-stopped
ports:
- "2342:2342"
environment:
PHOTOPRISM_ADMIN_PASSWORD: "your_admin_password"
PHOTOPRISM_ORIGINALS_LIMIT: 100000
PHOTOPRISM_HTTP_COMPRESSION: "gzip"
PHOTOPRISM_READONLY: "true"
PHOTOPRISM_UPLOAD_NSFW: "false"
PHOTOPRISM_DETECTION_NSFW: "true"
PHOTOPRISM_DARKMODE: "auto"
volumes:
- "/home/nextcloud/data/root/files/实时上传:/photoprism/originals:ro"
- "/opt/photoprism:/photoprism/storage"
depends_on:
- mariadb
mariadb:
image: mariadb:10.5
container_name: photoprism_mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: "db_root_password"
MYSQL_PASSWORD: "db_password"
MYSQL_DATABASE: "photoprism"
MYSQL_USER: "photoprism"
volumes:
- "/home/yys/mariadb/data:/var/lib/mysql"
步骤 3:启动容器
docker-compose up -d
4. 访问 PhotoPrism 并扫描图库
打开浏览器,访问:
http://192.168.31.63:2342/
登录信息:
- 用户名:
admin
- 密码:
your_admin_password
扫描图库:
- 登录后,进入 “资料库 (Index)” 页面
- 点击 “开始扫描”
- 等待 PhotoPrism 处理图片,完成索引
5. 结论
- MySQL 8.0.27 与 PhotoPrism 不兼容,建议改用 MariaDB 10.5 或更新版本
- 通过 Docker Compose 修改
docker-compose.yml
,可快速切换数据库 - 启动后访问
http://192.168.31.63:2342/
,使用admin
账号登录并扫描图库
完成后,PhotoPrism 便能正常运行,管理和分类你的照片库!手机apphttps://docs.photoprism.app/developer-guide/native-apps/#gallery-for-photoprism🎉
在PhotoPrism中实现自动索引可以通过以下方法:
-
使用命令行工具:
- 如果你使用的是Docker,可以通过以下命令手动索引:
docker exec -i <container_id> photoprism index
--all
参数,但这可能会耗费较长时间。
- 如果你使用的是Docker,可以通过以下命令手动索引:
-
定时任务:
- 你可以设置一个定时任务(如使用
cron
或其他调度工具(jenkins))来自动运行上述命令。例如,每天早上7点运行索引任务。
- 你可以设置一个定时任务(如使用
-
使用插件:
- 如果你在NAS或其他支持插件的环境中运行PhotoPrism,可以安装类似“CA User Scripts”的插件,编写脚本并设置定时执行。
-
官方文档:
- PhotoPrism的官方文档中也提供了关于索引的详细说明,可以参考这里。
如果你需要更具体的指导,告诉我你的运行环境,我可以提供更详细的帮助! 😊
本文作者: 永生
本文链接: https://yys.zone/detail/?id=382
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
发表评论
评论列表 (0 条评论)
暂无评论,快来抢沙发吧!