Unraid实现相册同步与展示的方案探讨

背景:Unraid作为一个NAS系统,能够实现基本的NAS文件管理功能,但是不提供额外的功能如影音、同步、办公、和内网穿透等,这些在其他的NAS产品如群晖、绿联、威联通等都是提供支持的。然而unraid也有其他方案,即通过特别方便的docker和虚拟机安装,来拓展所需功能。
需求:手机上的照片越来越多、如何方便地将相册照片上传到NAS中并展示?

一、照片展示——PhotoPrism

  1. 通过docker安装PhotoPrism,实现照片的归类和展示。可以显示实况图(iphone的动图之类),并清楚展示照片信息。
    在这里插入图片描述

  2. 优点:1)界面还算好看,2)操作也比较方便,初期有些学习难度但是熟练后只需要定期对照片进行索引导入即可。3)还能够支持世界地图展示。4)提供WEBDAV方便设备进行同步。
    在这里插入图片描述

  3. 缺点:1)人像识别和场景识别比较差;2)识别搜索只提供英文。

二、前期同步方案——Pho APP

  1. 手机上安装了一个软件Pho,可以通过SMB和WEBDAV等方式将照片同步到NAS中。
  2. 在PhotoPrism开启WEBDAV,在Pho中使用WEBDAB方式,直接同步到源文件夹:http://xxx/originals/即可。由于Pho上传时会将照片根据日期进行重新建立文件夹(以年-月-日的方式),并为其命名唯一名字,算是很不错的。
  3. 缺点是:同步的时候需要依次进行:测试服务端->检查->同步。其中检查是必须的并且会花比较长的时间,如几分钟,稍微有些麻烦。
  4. 优点是:同步在NAS的照片,也可以通过Pho软件进行查看。

三、后期计划方案——Syncthing 方案

  1. 使用Syncthing进行无感同步,实现软件打开后进行自动同步,并且Syncthing支持P2P技术,不在同一个局域网也能够同步。目前同步手机的录音就很不错。

(一)方案1:同步后手机可自由删除照片、PhotPrism也可以删除照片

  1. 手机APP设置:手机选择需要同步的相册目录,并分享目录给NAS。
  2. NAS Syncthing 设置上:选择PhotPrism的Import文件夹作为同步目录,并选择仅接收,在后续的操作中使用PhotoPrism的导入功能,自动将Import文件夹的照片进行导入和索引。
  3. 由于设置仅接收,因此PhotoPrism在导入中可以选择删除功能,用来减少照片的占用而不影响手机的相册。并且可以实现多个手机设备进行同步【期望的,未进行测试】。
  4. 手机在PhotoPrism完成导入之前,不能够删除之前的照片,否则手机删除照片会直接影响Import文件夹的照片,此时照片还没有移到Origianls文件夹中。
  5. 缺点是Syncthing 会显示一个感叹号表示NAS的文件被修改,并且请求还原本地更改。【如果点击,则会重新同步所有的手机照片,这是不太妙的】【解决方案:在Syncthing的高级设置中取消勾选监视更改】
    在这里插入图片描述

(二)方案2:单人用户直接同步源文件夹

  1. 如果只是一个人使用,也可以进行源文件夹同步,简单粗暴,但是照片在两个空间中是完全对应的,需要考虑好删除文件的后果。

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

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

相关文章

常见的网络攻击手段

IP 欺骗 IP 是什么? 在网络中,所有的设备都会分配一个地址。这个地址就仿佛小蓝的家地址「多少号多少室」,这个号就是分配给整个子网的,「室」对应的号码即分配给子网中计算机的,这就是网络中的地址。「号」对应的号码为网络号…

积分形式的辐射传输方程

The Equation of Transfer in Integral Form Let L L L be the streaming-collision operator, and S S S is scattering operator, we have L I Ω ⋅ ∇ I ( r , Ω ) σ ( r , Ω ) I ( r , Ω ) LI\Omega\cdot\nabla I(r,\Omega)\sigma(r,\Omega)I(r,\Omega) LIΩ⋅∇…

JS中reduce方法

JavaScript 中的 reduce 方法是一个非常强大的数组方法,它允许你对数组中的所有元素执行一个“reducer”函数,从而将数组“减少”到一个单一的值。以下是 reduce 方法的详细介绍: 语法 array.reduce(function(accumulator, currentValue, c…

印闪网络:阿里云数据库MongoDB版助力金融科技出海企业降本增效

客户背景 上海印闪网络科技有限公司,于2017年1月成立,投资方包括红杉资本等多家国际知名风投公司。公司业务聚焦东南亚普惠金融,常年稳居行业头部。创始团队来自腾讯,中国团队主要由运营、风控及产研人员组成,核心成员…

【后端面试总结】HTTPS工作原理详解

引言 在现代网络通信中,数据的安全性至关重要。HTTP(Hypertext Transfer Protocol)作为互联网上传输数据的协议,虽然应用广泛,但其数据以明文形式传输,存在被窃取和篡改的风险。为此,HTTPS&…

51c嵌入式~单片机~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的电平信号的MCU怎么通信? 下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。 先说一说这个电路的用途:当两个MCU在不同的工作电压下工作&a…

Java 基础知识——part 1

1.目前Java平台有三种版本: Java SE:用于开发桌面应用程序 Java EE:用于编写企业级应用程序 Java ME:用于开发设备应用程序 2.Applet可嵌入Web文档的一种小型程序,因网络传输速度关系都很短小 3.Appilication&…

【云计算】虚拟化技术

目录 1. 虚拟化技术在云计算中的那些地方发挥了关键作用? 2. 比较VMare,Xen等虚拟化产品的关键技术,以及对云计算技术提供的支持? 3. 服务器虚拟化,存储虚拟化和网络虚拟化都有哪些实现方式? 4. 讨论桌面…

力扣题目 - 2931.购买物品的最大开销

题目 还需要你前往力扣官网查看详细的题目要求 地址 思路 这边需要你去力扣官网详细查看题目看了题目提供的示例 已经有了解法, 先把values转成1维数组,排序之后进行累加即可 代码 var maxSpending function (values) {let list values.flat();list.sort((a, b) > a - …

嵌入式驱动开发详解6(RTC)

文章目录 前言RTC简介RTC驱动分析RTC驱动框架RTC驱动实现 RTC应用后续 前言 实时时钟是很常用的一个外设,通过实时时钟我们就可以知道年、月、日和时间等信息。 因此在需要记录时间的场合就需要实时时钟,可以使用专用的实时时钟芯片来完成此功能&#x…

单片机:实现跑马灯(附带源码)

单片机实现跑马灯 跑马灯(也称作流水灯)是一种常见的电子效果,通过依次点亮和熄灭多个LED灯,模拟出一个灯光流动的效果。跑马灯常见于装饰性电子产品中,也是一种展示单片机控制多路输出的基础应用。 在本项目中&…

力扣题目 - 935. 骑士拨号器

题目 还需要你前往力扣官网查看详细的题目要求 地址 1.象棋骑士有一个独特的移动方式,它可以垂直移动两个方格,水平移动一个方格,或者水平移动两个方格,垂直移动一个方格(两者都形成一个 L 的形状)。2.象棋骑士可能的移动方式如下…

传输层7——TCP拥塞控制(重点!!!)

目录 一、认识拥塞控制 1、什么叫做拥塞? 2、拥塞的特点 3、流量控制 VS 拥塞控制 二、TCP如何防止拥塞? 1、慢开始 2、拥塞避免 3、3重复确认 和 快重传算法 4、快恢复算法 5、总结 三、主动队列管理AQM 1、技术背景 2、AQM思 想和实现策略…

PostgreSQL/PostGIS中提升空间查询(分析)性能(效率)的一些方法

目录 1. 使用适当的索引 1.1 索引类型 1.2 分析查询计划 1.3 覆盖索引 1.4 复合索引 1.5 维护索引 1.6 删除不必要的索引 1.7 使用适当的数据类型 2. 建立分区表 2.1 分区表的基本概念 2.2 创建分区表的步骤 2.3 空间数据的分区 2.4 分区表优点 3. 简化几何形状 …

轮播(css+js)

目录 1.实现效果 2.基础代码演示 2.1js代码 2.1css样式 2.3实现效果 3.实现点击切换 3.1给button添加点击事件 3.2效果图如下 3.3发现问题 3.3.1不循环 3.3.2循环 1.实现效果 2.基础代码演示 2.1js代码 <div class"out-box"><div class"tes…

简单的JavaWeb开发示例

以下是一个简单的JavaWeb开发示例&#xff0c;包含一个使用Servlet和JSP实现的简单网页计数器功能&#xff0c;展示了基本的JavaWeb项目结构以及相关代码逻辑。 1. 项目搭建与环境准备 开发工具&#xff1a;可以使用Eclipse、IntelliJ IDEA等集成开发环境&#xff0c;这里以I…

fastadmin框架同时使用 阿里云oss和阿里云点播

背景 项目的实际需求中既要用到阿里云oss产品又用到阿里云点播系统&#xff0c;实现完美的统一。设置两个地址downUrl&#xff0c;thirdCode。分别代表阿里云oss上传路径和阿里云点播系统vId。 实现 默认框架你已经集成好阿里云oss集成工作&#xff0c;前端html页面实现 <…

优秀的3d建模是数据可视化的视觉核心1

增强视觉效果&#xff1a;3D建模通过创建三维立体图像&#xff0c;为观众提供了更为真实和直观的视觉体验。相比于传统的二维图表和图形&#xff0c;3D模型能够更准确地展示复杂数据之间的空间关系&#xff0c;使数据可视化大屏上的信息更加生动和易于理解。 提升信息传达效率&…

flink sink kafka的事务提交现象猜想

现象 查看flink源码时 sink kafka有事务提交机制&#xff0c;查看源码发现是使用两阶段提交策略&#xff0c;而事务提交是checkpoint完成后才执行&#xff0c;那么如果checkpoint设置间隔时间比较长时&#xff0c;事务未提交之前&#xff0c;后端应该消费不到数据&#xff0c…

leetcode 3224. 使差值相等的最少数组改动次数

题目链接&#xff1a;3224. 使差值相等的最少数组改动次数 题目&#xff1a; 给你一个长度为 n 的整数数组 nums &#xff0c;n 是偶数 &#xff0c;同时给你一个整数 k 。 你可以对数组进行一些操作。每次操作中&#xff0c;你可以将数组中任一元素替换为 0 到 k 之间的任一…