旧电脑别吃灰:Windows 用 Docker 部署 Immich 家庭相册教程

Windows old computer running Immich family photo album server

开头说明

家里如果有一台闲置的 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 防火墙拦截了端口。

可以先用图形界面处理:

  1. 打开 Windows 安全中心。
  2. 进入“防火墙和网络保护”。
  3. 点击“允许应用通过防火墙”。
  4. 允许 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 支持人脸识别。照片上传后,系统会在后台分析照片,把相同人物聚合到一起。第一次识别会比较慢,老电脑尤其明显,可以晚上让它慢慢跑。

基础整理步骤:

  1. 进入 Immich 网页端。
  2. 打开探索或人物页面。
  3. 点开某个人脸集合。
  4. 给人物命名,例如爸爸、妈妈、孩子。
  5. 把识别成同一个人的头像合并。
  6. 把不想显示的人物隐藏。

整理好人物头像后,后面找家人的照片会方便很多。比如想看孩子小时候的照片,直接点人物头像就能按时间线查看。

第十八步: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-appD:\immich-data
  • 不要只依赖一块旧硬盘。

真正迁移或恢复时,不能只复制网页里看到的图片。照片文件、数据库、配置文件都要一起考虑。

第二十二步:默认推荐局域网访问

如果只是家庭使用,最推荐局域网访问:

http://192.168.1.50:2283

这种方式不用把服务暴露到公网,安全性更高,也不依赖外部服务。不要随便在路由器里做端口转发,尤其是相册这种包含大量个人照片和家庭隐私的服务。

第二十三步:外网访问可以用 Cloudflare Tunnel

如果你希望人在外面也能访问家里的 Immich,可以使用 Cloudflare Tunnel。它的好处是不用公网 IP,也不需要在路由器上开放端口,通过 cloudflared 把家里的服务连接到 Cloudflare。

基本流程:

  1. 准备一个已经接入 Cloudflare 的域名。
  2. 进入 Cloudflare Zero Trust 后台。
  3. 创建 Tunnel。
  4. 选择 Docker 或 Windows 方式运行 cloudflared。
  5. 添加 Public Hostname,例如 photos.example.com
  6. 服务地址指向家里的 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-appD:\immich-data 已经创建。
  • .envUPLOAD_LOCATIONDB_DATA_LOCATIONTZDB_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 这类额外保护。家庭相册最重要的是稳定、安全、可备份,不是功能堆得越多越好。

参考资料

最后更新:2026 年 7 月 29 日

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部