皮皮鲁

皮皮鲁

采用区块链技术建立的个人博客

Docker搭建一款开源的照片和视频自动备份软件

软件介绍

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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。