PassNAT LogoPassNAT

自托管照片管理系统 Immich 部署指南,NAS 快速搭建私人相册库,支持人脸识别和智能备份

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Immich 是一款高性能的自托管照片和视频管理解决方案,为你的珍贵回忆提供完整的保护。它基于现代化的技术栈构建,支持照片和视频的上传、智能备份、人脸识别、元数据搜索、共享相册等丰富功能。

无论你是摄影爱好者还是普通用户,Immich 都能为你提供媲美云服务的体验,但所有数据都掌握在自己手中。支持多用户管理、离线访问、移动端自动备份,让你随时随地安全地管理和分享你的媒体文件。最关键的是,你可以完全掌控自己的数据,无需担心隐私泄露。

项目地址: 点我跳转

部署安装

若要在外网访问你的 Immich 服务,建议配置内网穿透功能。可以前往 帕斯内网穿透 注册账号,这样即使在公司或出差时也能随时访问家中的照片库。具体操作步骤可参考 内网穿透全平台上手攻略

使用 Docker Compose 快速部署

Immich 官方推荐使用 Docker Compose 进行部署,这是最简便的方式。

第一步:复制配置文件

将下列的 docker-compose 配置复制保存到你的 NAS 或服务器上:

1version: '3.8'
2
3services:
4 immich-server:
5 image: ghcr.io/immich-app/immich-server:latest
6 container_name: immich_server
7 command: start.sh immich
8 volumes:
9 - ${UPLOAD_LOCATION}:/usr/src/app/upload
10 - /etc/localtime:/etc/localtime:ro
11 environment:
12 - DB_HOSTNAME=immich-db
13 - DB_USERNAME=postgres
14 - DB_PASSWORD=postgres
15 - DB_NAME=immich
16 - REDIS_HOSTNAME=immich-redis
17 ports:
18 - "3001:3001"
19 depends_on:
20 - immich-db
21 - immich-redis
22 restart: always
23
24 immich-microservices:
25 image: ghcr.io/immich-app/immich-server:latest
26 container_name: immich_microservices
27 command: start.sh microservices
28 volumes:
29 - ${UPLOAD_LOCATION}:/usr/src/app/upload
30 - /etc/localtime:/etc/localtime:ro
31 environment:
32 - DB_HOSTNAME=immich-db
33 - DB_USERNAME=postgres
34 - DB_PASSWORD=postgres
35 - DB_NAME=immich
36 - REDIS_HOSTNAME=immich-redis
37 depends_on:
38 - immich-db
39 - immich-redis
40 restart: always
41
42 immich-web:
43 image: ghcr.io/immich-app/immich-web:latest
44 container_name: immich_web
45 ports:
46 - "80:3000"
47 environment:
48 - IMMICH_SERVER_URL=http://immich-server:3001
49 depends_on:
50 - immich-server
51 restart: always
52
53 immich-db:
54 image: postgres:15-alpine
55 container_name: immich_db
56 environment:
57 - POSTGRES_USER=postgres
58 - POSTGRES_PASSWORD=postgres
59 - POSTGRES_DB=immich
60 volumes:
61 - immich-db:/var/lib/postgresql/data
62 restart: always
63
64 immich-redis:
65 image: redis:7-alpine
66 container_name: immich_redis
67 restart: always
68
69volumes:
70 immich-db:

第二步:配置存储位置

打开你的飞牛 NAS 或其他 NAS 设备,找到存储管理功能。创建一个新的文件夹用于存放 Immich 的媒体文件,例如 '/mnt/media/immich'。这个路径将用于保存所有上传的照片和视频。

在启动容器前,需要修改配置文件中的 'UPLOAD_LOCATION' 环境变量,将其指向你创建的文件夹路径。

第三步:启动服务

在 NAS 管理界面中找到 Docker 或容器管理功能,选择'从 Compose 文件导入',粘贴上述配置文件内容,然后点击启动。系统会自动下载所需的镜像并启动所有服务。

第四步:访问应用

部署完成后,打开浏览器访问 'http://你的NAS地址' 即可进入 Immich 的网页界面。首次使用时需要创建管理员账号,之后就可以开始上传和管理你的照片和视频了。

环境变量说明

必须设置:

'UPLOAD_LOCATION':媒体文件存储路径,例如 '/mnt/media/immich'

'DB_PASSWORD':数据库密码(建议修改为强密码以增强安全性)

可选设置:

'DB_USERNAME':数据库用户名,默认为 'postgres'

'DB_NAME':数据库名称,默认为 'immich'

'IMMICH_SERVER_URL':服务器访问地址,用于移动端连接

其他配置项保持默认即可,无需特殊修改。

端口说明

Web 界面:80 端口(可根据需要修改为其他端口,如 8080)

API 服务:3001 端口(内部通信,通常无需修改)

如果提示端口被占用,可以修改配置文件中的端口映射,例如将 '80:3000' 改为 '8080:3000',但容器内部的端口保持不变。


通过以上步骤,你就可以拥有一个功能完整的自托管照片管理系统。Immich 会自动为你的照片进行备份、分类和优化,支持人脸识别、地点标签等高级功能,让你的回忆得到妥善保管。

本篇教程结束。