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

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

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

项目介绍

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

功能特性
功能特性 移动端 网页端
上传并查看照片和视频
软件运行时自动备份 N/A
忽略重复的项目
选择需要备份的相册 N/A
下载照片和视频到本地
多用户支持
相册与共享相册
可拖动的快速滚动条
支持RAW格式
元数据视图(EXIF、地图)
通过元数据、对象、人脸和标签进行搜索
管理功能(用户管理)
后台备份 N/A
虚拟滚动
OAuth 支持
API Keys N/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

相关推荐
说私域1 小时前
精准零售驱动下的中国零售业变革与“开源 2+1 链动小程序”应用探究
人工智能·小程序·开源
Baihai IDP3 小时前
从 Llama 1 到 3.1:Llama 模型架构演进详解
人工智能·ai·开源·llm·llama
Sunrisepeak4 小时前
xlings: 跨平台一键安装功能设计与思考 - 多编程环境搭建、工具软件安装、项目依赖管理
程序员·开源·github
FreeIPCC15 小时前
电话机器人是什么?
大数据·人工智能·语言模型·机器人·开源·信息与通信
yunmoon0115 小时前
一个开源轻量级的服务器资源监控平台,支持告警推送
开源
我想探知宇宙15 小时前
L1G1000 书生大模型全链路开源开放体系笔记
笔记·开源
顽疲1 天前
springboot vue 开源 会员收银系统 (10) 销单 销单后会员卡余额及库存优化
vue.js·spring boot·开源
FreeIPCC1 天前
如何评估电话机器人的效果?
大数据·人工智能·语言模型·机器人·开源·信息与通信
菜鸟挣扎史1 天前
关于一次开源java spring快速开发平台项目RuoYi部署的记录
java·spring·开源
镜舟科技1 天前
镜舟科技积极参与北京市开源项目产融对接会,共谋开源新未来
开源