高颜值高性能的开源免费自托管照片和视频备份方案:Immich

Immich:安全存储您的珍贵记忆,高颜值且高性能的自托管照片与视频备份解决方案,让您随时随地无忧回顾美好时光。- 精选真开源,释放新价值

概览

在数字化时代,我们的照片和视频越来越多,如何安全、有效地备份这些珍贵的回忆成为了我们面临的重要问题。Immich以其强大的功能和灵活的扩展性,成为了许多人的选择。

Immich 是一个直接从 iPhone、Android 手机上备份照片与视频的开源解决方案,通过部署在自己的电脑、NAS、服务器中,使用 App 进行备份。界面酷似 Google Photos,支持多用户、照片和相册分享、好友上传、地理位置、机器学习识别事件等功能。

Immich的优势在于:

  • 自动备份:当你打开Immich应用程序时,它会自动备份你的照片和视频,无需手动操作,省时省力。

  • 多平台支持:Immich支持多种操作系统,如Ubuntu、Debian、macOS等,让你在不同平台上都能享受到同样的服务。

  • 多用户支持:Immich支持多用户同时使用,让家庭成员都能方便地共享和管理照片。

  • 共享相册:你可以创建共享相册,邀请亲朋好友一起欣赏和分享你的照片和视频。

  • 元数据视图:Immich提供EXIF、地图等元数据视图,让你更深入地了解每张照片的详细信息。

Immich的强大功能得益于其优秀的技术栈:

  • NestJs:作为Immich的后端框架,NestJs提供了稳定、高效的服务端支持,确保应用程序的稳定运行。

  • SvelteKit:作为Immich的Web前端框架,SvelteKit以其轻量级和高效性为应用程序提供了流畅的用户体验。

  • PostgreSQL:作为Immich的主数据库,PostgreSQL以其强大的功能和稳定性,确保了应用程序的数据安全。

  • Redis:Redis在Immich中被用作docker实例和后台任务消息队列之间的共享websocket实例,提供了高效的缓存和消息处理功能。

  • Nginx:Nginx在Immich中担任负载均衡和优化文件上传的角色,确保了应用程序的稳定性和性能。

  • TensorFlow:TensorFlow在Immich中用于对象检测和图像分类,提供了强大的图像处理能力。

Immich 采用传统的客户端-服务器设计,并配有专用数据库用于数据持久化。 前端客户端使用 REST API 通过 HTTP 与后端服务进行通信。 下面是架构图:

功能特性

移动端

网页端

上传并查看照片和视频

软件运行时自动备份

N/A

忽略重复的项目

选择需要备份的相册

N/A

下载照片和视频到本地

多用户支持

相册与共享相册

可拖动的快速滚动条

支持RAW格式

元数据视图(EXIF、地图)

通过元数据、对象、人脸和标签进行搜索

管理功能(用户管理)

后台备份

N/A

虚拟滚动

OAuth 支持

API Keys

N/A

实况照片备份和查看

支持360度全景图显示

用户自定义存储结构

公共分享

归档与收藏功能

足迹地图

好友分享

人脸识别与分组

回忆(那年今日)

离线支持

只读相册

照片堆叠

截至发稿概况如下:

  • 软件地址:GitHub - immich-app/immich: High performance self-hosted photo and video management solution.

  • 软件协议:AGPL 3.0

  • 编程语言:

语言

占比

TypeScript

43.6%

Dart

32.5%

Svelte

18.9%

Python

2.1%

Swift

0.7%

Kotlin

0.6%

Other

1.6%

  • 收藏数量:29.6K


主要功能

你可以在线体验:https://demo.immich.app

你可以在 https://immich.app 找到官方文档(包含安装手册)

  • 多平台支持

Immich 提供了移动端和Web端的版本,你可以随时随地访问相关的媒体内容。且所有照片和视频都可以做到多端同步。

  • 自动备份、选择目录备份

不用再担心数据丢失。Immich 可以在打开程序时自动备份照片和视频,还支持后台自动备份,确保每一张珍贵的照片和视频都得到保护。同时,你还可以自由选择备份哪些相册,而不必备份所有内容。这种个性化的备份策略更灵活且占用资源更少。

  • 人脸识别和聚合

Immich 采用了机器学习技术,它可以自动识别照片中的人脸,并将它们与特定的个体相关联。在识别完成后,Immich 会自动将相同人脸的照片分组在一起。这样可以帮助你快速浏览某个人的所有照片,而不必手动搜索。同时 Immich 也会根据照片的地理信息,将同一个地点的照片进行分组。这两种方式都能使用户更轻松地组织和浏览照片。

  • 全局地图展示

Immich 能根据照片的地理信息,在地图上绘制出你所有照片的轨迹,你可以查看到所有照片在地图上的位置,且某处有哪些照片。当你点击地图上的数量图标后,即可进入相对应地区拍摄的照片。

  • UI预览


遐想

Immich是一个高颜值高性能的自托管照片和视频备份方案,功能也比较完善,支持通过 APP 从 iOS 、Android 设备备份照片与视频至服务器中,还支持多用户、相册、共享相册、自动备份、后台备份、 OAuth 等功能。

大家如果发现它别的特点功能可以在评论区踊跃讨论!或者还有什么类似的程序大家也可以评论分享一下!


声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发"并附带原文链接。

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

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

相关文章

solidworks镜像实体怎么用

在SolidWorks中,镜像实体功能用于复制并反转实体或特征,使其沿着指定的基准面对称。以下是使用SolidWorks镜像实体的基本步骤: 1. 打开模型:首先打开SolidWorks软件,并加载您想要镜像的三维实体模型。 2. 找到镜像命…

揭秘操作系统:核心功能与Linux系统解析

1.引言 在先前探讨中,我们了解到计算机主机内部的硬件资源需要一种高效管控手段,由此催生了操作系统的诞生。操作系统(Operating System,简称OS),是计算机生态系统中不可或缺的核心组件,以其复杂…

TypeScript常用知识点整理

介绍 TypeScript 是 JavaScript 的一个超集,添加了静态类型支持和更多现代编程特性,提高了代码的可靠性和可维护性。最终会被编译成标准的 JavaScript 代码运行。 使用npm install -g typescript进行全局安装 将编写好的ts代码进行运行,第…

加密软件如何给文件加密

加密软件如何给文件加密 市面上有很多给文件加密的软件,它是如何给文件加密的呢?加密过程是否安全,效果是否理想呢?下面以安企神软件为例给大家介绍 给文件加密的关键步骤和技术。 1、选择加密算法 安企神软件可能会采用国际公…

如何彻底删除node和npm

如何彻底删除node和npm 前言: 最近做个项目把本地的node更新了,之前是v10.14.2更新至v16.14.0 ,想着把之前的项目起来下,执行npm install 结果启动不了,一直报npm版本不匹配需要更新本地库异常… 找了几天发现是npm 和…

AI大模型探索之路-基础篇3:构建Chat Completions驱动的多轮对话机器人

文章目录 前言一、初步测试二、读取本地知识库三、问答测试四、实现多轮对话总结 前言 在上一篇《AI大模型应用开发篇之Chat Completions API》中熟悉了 Chat Completions API相关特点和各种场景的使用样例; 本章主要记录如何基于Chat Completions API实现简单的多…

【数据结构与算法】:快速排序和归并排序的非递归实现

1. 递归实现的缺陷 在以前的文章中我们把快速排序和归并排序的递归实现方式进行了介绍,但是在校招面试和在企业的日常开发过程中,仅掌握递归方法是不够的,因为递归也有它的缺陷。 我们知道在函数调用过程中会在内存中建立栈帧,栈…

solidity(3)

地址类型 pragma solidity ^0.8.0;contract AddressExample {// 地址address public _address 0x7A58c0Be72BE218B41C608b7Fe7C5bB630736C71;address payable public _address1 payable(_address); // payable address,可以转账、查余额// 地址类型的成员uint256…

C/C++与Python:各自的优势与前景展望

在讨论C/C和Python这两种编程语言的前景时,我们必须认识到每种语言都有其独特的定位和应用场景,并不存在绝对意义上的“谁更有前景”。它们分别在不同的领域发挥着重要作用,而且在未来的技术发展过程中,二者都将继续保持其不可替代…

Linux进程间通信【二】

system V进程间通信 管道通信本质是基于文件的,也就是说操作系统并没有为此做过多的设计工作,而system V IPC是操作系统特地设计的一种通信方式。但是不管怎么样,它们的本质都是一样的,都是在想尽办法让不同的进程看到同一份由操…

【深度学习】海洋生物数据集,图片分类

文章目录 任务描述数据收集数据处理模型训练指标评测web app代码和帮助 任务描述 收集9种以上的海洋生物图片,然后基于深度学习做一个分类模型,训练完成后,分类模型就可以对未知图片进行分类。 在之后随便传一张图片,分类模型就…

【静态分析】静态分析笔记01 - Introduction

参考: BV1zE411s77Z [南京大学]-[软件分析]课程学习笔记(一)-introduction_南京大学软件分析笔记-CSDN博客 ------------------------------------------------------------------------------------------------------ 1. program language and static analysis…

ORB-SLAM3整体流程详解

0. 简介 在之前,作者曾经转过一篇《一文详解ORB-SLAM3》的文章。那篇文章中提到了ORB-SLAM3是一个支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目,双目和RGB-D相机上利用针孔或者鱼眼模型运行。与ORB-SLAM2相比,ORB-SLAM3…

接口自动化框架设计必备利器之参数传递

在我们设计自动化测试框架的时候,我们会经常将测试数据保存在外部的文件(如Excel、YAML)中,实现测试脚本与测试数据解耦,方便后期维护。 当涉及到业务场景接口用例时,由于接口与接口存在关联关系&#xff…

STL容器之unordered_map类

文章目录 STL容器之unordered_map类1、unordered_map1.1、unordered_map介绍1.2、unordered_map的使用1.2.1、unordered_map的常见构造1.2.2、unordered_map的迭代器1.2.3、unordered_map的容量1.2.4、unordered_map的增删查1.2.5、unordered_map的桶操作 2、unordered_multima…

【快速上手ESP32(基于ESP-IDFVSCode)】04-PWM

PWM PWM,即脉冲宽度调制(Pulse Width Modulation),是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而达到控制开关稳压电源输出…

物联网系统设计 8

1 规划中小型LoRa 中小型分时复用,大型项目需要学习LoRaWAN 1.1 通信记录 1.2 节点能耗 1278芯片 满功率20DMB,增加PA,发送功率 30 DBM 内置天线柔性 棒状 3db 203 休眠、发生、接收 计算链路预算,工作电流,工…

Blocs v5.2.3 mac版 可视化网页设计工具 兼容 M1/M2/M3

Mac毒搜集到的Blocs 是一款mac上专业强大的精美网页设计软件。特点就是简介、高效、高质,可以帮助我们快速设计出精美的网页,retina视网膜特性支持,优化自适应网页的开发。 应用介绍 Blocs 是一款mac上专业强大的精美网页设计软件。专注于简…

实现WAF对CC攻击的零误封防护:关键技术解析与实践

一、引言 Web应用防火墙(WAF)作为网站安全的重要防线,其在防御CC(Challenge Collapsar,即挑战黑洞,一种分布式拒绝服务攻击)攻击中的效能至关重要。然而,精准识别并有效拦截CC攻击的…

2024阿里云2核4G服务器优惠价格表_2核4G性能测评

阿里云2核4G服务器多少钱一年?2核4G服务器1个月费用多少?2核4G服务器30元3个月、85元一年,轻量应用服务器2核4G4M带宽165元一年,企业用户2核4G5M带宽199元一年。本文阿里云服务器网整理的2核4G参加活动的主机是ECS经济型e实例和u1…