当前位置: 首页 > news >正文

【工具类】开源照片管理工具pthtoprism

1. pthtoprism

  • 1. pthtoprism
    • 1.1. 安装
    • 1.2. 管理照片方式
      • 1.2.1. 直接管理原始照片目录
      • 1.2.2. 导入照片
    • 1.3. 界面功能
    • 1.4. 参考资料

1.1. 安装

wget https://dl.photoprism.app/docker/docker-compose.yml
# 修改 docker-compose.yml 文件,具体参考下面内容
docker compose up -d
  • 下载 docker-compose.yml 文件,编辑 docker-compose.yml 文件

  • 执行 docker compose up -d 命令, 如果需要实时查看日志,可以去掉 -d 前端启动

  • docker-compose.yml 文件内容如下:

    • mariadb 数据库,无需修改
    • watchtower 自动更新镜像,可以删除
    • photoprism
      • PHOTOPRISM_ADMIN_USER 用户名
      • PHOTOPRISM_ADMIN_PASSWORD 密码
      • PHOTOPRISM_SITE_URL 访问地址
      • volumes
        • “/home/xxx:/photoprism/originals” # 这个是最重要的,图片数据会放在这里管理
        • “~/Import:/photoprism/import” # 要导入的目录(含子目录),点击 资料库-导入-导入 按钮进行导入
        • “./storage:/photoprism/storage” # 数据库、缓存、缩略图等相关文件都会存储在这里

1.2. 管理照片方式

下边二中管理方式,可以混合使用

1.2.1. 直接管理原始照片目录

  1. docker-compose.yml 的 volumes 中的 /photoprism/originals 直接映射目标目录
  2. 点击 资料库-索引-开始 按钮,就会自动扫描目标目录

1.2.2. 导入照片

  1. 点击 资料库-导入-上传 按钮,上传指定文件夹或多张照片到目标目录中(只能是单层目录或一个目录下的多个文件)
  2. 点击 资料库-导入-导入 按钮,会上传 docker-compose.yml 的 volumes 中的 /photoprism/import 目录(含子目录)
  3. 照片会被重命名,并且按照月份分类

1.3. 界面功能

  • 搜索
    • 审查需要用户手动审批才能被搜索,一般低分辨率、低质量图片,需要用户手动审核
  • 相册
    • 点击右上角的+号,可以添加相册,进入相册后,可以编辑相册名称、位置、描述、分类等
  • 视频
  • 人物
    • 自动识别人脸
  • 收藏
  • 瞬间
  • 日历
    • 按照月展示,点击可以按照日查看
  • 地点
    • 根据照片和视频自动获取地点
  • 标签
    • 按照类型分类,自动加标签(应该可以添加,待探索)
  • 文件夹
    • 按照月份自动分类
  • 私有
  • 资料库
    • 索引
    • 导入
    • 日志
  • 设置
    • general(一般) 可以切换语言

1.4. 参考资料

  • github
  • doc
  • docker

相关文章:

  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • 【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器
  • 【Redis】理论进阶篇------浅谈Redis的缓存穿透和雪崩原理
  • 可变形注意力(Deformable Attention)及其拓展
  • 【Linux进程】冯·诺依曼体系结构以及操作系统的深入理解
  • this的指向问题总结
  • 【深度学习:计算机视觉】计算机视觉的最佳数据集 [行业细分]
  • 常见锁策略,CAS,synchrodized原理讲解
  • 企业微信机器人的运营策略与实践
  • LeetCode 热题 100 | 二叉树(终)
  • 基于springboot+vue的中小型医院网站(前后端分离)
  • 零基础到高级:Android音视频开发技能路径规划
  • 数智赋能,变革加速:人工智能技术与低代码开发利器
  • 利用Ubuntu22.04启动U盘对电脑磁盘进行格式化
  • 人工智能|机器学习——基于机器学习的舌苔检测
  • JS 中的深拷贝与浅拷贝
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 3.7、@ResponseBody 和 @RestController
  • Angular4 模板式表单用法以及验证
  • Angular数据绑定机制
  • ComponentOne 2017 V2版本正式发布
  • Computed property XXX was assigned to but it has no setter
  • javascript数组去重/查找/插入/删除
  • JSDuck 与 AngularJS 融合技巧
  • js算法-归并排序(merge_sort)
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Spring Cloud Feign的两种使用姿势
  • Yii源码解读-服务定位器(Service Locator)
  • 前端临床手札——文件上传
  • 入手阿里云新服务器的部署NODE
  • 使用common-codec进行md5加密
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 通过npm或yarn自动生成vue组件
  • 微信小程序--------语音识别(前端自己也能玩)
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • # Java NIO(一)FileChannel
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2)STL算法之元素计数
  • (4)logging(日志模块)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (五)网络优化与超参数选择--九五小庞
  • (转) Face-Resources
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .NET 4.0中的泛型协变和反变
  • .Net MVC + EF搭建学生管理系统
  • ??javascript里的变量问题
  • @Autowired多个相同类型bean装配问题
  • @JoinTable会自动删除关联表的数据
  • @NoArgsConstructor和@AllArgsConstructor,@Builder