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

主要功能

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

技术栈

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

系统要求

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

特点和优势

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

其他功能

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

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

搭建教程

本文通过 Docker 的方式来部署,以 Ubuntu 为例,操作步骤如下:

第一步:安装 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

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

  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 即可。


END
cc
最后修改:2024 年 07 月 21 日
如果觉得我的文章对你有用,请随意赞赏