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

news2024/11/28 0:55:18

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

图片

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.coloradmin.cn/o/1844995.html

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

相关文章

贾英才主任受聘担任“两个中心”专家委员会委员

近日&#xff0c;第二届海峡两岸中西医结合肾脏病学术大会授牌仪式在北京隆重举行。 这一盛会吸引了众多医学领域的专家学者&#xff0c;共同探讨中西医结合治疗肾脏病的最新进展和未来发展方向。 在此次大会上&#xff0c;崇文门中医医院的贾英才主任凭借其在肾脏病领域的卓…

绝地求生PUBG联名补偿奖励来了 补偿奖励介绍详情解析

绝地求生》(PUBG) 作为一款战术竞技型射击类沙盒游戏&#xff0c;从上线以来就深受玩家小伙伴们的喜爱&#xff0c;即便是没有玩过的小伙伴&#xff0c;对“吃 鸡”二字想必也是很耳熟的&#xff0c;这正是《绝地求生》(PUBG) 的别称。 在北京时间6月12日&#xff0c;由于绝地求…

挑战从不是终点,而是人生的起点

对于交易员来说&#xff0c;每一次市场的起伏都是对内心坚韧与技能精进的考验。无论遭遇的是挫败还是辉煌&#xff0c;它们都是通向卓越道路上不可或缺的磨砺。正是在这些磨难与历练中&#xff0c;我们不断重塑自我&#xff0c;锤炼技术&#xff0c;直至面对看似难以逾越的障碍…

行业唯一!三翼鸟场景品牌战略推动价值凸显

文 | 智能相对论 作者 | 佘凯文 当你的一只羊跑进别人的羊群中&#xff0c;怎么才能找到它&#xff1f; 从前人们为了区分自己的财产&#xff0c;会用烧红的铁块印在动物身上作为标记。在中世纪的欧洲&#xff0c;手工艺匠人用这种烧灼的方法在自己的手工艺品上烙下标记&…

会声会影2024 视频编辑创作利器 #AI智能剪辑 #特效资源库 #共创共享 #视频创作爱好者

&#x1f31f;【全新升级&#xff01;会声会影2024&#xff0c;视频编辑的革新之作】&#x1f31f; 嗨&#xff0c;CSDN的朋友们&#xff0c;今天要跟大家分享一款让我彻底震撼的视频编辑软件——会声会影2024最新版本&#x1f3ac;&#xff01;作为一位热爱创作的内容创作者&a…

昇思25天学习打卡营第3天|数据集 Dataset|数据变换 Transforms

学AI还能赢奖品&#xff1f;每天30分钟&#xff0c;25天打通AI任督二脉 (qq.com) 数据集 Dataset 数据是深度学习的基础&#xff0c;高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的数据引擎&#xff0c;通过数据集&#xff08;Dataset&am…

chatgpt: linux 下用纯c 编写一按钮,当按钮按下在一新窗口显示hello world

用这个程序模板&#xff0c;就可以告别只能在黑框框的终端中编程了。 在 Linux 环境下使用纯 C 语言编写一个按钮&#xff0c;当按钮按下时&#xff0c;在一个新窗口显示 "Hello World"。我们可以使用 GTK 库来实现这个功能。GTK 是一个用于创建图形用户界面的跨平台…

论文辅导 | 基于K-means聚类和ELM神经网络的养殖水质溶解氧预测

辅导文章 模型描述 1&#xff09;相似度统计量构造。数据归一化后&#xff0c;利用皮尔森相关系数确定环境因子权重&#xff0c;构造相似日的统计量&#xff0d;相似度。 2&#xff09;K-means 聚类。根据相似度应用 K-means 聚类法对历史日数据样本聚类&#xff0c;找出合适样…

clean code-代码整洁之道 阅读笔记(第十一章)

第十一章 系统 “复杂要人命,它消磨开发者的生命&#xff0c;让产品难以规划、构建和测试。” --RayOzzie&#xff0c;微软公司首席技术官 11.1 如何建造一个城市 每个城市都有一组组人管理不同的部分&#xff0c;有些人负责全局&#xff0c;其他人负责细节。 城市能运转&#…

昨天发的 npm 包,却因为 registry 同步问题无法安装使用

用过 HBuilderX 云打包的都知道&#xff0c;云上面的 Android 环境很有限&#xff0c;其实并不能覆盖 uniapp 生态所有的版本&#xff0c;甚至说只能覆盖最新的一两个版本。 如果你需要用到 HBuilderX 安卓云打包&#xff0c;就必须及时跟进 HBuilderX 的版本更新&#xff0c;…

【人机交互 复习】第7章 可视化设计

一、窗口界面类型 1.多文档界面 &#xff08;1&#xff09;优点 a.节省系统资源 b.最小的可视集 c.协同工作区 d.多文档同时可视化 &#xff08;2&#xff09;缺点 a.菜单随活动文档窗口状态变化&#xff0c;导致不一致性 b.文档窗口必须在主窗口内部&#xff0c;减弱多文档显…

[C++][数据结构][B-树][上]详细讲解

目录 0.常见的搜索结构1.B树概念2.B-树的插入分析1.流程分析2.插入过程总结 0.常见的搜索结构 种类数据格式时间复杂度顺序查找无要求 O ( N ) O(N) O(N)二分查找有序 O ( l o g 2 N ) O(log_2 N) O(log2​N)二叉搜索树无要求 O ( N ) O(N) O(N)二叉平衡树无要求 O ( l o g 2 …

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验5 交换机的自学习算法

一、实验目的 1.验证交换机的自学习算法&#xff1b; 2.了解交换机对帧的过滤特性&#xff1b; 3.学习交换机如何登记接收到的数据包&#xff1b; 4.学习交换机如何转发数据包&#xff08;明确转发&#xff0c;盲目转发&#xff0c;丢弃&#xff09;。 二、实验要求 1.使用Cisc…

自动化办公04 使用pyecharts制图

目录 一、柱状图 二、折线图 三、饼图 四、地图 1. 中国地图 2. 世界地图 3. 省会地图 五、词云 Pyecharts是一个用于数据可视化的Python库。它基于Echarts库&#xff0c;可以通过Python代码生成各种类型的图表&#xff0c;如折线图、柱状图、饼图、散点图等。 Pyecha…

养车小程序系统源码,汽修源码,仿途虎养车系统源码,车辆保养小程序系统

用户端&#xff0b;商家端&#xff0b;师傅端 功能介绍: 支持下单上门服务、到店核销&#xff0c;支持单独选择项目、 也支持选择服务人员、和选择门店多种下单方式&#xff0c; 支持上门服务和到店核销两种服务方式&#xff0c;支持自营和多商家联营两种运营模式&#xff…

静态路由(Static-Route)-Cisco

路由&#xff08;Route&#xff09; 世界上数亿的计算机大海 通过路由将世界连接 路由连接LAN、WAN、MAN&#xff0c;也连接世界 路由的工作 路由器将大块信息分解为小数据包 以实现可靠和高效的传输 过程称为“反汇编”和“封装数据有效负载” 路由表是一种逻辑数据结构…

Linux 服务管理(待更)

服务(service)本质就是进程&#xff0c;但是是运行在后台的&#xff0c;通常都会监听某个端口&#xff0c;等待其它程序的请求&#xff0c;比如(mysqld , sshd防火墙等)&#xff0c;因此又称为守护进程。 比如通过xshell进行连接的时候&#xff0c;需要输入的端口号就是通过守护…

PyTorch梯度直通反传

有时我们想在层的输出端放置一个阈值函数。这可能出于多种原因。其中之一是我们想将激活总结为二进制值。这种激活的二值化在自编码器中很有用。 然而&#xff0c;阈值化在反向传播过程中会带来问题&#xff1a;阈值函数的导数为零。这种梯度的缺乏导致我们的网络无法学习任何…

CSDN图片居中、左对齐、右对齐、大小设置

图片居中、左对齐、右对齐 ![在这里插入图片描述](https://img-blog.csdnimg.cn/99dc1072e8f1471990b700e1c85d301a.jpeg#pic_center) 大小设置 空格400x150 空格30%x # 长400 宽200 ![在这里插入图片描述](https://img-blog.csdnimg.cn/99dc1072e8f1471990b700e1c85d301a.…

hive on spark 的架构和常见问题 - hive on spark 使用的是 yarn client 模式还是 yarn cluster 模式?

hive on spark 的架构和常见问题 - hive on spark 使用的是 yarn client 模式还是 yarn cluster 模式&#xff1f; 1. 回顾下 spark 的架构图和部署模式 来自官方的经典的 spark 架构图如下&#xff1a; 上述架构图&#xff0c;从进程的角度来讲&#xff0c;有四个角色/组件&…