36.6K star!Immich - 一款开源高性能的自托管照片和视频备份方案

大家好,今天给大家分享的是一个高性能的自托管照片和视频备份方案。

图片

Immich 是一个图片管理和分享平台,它允许用户高效地组织、存储和访问他们的照片和视频集合。这个项目特别设计来优化个人和家庭的多媒体内容管理体验,提供了诸如自动备份、智能分类、高级搜索和安全分享等功能。

项目介绍

面向个人用户、摄影爱好者以及需要有效管理大量媒体文件的家庭,Immich 提供了一个集中的平台,使得珍贵的记忆得以妥善保存和欣赏。

功能特性
功能特性移动端网页端
上传并查看照片和视频
软件运行时自动备份N/A
忽略重复的项目
选择需要备份的相册N/A
下载照片和视频到本地
多用户支持
相册与共享相册
可拖动的快速滚动条
支持RAW格式
元数据视图(EXIF、地图)
通过元数据、对象、人脸和标签进行搜索
管理功能(用户管理)
后台备份N/A
虚拟滚动
OAuth 支持
API KeysN/A
实况照片备份和查看
支持360度全景图显示
用户自定义存储结构
公共分享
归档与收藏功能
足迹地图
好友分享
人脸识别与分组
回忆(那年今日)
离线支持
只读相册
照片堆叠
Star增长曲线

技术架构

Immich 采用传统的客户端-服务器设计,使用专用数据库来保存数据。前端客户端使用 REST API 通过 HTTP 与后端服务进行通信。下面是该项目架构图。

图片

Immich 有三个主要客户端:

•移动应用程序——Android、iOS:采用Flutter编写,它使用Isar Database作为本地数据库,并使用Riverpod进行状态管理。

•Web 应用程序 - 响应式网站:使用SvelteKit和Tailwindcss的TypeScript项目。

•CLI - 用于批量上传的命令行实用程序:是一个npm包,可让用户通过命令行控制其 Immich 实例。它使用 API 执行各种任务,尤其是上传资源。

Immich 后端分为几个服务,作为单独的 docker 容器运行。

•immich-server- 处理并响应 REST API 请求

•immich-microservices- 执行后台作业(缩略图生成、元数据提取、转码等)

•immich-machine-learning- 执行机器学习模型

•postgres- 持久数据存储

•redis- 队列管理immich-microservices

详细介绍,请查看官方介绍文档[1]。

安装使用

服务部署

Docker Compose 是运行 Immich 的推荐方法。以下是使用 Docker Compose 部署 Immich 的步骤。Immich 需要 Docker Compose 版本 2.x。

从您选择的项目目录中,通过shell执行以下命令:

curl -o- https://raw.githubusercontent.com/immich-app/immich/main/install.sh | bash

该脚本将执行以下操作:

1.从Github的主分支下载docker-compose.yml和.env文件。

2.启动容器。

Web应用程序访问地址http://<machine-ip-address>:2283,移动应用程序的服务器 URL 地址http://<machine-ip-address>:2283/api

安装后续步骤,请参阅安装后步骤[2]

移动应用

您可从以下地点下载移动应用程序:

•Google Play 商店[3]

•苹果应用商店[4]

•F-Droid[5]

•GitHub 发布 (apk)[6]

使用服务器端点 URL 登录移动应用程序http://<machine-ip-address>:2283/api

图片

单击屏幕右上角的云图标导航到备份屏幕。

图片

您可以从备份屏幕选择要备份到 Immich 服务器的相册。

图片

向下滚动到底部并按“开始备份”以开始备份过程。

项目地址

https://github.com/immich-app/immich

References

[1] 官方介绍文档: https://immich.app/docs/developer/architecture
[2] 安装后步骤: https://immich.app/docs/install/post-install
[3] Google Play 商店: https://play.google.com/store/apps/details?id=app.alextran.immich
[4] 苹果应用商店: https://apps.apple.com/us/app/immich/id1613945652
[5] F-Droid: https://f-droid.org/packages/app.alextran.immich
[6] GitHub 发布 (apk): https://github.com/immich-app/immich/releases

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

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

相关文章

Function:控制继电器上下电,上电后adb登录,copy配置文件

import serial import time import datetime import subprocess import osdef append_to_txt(file_path, content):if os.path.exists(file_path):with open(file_path, a) as file: # 使用 a 模式打开文件进行追加file.write(content \n) # 追加内容&#xff0c;并换行else…

Hbase存储倒排索引

Hbase存储倒排索引 1. 倒排索引简介 定义&#xff1a;倒排索引是搜索引擎用于快速全文搜索的数据结构&#xff0c;它将文档中出现的每个词与包含该词的文档列表相关联。组成&#xff1a;倒排索引由两部分组成&#xff1a;词典和倒排文件。词典包含所有唯一词项&#xff0c;倒…

python编程笔记

python import库失败&#xff1a;原因是解释器选择不对&#xff0c;pip3 install numpy是把numpy库安装在3.xxx的python解释器中&#xff0c;但是我是在3.9.6的解释器下运行的&#xff0c;所以找不到&#xff0c;此时需要把解释器换成3.11.9即可。 Super(Net,self)._init_() 这…

am62x芯片安全类型确认(HS-SE, HS-FS or GP)

文章目录 芯片安全类型设置启动方式获取串口信息下载脚本运行脚本示例sk-am62x板卡参考芯片安全类型 AM62x 芯片有三个安全级别。 • GP:通用版本 • HS-FS:高安全性 - 现场安全型 • HS-SE:高安全性 - 强制安全型 在SD卡启动文件中,可以查看到, 但板上的芯片,到底是那…

Flutter-无限循环滚动标签

1. 序章 在现代移动应用开发中&#xff0c;滑动视图是常见的交互模式之一。特别是当你需要展示大量内容时&#xff0c;使用自动滚动的滑动视图可以显著提升用户体验。在这篇文章中&#xff0c;我们将讨论如何使用 Flutter 实现一个自动滚动的列表视图。 2. 效果 3. 实现思路 …

5.数据结构-树

数据结构中的树是一种抽象数据类型&#xff0c;它是由节点组成的层次结构。树的每个节点可以包含零个或多个子节点&#xff0c;但只能有一个父节点&#xff08;除了根节点&#xff0c;它没有父节点&#xff09;。以下是树的一些基本概念和特性&#xff1a; 基本概念 节点&…

Nvidia Isaac Sim 入门教程 2024(3)图形界面

Isaac Sim 基本使用 版权信息 Copyright 2023-2024 Herman YeAuromix. All rights reserved.This course and all of its associated content, including but not limited to text, images, videos, and any other materials, are protected by copyright law. The author …

深度学习的泛化能力的一些思考

问题&#xff1a; 为什么人类认识了某物体的之后&#xff0c;换场景也认识该物体&#xff0c;但深度学习网络搭建的模型&#xff0c;比如deeplab、yolo等&#xff0c;训练好的模型&#xff0c;换一个不同的场景之后&#xff0c;就识别不出来了&#xff0c;这是为什么&#xff…

项目二 OpenStack快速入门

任务一 熟悉OpenStack图形界面操作 1.1 Horizon项目 •各OpenStack服务的图形界面都是由Horizon提供的。 •Horizon提供基于Web的模块化用户界面。 •Horizon为云管理员提供一个整体的视图。 •Horizon为终端用户提供一个自主服务的门户。 •Horizon由云管理员进行管理…

OCC介绍及框架分析

1.OCC介绍 Open CASCADE &#xff08;简称OCC&#xff09;是一开源的几何造型引擎&#xff0c;OCCT库是由Open CASCADE公司开发和市场运作的。它是为开源社区比较成熟的基于BREP结构的建模引擎&#xff0c;能够满足二维三维实体造型和曲面造型&#xff0c;国内研究和使用它的单…

计算几何【Pick定理】

Pick 定理 Pick 定理&#xff1a;给定顶点均为整点的简单多边形&#xff0c;皮克定理说明了其面积 A {\displaystyle A} A 和内部格点数目 i {\displaystyle i} i、边上格点数目 b {\displaystyle b} b 的关系&#xff1a; A i b 2 − 1 {\displaystyle Ai{\frac {b}{2}}…

操作系统 文件系统

实验目的&#xff1a; 掌握文件系统设计的基本思想。理解掌握文件系统基本数据结构的设计。理解掌握文件操作中涉及的数据结构访问过程。 实验内容&#xff1a; 1、编程实现一个简单的内存文件系统。实现Linux常见的一些文件操作命令。比如&#xff1a;ls/cat/cp/rm等。 实…

Nginx如何实现负载均衡配置

一、引言 Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;它以其稳定性、丰富的功能集、低系统资源消耗和简单的配置而广受欢迎。在大型网站和分布式系统中&#xff0c;Nginx常被用作负载均衡器&#xff0c;将请求分发到多个后端服务器上&#xff0c;以提高系统的整体性能…

在实现物体测距,使用射线时自己导致的bug。。

问题 我是想相交的到点以后&#xff0c;直接塞入对应交到的物体里用一个SphereGeometry显示(不测量的时候&#xff0c;寻找其父元素移除)。 进行一番操作以后&#xff0c;发现显示的位置始终不对。 经过一段时间的思考&#xff0c;发现使用intersects[0].object.worldToLocal(…

链表经典面试题--链表修至圆满

目录 1.环形链表 a.为什么一定会相遇&#xff0c;有没有可能会错过&#xff0c;永远追不上&#xff1f;请证明 b.slow一次走1步&#xff0c;fast走3步 4步 5步 n步还一定追得上吗 请证明 2.环形链表2 3.随机链表的复制 1.环形链表 141. 环形链表 - 力扣&#xff08;Lee…

数学建模基础:数学建模概述

目录 前言 一、数学建模的步骤 二、模型的分类 三、模型评价指标 四、常见的数学建模方法 实际案例&#xff1a;线性回归建模 步骤 1&#xff1a;导入数据 步骤 2&#xff1a;数据预处理 步骤 3&#xff1a;建立线性回归模型 步骤 4&#xff1a;模型验证 步骤 5&…

进销存系统哪个好?2024最新进销存系统推荐(持续更新中)

现在市面上的进销存系统太多了&#xff0c;企业的选择越多&#xff0c;越容易踩坑。那企业在选择进销存系统时&#xff0c;需要考虑哪些因素&#xff1f; 1、系统的适配性 在进行选择之前&#xff0c;就应该先清楚自己的企业是重财务流管理、还是生产业务流管理、还是销售订单…

抓取另一个应用程序(app)内的测试数据方法

在Windows操作系统中,利用C#来抓取另一个应用程序(app)内的数据通常涉及到一些高级技术,如Windows API调用、内存读取、UI自动化等。这些技术都有其特定的用途和限制,而且可能涉及到法律和道德问题。在尝试这样的操作之前,请确保你了解相关的法律和隐私政策,并确保你有合…

不是吧?爱上用AI绘画Stable Diffusion 出图的老板搞这出?打工人的时间真不多了

家人们&#xff01;AI留给职场打工人的时间真的不多了&#xff01; 有长远打算的老板们&#xff0c;已经开始研究AI了&#xff01; 甚至有设计师说&#xff0c;自己辛辛苦苦做的海报没过&#xff0c;AI做的却被老板通过了&#xff01;&#xff1f; 这两年&#xff0c;伴随着AI…

Web前端中横线:深入探索与实际应用

Web前端中横线&#xff1a;深入探索与实际应用 在Web前端开发的广袤领域中&#xff0c;中横线这一看似简单的元素&#xff0c;实则蕴含着丰富的设计哲学和技术实现。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;对中横线在Web前端中的应用进行深入剖析&#x…