
开头说明
家里如果有一台闲置的 Windows 旧电脑,只要硬盘还能用、网络比较稳定,就可以改造成一台家庭相册服务器。手机里的照片和视频可以自动备份到这台电脑里,家里的电脑、手机、平板、电视都能通过浏览器或 App 查看,全家人还可以分别拥有自己的账号。
这篇文章使用开源相册项目 Immich,通过 Docker Desktop 在 Windows 电脑上部署。文章会按新手能照着做的方式写:先准备旧电脑,再安装 Docker Desktop,然后下载 Immich 官方配置文件,修改保存照片的位置,启动服务,最后教手机怎么连接、怎么自动备份、怎么处理防火墙和常见报错。
本文默认目标是“家里局域网访问”,也就是手机和电脑连同一个 Wi-Fi 时使用。外网访问属于进阶内容,后面单独说明 Cloudflare Tunnel 的思路。家庭照片涉及隐私,不建议一开始就把服务暴露到公网。
重要提醒:Immich 很适合做家庭相册,但不要把它当成唯一备份。真正重要的照片,至少还要再备份一份到移动硬盘、NAS、另一台电脑或可靠云盘。
Immich 能解决什么问题
- 手机照片和视频可以自动备份到家里的 Windows 旧电脑。
- 照片文件保存在自己的硬盘里,不占第三方网盘空间。
- 家里局域网内,手机、电脑、平板、电视都能访问。
- 支持时间线浏览、相册整理、收藏、搜索等常用相册功能。
- 支持人脸识别,可以把家人头像整理到一起。
- 支持多用户,家人可以分别用自己的账号登录。
- 需要外网访问时,可以配合 Cloudflare Tunnel,不一定要在路由器开放端口。
简单理解,Immich 类似自己搭建一个“家庭版相册云”,只不过照片主要放在自己家的电脑硬盘里。
准备工作
| 项目 | 建议 | 说明 |
|---|---|---|
| 电脑 | Windows 10 或 Windows 11 | 旧台式机、小主机、笔记本都可以 |
| CPU | 至少双核 | 照片多、人脸识别多,CPU 越好越省时间 |
| 内存 | 最低 8GB,建议 16GB | Docker Desktop 和 Immich 都会占内存 |
| 硬盘 | 建议单独准备大容量硬盘 | 照片和视频会越来越多,不建议只放系统盘 |
| 网络 | 优先有线网口连接路由器 | 比 Wi-Fi 更稳定,适合长期备份 |
| 软件 | Docker Desktop、PowerShell、浏览器 | 本文所有命令都在 Windows PowerShell 执行 |
如果这台旧电脑准备长期当相册服务器使用,建议放在固定位置,长期插电,尽量接网线,并关闭 Windows 自动睡眠。电脑一睡眠,手机就无法继续备份,家里其他设备也打不开相册。
第一步:确认 Windows 支持 Docker Desktop
Docker Desktop 依赖 Windows 的虚拟化和 WSL 2。安装前先做两个检查。
1.1 检查电脑是否开启虚拟化
按下键盘上的 Ctrl + Shift + Esc 打开任务管理器,进入“性能”页面,点击 CPU,右下角一般会看到“虚拟化”。
- 如果显示“已启用”,可以继续安装 Docker Desktop。
- 如果显示“已禁用”,需要进入 BIOS 开启虚拟化。
不同品牌电脑的 BIOS 选项名称可能不一样,常见名称包括 Intel VT-x、Virtualization Technology、SVM Mode、AMD-V。开启后保存并重启电脑。
1.2 更新 Windows 和 WSL
建议先打开 Windows 更新,把系统更新到比较新的版本。然后用管理员身份打开 PowerShell,执行:
wsl --update
wsl --status
能看到 WSL 状态信息就可以继续。如果提示没有安装 WSL,也不用慌,安装 Docker Desktop 时通常会引导你安装 WSL 2。
第二步:安装 Docker Desktop
打开 Docker Desktop 官网,下载 Windows 版本并安装。
下载地址:
https://www.docker.com/products/docker-desktop/
安装时注意下面几点:
- 保持 WSL 2 相关选项开启。
- 安装完成后按提示重启电脑。
- 重启后打开 Docker Desktop,等待左下角显示正常运行。
- 如果弹出登录提示,可以先跳过登录,不影响本地使用。
安装完成后,打开 PowerShell,输入下面两条命令检查:
docker version
docker compose version
如果能看到 Docker 和 Docker Compose 的版本号,说明环境已经准备好。如果提示找不到命令,先关闭 PowerShell,重新打开一次;还不行就重启电脑。
第三步:规划 Immich 文件夹
部署 Immich 前,先把目录规划好。新手最容易踩坑的地方,就是把配置和照片随便放在桌面、下载目录或系统盘里,后面容易误删,也不好迁移。
本文用下面两个目录作为示例:
D:\immich-app:存放 Immich 的配置文件。D:\immich-data:存放上传的照片、视频和备份文件。
如果你的电脑有一块更大的 E 盘,也可以把照片目录改成 E:\immich-data。只要后面配置里对应改掉即可。
打开 PowerShell,执行:
mkdir D:\immich-app
mkdir D:\immich-data
mkdir D:\immich-app\postgres
这里额外创建了 D:\immich-app\postgres,用于保存数据库数据。照片文件和数据库都很重要,后面备份时都要考虑。
第四步:下载 Immich 官方配置文件
进入 Immich 配置目录:
cd D:\immich-app
下载官方 Docker Compose 文件:
Invoke-WebRequest -Uri "https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml" -OutFile "docker-compose.yml"
下载官方环境变量示例文件,并保存为 .env:
Invoke-WebRequest -Uri "https://github.com/immich-app/immich/releases/latest/download/example.env" -OutFile ".env"
如果下载速度慢,可以用浏览器分别打开这两个链接下载,然后手动放到 D:\immich-app 目录里:
https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
https://github.com/immich-app/immich/releases/latest/download/example.env
手动下载时要注意:example.env 放进目录后需要改名为 .env。文件名前面有一个点,后面没有其他扩展名。
第五步:修改 .env 配置
用记事本打开 .env 文件:
notepad D:\immich-app\.env
找到下面几项,按自己的目录修改。新手可以先照着下面写:
UPLOAD_LOCATION=D:/immich-data
DB_DATA_LOCATION=D:/immich-app/postgres
TZ=Asia/Shanghai
IMMICH_VERSION=v3
DB_PASSWORD=请改成一串很长的随机英文和数字
每一项是什么意思:
UPLOAD_LOCATION:照片和视频保存位置。DB_DATA_LOCATION:数据库文件保存位置。TZ:时区,国内用户建议写Asia/Shanghai。IMMICH_VERSION:Immich 版本,默认按官方文件保留即可。DB_PASSWORD:数据库密码,一定要改掉默认值。
Windows 路径建议写成 D:/immich-data 这种斜杠形式,不要写成 D:\immich-data。这样 Docker 更容易识别。
DB_PASSWORD 建议只使用英文字母和数字,不要加空格、中文、引号、特殊符号。比如可以写成类似下面这种格式:
DB_PASSWORD=Immich2026HomeAlbum928371
修改完成后保存文件,然后关闭记事本。
第六步:第一次启动 Immich
回到 PowerShell,确认当前位置还是 Immich 配置目录:
cd D:\immich-app
启动 Immich:
docker compose up -d
第一次启动会自动下载多个镜像,时间取决于网络速度。旧电脑或网络慢时,等待十几分钟也正常。这个过程中不要关闭 Docker Desktop。
启动完成后,查看容器状态:
docker compose ps
正常情况下,会看到多个 Immich 相关服务处于运行状态。如果有服务显示重启、退出或不健康,先不要急着重装,后面有排查方法。
第七步:在旧电脑本机打开 Immich
在这台旧电脑上打开浏览器,访问:
http://localhost:2283
如果能打开 Immich 页面,说明服务已经在本机跑起来了。
如果打不开,先检查三件事:
- Docker Desktop 是否正在运行。
- PowerShell 里
docker compose ps是否显示服务在运行。 - 浏览器地址是否写成了
http://localhost:2283,不是https://localhost:2283。
第八步:初始化管理员账号
第一次打开 Immich 页面,会进入初始化流程。第一个创建的账号就是管理员账号。
管理员账号建议这样设置:
- 邮箱使用自己长期使用的邮箱。
- 密码设置复杂一点,不要和其他网站共用。
- 管理员账号只给自己使用。
- 家人后面单独创建普通账号。
管理员可以管理用户、查看任务队列、调整系统设置、处理备份和识别任务。不要为了方便,把管理员账号给全家共用。
第九步:查看旧电脑的局域网 IP
旧电脑自己访问可以用 localhost,但手机、电视、其他电脑访问时,不能写 localhost。它们需要访问旧电脑在家里局域网里的 IP 地址。
在旧电脑 PowerShell 执行:
ipconfig
找到正在使用的网卡,比如“以太网适配器”或“无线局域网适配器”,查看里面的 IPv4 地址。常见格式类似:
192.168.1.50
那么家里其他设备访问 Immich 的地址就是:
http://192.168.1.50:2283
如果你看到多个 IPv4 地址,优先选择当前正在联网的网卡地址。有线连接通常在“以太网”下面,Wi-Fi 通常在“无线局域网适配器”下面。
第十步:给旧电脑绑定固定 IP
建议在路由器后台给这台旧电脑绑定固定 IP。否则路由器重启后,旧电脑的 IP 可能从 192.168.1.50 变成 192.168.1.68,手机 App 里的服务器地址就会失效。
不同路由器页面不一样,但大致路径类似:
- 登录路由器后台。
- 找到“终端设备”“已连接设备”或“DHCP 设置”。
- 找到这台旧电脑。
- 选择“绑定 IP”“静态分配”或“地址保留”。
- 把旧电脑固定为一个好记的地址,例如
192.168.1.50。
绑定后,后续手机、电视、电脑都固定访问这个地址即可。
第十一步:处理 Windows 防火墙
如果旧电脑自己能打开 localhost:2283,但手机打不开 旧电脑IP:2283,最常见原因是 Windows 防火墙拦截了端口。
可以先用图形界面处理:
- 打开 Windows 安全中心。
- 进入“防火墙和网络保护”。
- 点击“允许应用通过防火墙”。
- 允许 Docker Desktop 相关项目通过专用网络。
也可以用管理员身份打开 PowerShell,添加 2283 端口入站规则:
New-NetFirewallRule -DisplayName "Immich 2283" -Direction Inbound -Protocol TCP -LocalPort 2283 -Action Allow
这条规则只是在 Windows 防火墙里允许家里设备访问 Immich 的 2283 端口。家庭局域网使用一般够了,不代表要把端口暴露到公网。
第十二步:手机安装 Immich App
手机端可以安装 Immich 官方 App。iPhone 用户在 App Store 搜索 Immich,Android 用户可以通过 Google Play、GitHub Releases、F-Droid 等方式安装,具体以官方页面提供的方式为准。
安装后打开 App,服务器地址填写旧电脑的局域网地址,例如:
http://192.168.1.50:2283
注意这里不要写 localhost。在手机上,localhost 指的是手机自己,不是旧电脑。
然后输入 Immich 账号邮箱和密码登录。第一次可以先用管理员账号测试是否能登录,确认成功后再给家人创建普通账号。
第十三步:开启手机自动备份
登录 Immich App 后,进入备份页面,选择要备份的相册或目录。常见选择包括:
- 相机胶卷。
- 截图。
- 微信保存图片。
- 视频目录。
- 家庭照片目录。
新手建议第一天不要一次性选择所有目录。可以先选“相机胶卷”,确认能正常上传,再慢慢增加其他目录。
第一次备份照片很多,建议这样做:
- 手机连接家里的 Wi-Fi。
- 手机插上充电器。
- 旧电脑保持开机,不要睡眠。
- 先备份几十张测试,再放开全量备份。
- iPhone 和 Android 都可能限制后台上传,发现停了就手动打开 App 继续。
如果 App 提示权限,照片权限要允许访问需要备份的照片;后台刷新、通知、网络访问等权限也建议按实际情况打开。
第十四步:电脑、手机、电视怎么访问
旧电脑本机访问:
http://localhost:2283
家里其他电脑访问:
http://旧电脑IP:2283
手机访问:
Immich App 填写 http://旧电脑IP:2283
或手机浏览器打开 http://旧电脑IP:2283
电视访问:
电视浏览器打开 http://旧电脑IP:2283
如果电视浏览器体验不好,也可以手机打开 Immich 后投屏到电视。家庭聚会、给老人看照片,这个场景很实用。
第十五步:给家人创建普通账号
家庭使用建议每个人一个账号,不要所有人共用管理员账号。
| 账号类型 | 建议用途 |
|---|---|
| 管理员账号 | 自己使用,负责系统维护、用户管理和设置调整 |
| 家人账号 | 每个家庭成员一个,用来上传和查看自己的照片 |
| 老人账号 | 只用于查看共享相册,尽量少开放复杂操作 |
| 备用账号 | 测试 App、电视访问或临时演示时使用 |
多用户的好处是照片和权限更清晰。后面可以创建家庭共享相册,把需要共享的照片加入相册,再分享给指定家人。
第十六步:整理家庭共享相册
Immich 可以按时间线浏览照片,也可以手动创建相册。建议长期维护几个固定相册:
- 家庭合影。
- 孩子成长记录。
- 旅行照片。
- 老照片整理。
- 证件照备份。
- 视频剪辑素材。
不要把所有照片都混在一个相册里。长期使用后,清晰的相册分类会比一开始省事很多。
第十七步:人脸识别和人物头像整理
Immich 支持人脸识别。照片上传后,系统会在后台分析照片,把相同人物聚合到一起。第一次识别会比较慢,老电脑尤其明显,可以晚上让它慢慢跑。
基础整理步骤:
- 进入 Immich 网页端。
- 打开探索或人物页面。
- 点开某个人脸集合。
- 给人物命名,例如爸爸、妈妈、孩子。
- 把识别成同一个人的头像合并。
- 把不想显示的人物隐藏。
整理好人物头像后,后面找家人的照片会方便很多。比如想看孩子小时候的照片,直接点人物头像就能按时间线查看。
第十八步:Windows 旧电脑长期运行设置
为了让 Immich 稳定运行,旧电脑建议做这些设置:
- 电源设置里关闭自动睡眠。
- 尽量使用有线网络连接路由器。
- Docker Desktop 设置为开机自启。
- 路由器里给旧电脑绑定固定 IP。
- Windows 更新尽量安排在不影响备份的时间。
- 重要照片定期备份到移动硬盘或另一台电脑。
关闭自动睡眠路径一般是:设置 → 系统 → 电源和电池 → 屏幕和睡眠,把接通电源时睡眠改成“从不”。不同 Windows 版本名称可能略有不同。
第十九步:日常启动、停止和查看状态
以后维护 Immich,基本都在 D:\immich-app 目录执行命令。
进入目录:
cd D:\immich-app
启动服务:
docker compose up -d
查看服务状态:
docker compose ps
查看最近日志:
docker compose logs --tail=100
停止服务:
docker compose down
日常使用不需要频繁停止服务。只有电脑维护、迁移、备份数据库或排查问题时,才需要手动停止。
第二十步:更新 Immich
Immich 更新比较频繁。更新前建议先看官方更新说明,并先做备份,尤其是大版本更新。
基础更新命令:
cd D:\immich-app
docker compose pull
docker compose up -d
如果只是修改了 .env 配置,也需要重新创建容器让配置生效:
cd D:\immich-app
docker compose up -d
官方文档提醒,环境变量修改后只重启容器不一定够,重新执行 docker compose up -d 更稳。
第二十一步:备份方案一定要做
家庭照片是最不能丢的数据,所以 Immich 搭好以后,一定要做备份。
至少要备份两类内容:
D:\immich-data:照片、视频和 Immich 自动生成的数据库备份。D:\immich-app:Docker Compose 配置、.env、数据库目录等。
Immich 官方文档说明,数据库备份只包含元数据和用户信息,不包含照片和视频本身。因此只备份数据库是不够的,照片目录也必须单独备份。
建议备份方式:
- 每周或每月复制一份到移动硬盘。
- 重要照片再复制一份到另一台电脑或 NAS。
- 大版本升级前,先完整复制
D:\immich-app和D:\immich-data。 - 不要只依赖一块旧硬盘。
真正迁移或恢复时,不能只复制网页里看到的图片。照片文件、数据库、配置文件都要一起考虑。
第二十二步:默认推荐局域网访问
如果只是家庭使用,最推荐局域网访问:
http://192.168.1.50:2283
这种方式不用把服务暴露到公网,安全性更高,也不依赖外部服务。不要随便在路由器里做端口转发,尤其是相册这种包含大量个人照片和家庭隐私的服务。
第二十三步:外网访问可以用 Cloudflare Tunnel
如果你希望人在外面也能访问家里的 Immich,可以使用 Cloudflare Tunnel。它的好处是不用公网 IP,也不需要在路由器上开放端口,通过 cloudflared 把家里的服务连接到 Cloudflare。
基本流程:
- 准备一个已经接入 Cloudflare 的域名。
- 进入 Cloudflare Zero Trust 后台。
- 创建 Tunnel。
- 选择 Docker 或 Windows 方式运行 cloudflared。
- 添加 Public Hostname,例如
photos.example.com。 - 服务地址指向家里的 Immich,例如
http://192.168.1.50:2283。
外网访问只是进阶选项。没有明确需求时,不建议一开始就做外网访问。
第二十四步:Cloudflare Tunnel Docker 示例
如果你已经创建好 Cloudflare Tunnel,并拿到了 token,可以继续用 Docker 跑 cloudflared。
新建目录:
mkdir D:\cloudflared
cd D:\cloudflared
创建 docker-compose.yml,内容示例:
services:
cloudflared:
image: cloudflare/cloudflared:latest
container_name: cloudflared
restart: unless-stopped
command: tunnel --no-autoupdate run --token 这里换成你的CloudflareTunnelToken
启动:
docker compose up -d
然后在 Cloudflare Tunnel 的 Public Hostname 里配置:
域名:photos.example.com
服务类型:http
服务地址:192.168.1.50:2283
配置完成后,外网访问地址类似:
https://photos.example.com
外网访问安全建议
- 不要把 Tunnel token 发给别人。
- 不要公开 Immich 管理员账号。
- 建议给外网访问加 Cloudflare Access 登录保护。
- 管理员密码必须足够复杂。
- 没有外网访问需求时,只保留局域网访问最省心。
- 不要在文章、视频或截图里暴露真实域名后台、邮箱、家庭照片和服务器 IP。
常见问题
1. 旧电脑自己打不开 Immich 页面怎么办?
先确认 Docker Desktop 正在运行,然后进入 Immich 目录查看容器:
cd D:\immich-app
docker compose ps
如果容器没有正常运行,查看日志:
docker compose logs --tail=100
常见原因包括 Docker Desktop 没启动、镜像没下载完、.env 配置写错、数据库密码包含特殊字符等。
2. 手机连不上服务器怎么办?
- 确认手机和旧电脑连接的是同一个路由器。
- 确认手机填写的是旧电脑 IP,不是
localhost。 - 确认地址格式是
http://旧电脑IP:2283。 - 确认 Windows 防火墙没有拦截 2283 端口。
- 确认旧电脑没有睡眠。
3. PowerShell 提示 docker 不是内部或外部命令怎么办?
先重启 PowerShell,再执行:
docker version
如果还是不行,重启电脑。仍然不行,就重新打开 Docker Desktop,确认它已经正常启动。
4. docker compose up -d 下载很慢怎么办?
第一次启动需要下载多个镜像,慢是正常的。可以保持电脑和 Docker Desktop 打开,多等一会儿。中途失败时,可以重新执行:
cd D:\immich-app
docker compose up -d
Docker 会继续下载缺失的镜像,不需要删除目录重来。
5. Windows 路径到底用斜杠还是反斜杠?
PowerShell 命令里可以写 D:\immich-data,但 .env 里建议写 D:/immich-data。这样更适合 Docker 读取路径。
6. 照片上传慢怎么办?
第一次上传照片多,慢是正常的。建议手机连接 Wi-Fi、插上充电器,晚上慢慢同步。老电脑做人脸识别时也会比较慢,这不是故障。
7. 可以直接把 Immich 当唯一备份吗?
不建议。Immich 是很好用的家庭相册系统,但重要照片至少要有第二份备份。旧电脑硬盘、系统、Docker、数据库都有可能出问题。
8. 换电脑怎么迁移?
迁移时至少要考虑:
- Immich 配置目录,例如
D:\immich-app。 - 照片数据目录,例如
D:\immich-data。 - 数据库数据和数据库备份。
- Cloudflare Tunnel 配置。
- 新电脑的局域网 IP 是否变化。
不要只复制单张照片目录就以为完成迁移,完整恢复还需要数据库和配置。
9. 要不要做端口转发?
家庭局域网使用不需要端口转发。相册里有大量家庭隐私照片,不建议直接把 2283 端口暴露到公网。如果需要外网访问,优先考虑 Cloudflare Tunnel,并加访问保护。
10. Docker Desktop 更新后 Immich 打不开怎么办?
先打开 Docker Desktop,等它完全启动,再进入 Immich 目录执行:
cd D:\immich-app
docker compose ps
docker compose up -d
如果仍然打不开,再查看日志:
docker compose logs --tail=100
发布前检查清单
- 旧电脑已经关闭自动睡眠。
- Docker Desktop 可以正常启动。
D:\immich-app和D:\immich-data已经创建。.env里UPLOAD_LOCATION、DB_DATA_LOCATION、TZ、DB_PASSWORD已经检查。- 旧电脑本机可以打开
http://localhost:2283。 - 手机可以打开
http://旧电脑IP:2283。 - 路由器已经给旧电脑绑定固定 IP。
- Windows 防火墙已经允许 2283 端口或 Docker Desktop。
- 手机 App 已经选择要备份的相册。
- 已经安排第二份备份,不只依赖旧电脑硬盘。
总结
用 Windows 旧电脑和 Docker Desktop 部署 Immich,是一个很适合家庭使用的旧电脑再利用方案。整体流程可以简单理解为:安装 Docker Desktop,创建 Immich 文件夹,下载官方配置文件,修改 .env,执行 docker compose up -d,然后用 http://旧电脑IP:2283 访问。
对新手来说,最重要的不是一次配置很多高级功能,而是先把局域网访问、手机自动备份、固定 IP、防火墙和备份方案做好。只要这几步稳定,Immich 就能成为一套长期可用的家庭相册系统。
如果只是家里使用,局域网访问已经足够安全可靠。如果确实需要在外面访问,再配合 Cloudflare Tunnel,并尽量加上 Cloudflare Access 这类额外保护。家庭相册最重要的是稳定、安全、可备份,不是功能堆得越多越好。
参考资料
- Immich GitHub 项目
- Immich Docker Compose 官方安装文档
- Immich Quick start 官方文档
- Immich 备份与恢复官方文档
- Immich 手机 App 官方说明
- Cloudflare Tunnel 官方文档
最后更新:2026 年 7 月 29 日