xChar
·9 months ago

软件介绍

Immich是一个功能强大、易于使用的自托管照片和视频备份解决方案,适合需要安全、有效地管理自己珍贵记忆的用户。

一. 主要功能

  1. 自动备份:当打开Immich应用程序时,它会自动备份用户的照片和视频,无需手动操作。
  2. 多平台支持:Immich支持多种操作系统,如Ubuntu、Debian、macOS等,确保用户在不同平台上都能享受到同样的服务。
  3. 多用户支持:Immich支持多用户同时使用,方便家庭成员共享和管理照片。
  4. 共享相册:用户可以创建共享相册,邀请亲朋好友一起欣赏和分享照片和视频。
  5. 元数据视图:Immich提供EXIF、地图等元数据视图,让用户更深入地了解每张照片的详细信息。

二. 技术栈

  1. 后端框架:NestJs,为Immich提供稳定、高效的服务端支持。
  2. Web前端框架:SvelteKit,以其轻量级和高效性为应用程序提供流畅的用户体验。
  3. 数据库:PostgreSQL作为主数据库,确保应用程序的数据安全。
  4. 缓存和消息处理:Redis被用作docker实例和后台任务消息队列之间的共享websocket实例。
  5. 负载均衡和文件上传:Nginx在Immich中担任此角色,确保应用程序的稳定性和性能。
  6. 图像处理能力:TensorFlow用于对象检测和图像分类。

三. 系统要求

  1. 操作系统:首选Ubuntu、Debian、macOS等。
  2. 内存:至少2GB,首选4GB。
  3. 处理器:至少2个核心,首选4个核心。

四. 特点和优势

  1. 安全性:作为自托管解决方案,用户完全掌控自己的数据,无需担心第三方访问或数据泄露。
  2. 灵活性:用户可以根据自己的需求进行定制和扩展,满足不同的存储和管理需求。
    73 易用性:界面设计简洁直观,易于上手和使用。

五. 其他功能

  1. 管理功能:包括用户管理、后台备份等,方便用户进行系统的维护和管理。
  2. 搜索功能:支持按元数据、对象和图像标签进行搜索,方便用户快速找到所需的照片和视频。

如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。

官方GitHubhttps://github.com/immich-app/immich

官方API文档https://immich.app/docs/overview/introduction

第三方自建Docker部署https://github.com/imagegenius/docker-immich

搭建教程

本文通过Docker的方式来部署,采用第三方自建Docker部署,以Ubuntu为例,操作步骤:安装Docker、创建docker-compose.yml、启动容器运行镜像。

| 第一步安装docker

sudo apt update
sudo apt install -y docker.io docker-compose

| 第二步创建docker-compose.yml

在Home目录创建docker-compose.yml,编写以下配置并保存:
version: '3'
services:
immich:
image: ghcr.io/imagegenius/immich:latest
container_name: immich
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DB_HOSTNAME=192.168.1.x
- DB_USERNAME=postgres
- DB_PASSWORD=postgres
- DB_DATABASE_NAME=immich
- REDIS_HOSTNAME=192.168.1.x
- DB_PORT=5432 #optional
- REDIS_PORT=6379 #optional
- REDIS_PASSWORD= #optional
- MACHINE_LEARNING_GPU_ACCELERATION= #optional
- MACHINE_LEARNING_HOST=0.0.0.0 #optional
- MACHINE_LEARNING_PORT=3003 #optional
- MACHINE_LEARNING_WORKERS=1 #optional
- MACHINE_LEARNING_WORKER_TIMEOUT=120 #optional
volumes:
- /home/appdata:/config
- /home/photos:/photos
- /home/imports:/import:ro #optional
ports:
- 8080:8080
restart: unless-stopped

This container requires an external application to be run separately.

By default, ports for the databases are opened, be careful when deploying it

Redis:

redis:
image: redis
ports:
- 6379:6379
container_name: redis

PostgreSQL 14:

postgres14:
image: tensorchord/pgvecto-rs:pg14-v0.2.0
ports:
- 5432:5432
container_name: postgres14
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: immich
volumes:
- /home/postgres:/var/lib/postgresql/data

| 第三步启动容器运行镜像

sudo docker-compose up -d

上述指令执行完成后,在浏览器访问IP:8080即可。

Loading comments...