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

Windows old computer running Immich family photo album server

开头说明

家里如果有一台老旧电脑,不一定只能放着闲置。只要硬盘容量够、网络稳定,就可以把它改造成一台家庭相册服务器。手机照片自动备份到自己电脑里,电脑浏览器可以查看,电视也能通过浏览器或投屏浏览,全家人还能分别拥有自己的账号。

这篇文章使用开源项目 Immich,在 Windows 电脑上通过 Docker Desktop 部署家庭相册。重点是可操作、可长期维护、照片存储在自己电脑里,优先满足局域网访问。如果后续确实需要在外面访问,再配合 Cloudflare Tunnel 做内网穿透。

Immich 项目地址:https://github.com/immich-app/immich

Immich 能解决什么问题

  • 手机照片和视频自动备份到家里的 Windows 旧电脑。
  • 照片文件保存在自己的硬盘里,不依赖第三方网盘空间。
  • 局域网内手机、电脑、平板、电视都可以访问。
  • 支持时间线浏览、相册整理、收藏、搜索等常用相册功能。
  • 支持人脸识别,可以给家人头像命名和整理。
  • 支持多用户,家人可以分别使用自己的账号。
  • 需要外网访问时,可以配合 Cloudflare Tunnel,不必在路由器上开放端口。

需要提前说明:Immich 很适合做家庭相册,但它不应该是唯一备份。重要照片建议至少再备份一份到移动硬盘、NAS、另一台电脑或可靠云盘。

准备工作

项目建议
电脑Windows 10/11 旧电脑、小主机、台式机都可以
CPU双核以上可用,照片多、人脸识别多建议性能更好一点
内存最低建议 8GB,照片和视频较多建议 16GB
硬盘系统盘加照片存储盘,容量按家庭照片数量决定
网络建议有线网口连接路由器,稳定性比 Wi-Fi 更好
软件Docker Desktop、Windows PowerShell、浏览器

如果这台旧电脑只用来做家庭相册,建议长期插电、接有线网络,并在 Windows 电源设置里关闭自动睡眠。否则电脑一睡眠,手机和其他设备就访问不到 Immich。

第一步:安装 Docker Desktop

Windows 上最简单的方式是安装 Docker Desktop。Docker Desktop 会帮你准备 Docker 和 Docker Compose,Immich 官方文档也说明 Windows 或 macOS 可以使用 Docker Desktop。

  • 打开 Docker 官网,下载 Docker Desktop for Windows。
  • 安装时保持 WSL 2 相关选项开启。
  • 安装完成后重启电脑。
  • 打开 Docker Desktop,等待左下角显示 Docker 正常运行。

Docker Desktop 下载地址:https://www.docker.com/products/docker-desktop/

安装完成后,打开 PowerShell,检查 Docker 是否可用:

docker version
docker compose version

能看到版本号,就说明 Docker 和 Docker Compose 已经可以使用。

第二步:准备 Immich 文件夹

建议在一个固定磁盘上创建 Immich 目录,例如 D 盘或 E 盘。不要放在桌面、下载目录这种容易误删的位置。

mkdir D:\immich-app
mkdir D:\immich-data

这里建议这样理解:

  • D:\immich-app:存放 Immich 的配置文件。
  • D:\immich-data:存放上传的照片、视频和相关数据。

如果你的旧电脑有单独的大容量硬盘,也可以把数据目录放到大硬盘里,例如 E:\immich-data。

第三步:下载 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"
Invoke-WebRequest -Uri "https://github.com/immich-app/immich/releases/latest/download/example.env" -OutFile ".env"

如果下载速度较慢,可以多试几次,或者用浏览器手动打开链接下载后放到 D:\immich-app 目录。

第四步:修改 .env 配置

用记事本打开 .env 文件:

notepad D:\immich-app\.env

重点检查和修改下面几项:

UPLOAD_LOCATION=D:/immich-data
DB_PASSWORD=请改成一个很长的随机密码
TZ=Asia/Shanghai

注意事项:

  • Windows 路径建议写成 D:/immich-data 这种形式,少用反斜杠,减少 Docker 路径识别问题。
  • DB_PASSWORD 一定要改,不要使用默认密码。
  • TZ 写 Asia/Shanghai,时间线显示更符合国内使用习惯。
  • 修改 .env 后,需要重新执行 docker compose up -d 才会生效。

第五步:启动 Immich

回到 Immich 配置目录:

cd D:\immich-app

启动 Immich:

docker compose up -d

第一次启动会自动下载多个镜像,时间取决于网络速度。下载完成后,查看运行状态:

docker compose ps

如果容器状态正常,就可以打开浏览器访问:

http://localhost:2283

在这台旧电脑本机访问可以用 localhost;其他手机、电脑、电视访问时,需要使用这台电脑在局域网里的 IP 地址。

第六步:查看旧电脑局域网 IP

在旧电脑 PowerShell 执行:

ipconfig

找到当前网卡的 IPv4 地址,例如:

192.168.1.50

那么家里其他设备访问 Immich 的地址就是:

http://192.168.1.50:2283

建议在路由器后台给这台旧电脑绑定固定 IP。否则路由器重启后 IP 可能变化,手机 App 里的服务器地址也要跟着改。

第七步:初始化管理员账号

第一次打开 Immich 页面,会进入初始化流程。第一个创建的账号就是管理员账号。管理员可以创建用户、管理系统设置、查看任务状态、调整备份和识别相关配置。

  • 管理员邮箱建议使用自己长期使用的邮箱。
  • 密码设置复杂一点,不要和其他网站共用。
  • 不要把管理员账号给家人共用。
  • 家人后面单独创建普通账号即可。

第八步:手机安装 Immich App 并自动备份

手机端安装 Immich App 后,服务器地址填写旧电脑的局域网地址:

http://192.168.1.50:2283

登录后进入备份设置,选择需要备份的相册,例如:

  • 相机胶卷
  • 截图
  • 微信保存图片
  • 视频目录
  • 家庭照片目录

第一次备份照片很多,建议手机连接家里 Wi-Fi 并插上充电器。iPhone 和 Android 都可能受后台限制,如果发现没有继续备份,可以手动打开 Immich App,让它继续同步。

第九步:电脑、手机、电视怎么访问

电脑访问:

http://旧电脑IP:2283

手机访问:

Immich App 或手机浏览器打开同样地址

电视访问:

电视浏览器打开 http://旧电脑IP:2283

如果电视浏览器体验不好,也可以用手机打开 Immich 后投屏到电视。家庭聚会、给老人看照片,这个场景很实用。

第十步:人脸识别、人物头像和家庭成员整理

Immich 支持人脸识别。照片上传后,系统会在后台分析照片,把相同人物聚合到一起。第一次识别会比较慢,老电脑尤其明显,建议晚上让它慢慢处理。

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

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

第十一步:多用户和家庭成员权限

Immich 支持多用户,家庭使用建议每个人一个账号,不要所有人共用管理员账号。

账号类型建议用途
管理员账号你自己使用,负责系统维护、用户管理和设置调整
家人账号每个家庭成员一个,用来上传和查看自己的照片
老人账号只用于查看共享相册,尽量少开放复杂操作
备用账号测试 App、电视访问或临时演示时使用

多用户的好处是照片和权限更清晰。你可以创建家庭共享相册,把需要共享的照片加入相册,再分享给指定家人。

第十二步:创建家庭共享相册

建议长期维护几个固定相册:

  • 家庭合影
  • 孩子成长记录
  • 旅行照片
  • 老照片整理
  • 证件照备份
  • 视频剪辑素材

不要把所有照片都混在一个相册里。长期使用后,清晰的相册分类比一开始多花几分钟更重要。

第十三步:Windows 旧电脑要设置长期运行

为了让 Immich 稳定运行,Windows 旧电脑建议做这些设置:

  • 电源设置里关闭自动睡眠。
  • 尽量使用有线网络连接路由器。
  • Docker Desktop 设置为开机自启。
  • 路由器里给旧电脑绑定固定 IP。
  • 重要照片定期备份到移动硬盘或另一台电脑。

如果电脑经常睡眠或断网,手机自动备份就会中断,外网访问也会失败。

第十四步:日常更新 Immich

Immich 更新比较频繁,更新前建议先看官方更新说明,并备份重要数据。基础更新命令如下:

cd D:\immich-app
docker compose pull
docker compose up -d

如果只是修改 .env 配置,也可以执行:

cd D:\immich-app
docker compose up -d

官方文档提醒,修改环境变量后需要重新创建容器,单纯重启不一定会替换容器里的环境变量。

第十五步:备份方案一定要做

家庭照片是最不能丢的数据,所以 Immich 搭好以后,一定要做备份。

  • 定期备份 D:\immich-data。
  • 定期备份 D:\immich-app 里的配置文件。
  • 重要照片再复制一份到移动硬盘。
  • 不要只依赖一块旧硬盘。
  • 大版本升级前先备份数据库和照片目录。

照片文件、数据库、配置文件都很重要。照片目录保存原图和视频,数据库保存相册、用户、人物识别、元数据等信息。真正迁移或恢复时,不能只复制网页里看到的图片。

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

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

http://192.168.1.50:2283

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

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

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

Cloudflare Tunnel 官方文档:https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/

基本流程:

  • 准备一个已经接入 Cloudflare 的域名。
  • 进入 Cloudflare Zero Trust 后台。
  • 创建 Tunnel。
  • 选择 Docker 或 Windows 方式运行 cloudflared。
  • 添加 Public Hostname,例如 photos.example.com。
  • 服务地址指向家里的 Immich,例如 http://192.168.1.50:2283。

第十八步:Cloudflare Tunnel Docker 示例

如果你想继续用 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

2. 手机连不上服务器怎么办?

  • 确认手机和旧电脑在同一个局域网。
  • 确认服务器地址写的是旧电脑 IP,不是 localhost。
  • 确认 Windows 防火墙没有拦截 2283 端口。
  • 确认 Docker Desktop 正常运行。
  • 确认旧电脑没有睡眠。

3. Windows 防火墙要怎么处理?

如果手机访问不了,可以在 Windows 防火墙里允许 Docker Desktop 相关网络访问,或者添加 2283 端口的入站规则。

入站端口规则可以填写:

TCP 2283

4. 照片上传慢怎么办?

第一次上传照片多,慢是正常的。建议手机连接 Wi-Fi、插上充电器,晚上慢慢同步。老电脑做人脸识别时也会比较慢,这不是故障。

5. 可以直接把 Immich 当唯一备份吗?

不建议。Immich 是很好用的家庭相册系统,但重要照片至少要有第二份备份。旧电脑硬盘、系统、Docker、数据库都有可能出问题。

6. 换电脑怎么迁移?

迁移时至少要考虑:

  • Immich 配置目录,例如 D:\immich-app。
  • 照片数据目录,例如 D:\immich-data。
  • 数据库数据和备份。
  • Cloudflare Tunnel 配置。
  • 新电脑的局域网 IP 是否变化。

不要只复制单张照片目录就以为完成迁移,完整恢复还需要数据库和配置。

总结

用 Windows 旧电脑和 Docker Desktop 部署 Immich,是一个很适合家庭使用的旧电脑再利用方案。照片存储在自己电脑里,局域网访问速度快,手机可以自动备份,电脑和电视都能查看,还能给家人创建多个账号。

如果只是家里使用,局域网访问已经足够安全可靠。如果确实需要在外面访问,再配合 Cloudflare Tunnel,并尽量加上 Cloudflare Access 这类额外保护。家庭相册最重要的是稳定、安全、可备份,不是功能堆得越多越好。

参考资料

发表评论

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

滚动至顶部