immich 家庭相册 docker部署

891 阅读3分钟

Immich 介绍

一、概述

Immich 是一款自托管的照片和视频管理解决方案。

二、功能特点

(一)备份功能

  • 它可以将手机、相机等设备中的照片和视频备份到自己的服务器上,如同搭建私人的 “云存储”,能有效避免第三方云服务可能出现的数据安全和隐私问题。例如,摄影师或重视隐私的用户可借此安全备份作品或家庭照片。

(二)组织和管理

  • Immich 提供便捷工具来组织管理媒体文件。可依时间、地点、主题等方式创建相册分类,比如创建 “旅行相册” 存放某次旅行的相关媒体,或按拍摄地点设 “巴黎之旅”“纽约印象” 等相册,便于快速查找所需内容。

(三)共享功能

  • 允许用户轻松与家人、朋友共享照片和视频。可通过生成共享链接或邀请特定用户查看,如聚会后能快速共享相关媒体,且能控制共享权限,如仅允许查看或允许下载等。

(四)用户体验友好

  • Immich 具有简洁直观的用户界面,网页端和移动应用程序访问均便捷,移动应用考虑手机操作便利性,可随时随地备份、查看和分享。

三、技术架构方面

(一)后端技术

  • Immich 主要基于 Node.js 构建,Node.js 是开源、跨平台的 JavaScript 运行环境,能高效处理大量并发请求,适用于处理备份请求、文件管理操作等任务。同时使用数据库存储媒体文件元数据(如拍摄时间、地点、文件名称等信息)和用户信息等,使数据管理和查询更有序。

(二)前端技术

  • 前端使用流行的 React 框架,能构建高效、灵活的用户界面,提供流畅交互体验。通过与后端 API 交互,可实时获取和更新媒体文件相关信息,如相册添加或删除照片后界面能及时更新显示。

四、安装和使用

(一)安装要求

  • 要使用 Immich,需有自己的服务器或具备足够资源的计算机来运行它,服务器可为物理服务器或租用的虚拟服务器。同时要安装必要软件依赖,如 Docker 等,以便轻松部署和管理 Immich 应用程序。

(二)配置过程

  • 安装后,需进行基本配置,包括设置存储路径(媒体文件存储位置)、数据库连接等。之后可在手机或其他设备上安装 Immich 移动应用并连接到自己的服务器,开始备份和管理媒体文件。

(三) docker 部署

# 创建数据卷
docker volume create immich-volume

# 运行

docker run --detach \ 
--name=immich \ 
--restart=always \ 
--env PUID=1000 \ 
--env PGID=1000 \ 
--env TZ=Etc/UTC \ 
--env DB_HOSTNAME=[db_host] \ 
--env DB_USERNAME=[dn_username] \ 
--env DB_PASSWORD=[db_passwd] \ 
--env DB_DATABASE_NAME=[db_name] \ 
--env REDIS_HOSTNAME=[redis_host] \ 
--env DB_PORT=5432 \ 
--env REDIS_PORT=6379 \ 
--publish 8080:8080 \ 
--mount type=volume,source=immich-volume,target=/config \ 
--mount type=volume,source=immich-volume,target=/photos \ 
--mount type=volume,source=immich-volume,target=/libraries \ ghcr.io/imagegenius/immich:latest

(四) 浏览器打开

(五) 手机端