【工具类】开源照片管理工具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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS API for JavaScript 4.X 本地部署(js,字体)

0 目录(4.19) /4.19/ 1 修改文件 1.1 init.js 编辑器打开/4.19/init.js搜索文本[HOSTNAME_AND_PATH_TO_JSAPI],然后将其连同前面的https://替换为http://ip地址/4.19,可以是localhost,只能本机引用 替换后&#xff…

Minio Server + Minio Client 数据迁移、备份

文章目录 1、概要2、mc安装3、添加minio集群4、数据同步4、cp 和 mirror 区别5、效果 1、概要 Minio Server Minio Client 实现minio 不同集群之间的数据迁移、数据备份 2、mc安装 $ wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc -P /usr/local/bin/ $ c…

学习数据接构和算法的第11天

题目讲解 删除有序数组中的重复项 ​ 去重 ​ 给你一个有序数组nums,请你原地删除重复出现的元素,使没个元素值出现一次,返回删除后数组的长度 ​ **注意:**不要使用额外的数组空间,你必须在原地修改输入数组并使用O(1)额外空…

Camunda快速入门(三):设计一个人工任务流程并配置表单

接上一篇文章:Camunda快速入门(二):设计并执行第一个BPMN流程 在本节中,您将学习如何使用 BPMN 2.0 用户任务让人类参与到您的流程中。 1、添加用户任务活动节点 我们想修改我们的流程,以便我们可以让人…

使用SiteScan合理信息收集

一、介绍 作者:kracer 定位:专注一站式解决渗透测试的信息收集任务。 语言:python3开发 功能:包括域名ip历史解析、nmap常见端口爆破、子域名信息收集、旁站信息收集、whois信息收集、网站架构分析、cms解析、备案号信息收集、…

小迪安全2023最新版笔记集合--续更

小迪安全2023最新版笔记集合–续更 小迪安全2023最新笔记集合 章节一 ---- 基础入门: 知识点集合: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下…

RK3568平台 有线以太网接口之MAC芯片与PHY芯片

一.平台网络网络通路 平台有线以太网通路:有线以太网一般插入的是RJ45 座要与 PHY 芯片(RTL8306M)连接在一起,但是中间需要一个网络变压器,网络变压器经过模数转换后到达网卡(RTL8111)转换为帧数据后到达SOC。 二.网络…

业务型 编辑器组件的封装(复制即可使用)

使用需要安装 wangeditor npm i --save wangeditor import React from react; import E from wangeditor; import ./index.lessclass EditorElem extends React.Component {constructor(props) {super(props);this.isChange false;this.state {}}componentDidMount() {con…

【leetcode热题】二叉树的层次遍历 II

难度: 简单通过率: 44.9%题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层&…

MySQL学习Day18——逻辑架构

一、逻辑架构剖析: 1.服务器处理客户端请求: 首先 MySQL 是典型的C/S架构,即client/Server架构,服务器端程序使用的mysqld。不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送段文本(SQL语…

在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaScript JS

今天我们进入到语法部分的学习。在讲解具体的语法结构之前,这一堂课我首先要给你介绍一下 JavaScript 语法的一些基本规则。 脚本和模块 首先,JavaScript 有两种源文件,一种叫做脚本,一种叫做模块。这个区分是在 ES6 引入了模块…

如何防止被恶意刷接口?

在面试时,经常会被问一个问题:如何防止别人恶意刷接口? 这是一个非常有意思的问题,防范措施挺多的。今天这篇文章专门跟大家一起聊聊,希望对你会有所帮助。 1 防火墙 防火墙是网络安全中最基本的安全设备之一&#x…

一个网络请求是怎么进行的?

一个网络请求是怎么进行的,涉及到浏览器的运行机制、页面加载流程。 当我们打开一个页面的时候,可以在NetWork面板上看到浏览器发起的网络请求,包括了页面、图片、CSS样式文件以及请求的状态,请求耗时和响应内容等等信息。 实际…

2023年全球软件开发大会(QCon北京站2023)2月:核心内容与学习收获(附大会核心PPT下载)

本次峰会是一个汇集了最新技术趋势、最佳实践和创新思维的盛会。对于从事软件开发和相关领域的专业人士来说,参加这样的大会将有助于他们了解行业动态、提升技能水平、拓展职业视野,并与同行建立联系和合作。 本次峰会包含:AI基础架构、DevO…

C++ move semantics

Move casts the argument to rvalue reference, and forward casts the argument to the value type it is bound to. The cast doesn’t move, doesn’t change the obj itself and does nothing but let the compiler know this is an rvalue.Move semantics happens for mov…

CSS常用技巧

【1】制作三角形 <style>.box {width: 0;height: 0;margin: 0 auto;/* 等腰直角三角&#xff1a; 各边框宽度一致&#xff0c;将上边框保留&#xff0c;其他边框设置为透明色 */border: 100px solid transparent;border-top: 100px solid red;} </style> <d…

用户空间与内核通信(一)

在Linux中&#xff0c;内核空间与用户空间是操作系统中的两个主要部分&#xff0c;它们有着明显的区别和不同的功能。 内核空间&#xff1a; 内核空间是操作系统内核运行的区域&#xff0c;它包括了操作系统内核代码、数据结构和设备驱动程序等。内核空间位于虚拟地址空间的最…

tcpdump 命令简记录

命令 tcpdump -i eth0 -nvv -vv -c 1000 -s 0 host 127.0.0.1 and port 80 -w oms_result.cap分析 -i : 选择要捕获的接口&#xff0c;通常是以太网卡或无线网卡&#xff0c;也可以是 vlan 或其他特殊接口。 -n : 不把网络地址转换成名字 -vv : 输出详细的报文信息 -c : 在收到…

Linux程序性能分析60秒+

Linux性能分析大师Brendan Gregg有一篇非常著名的博客&#xff0c;介绍在性能分析开始的60秒内&#xff0c;利用标准的Linux命令行工具&#xff0c;执行一次充分的性能检查&#xff0c;获得系统资源利用率和进程运行情况的整体概念&#xff0c;查看是否存在异常、评估饱和度。本…

安全架构设计理论与实践

一、考点分布 安全架构概述&#xff08;※※&#xff09;安全模型&#xff08;※※※&#xff09;信息安全整体架构设计网络安全体系架构设计区块链技术&#xff08;※※&#xff09; 二、安全架构概述 被动攻击&#xff1a;收集信息为主&#xff0c;破坏保密性 主动攻击&#…