
不想再交 Google Photos 月费?用 Immich 在旧电脑上自建私人照片云(Docker 完整教程)
手把手教程:用一台闲置电脑 + Docker 部署开源的 Immich,搭一个属于自己的 Google Photos。自动备份、相册浏览、AI 人脸/物体识别都有,照片存在自己硬盘上,月费为零。含 compose.yml、.env 配置与备份方案。
原文来源:Mark Pitblado — 用闲置电脑和开源软件 Immich 自建照片云,摆脱 Google Photos 每月 20-30 美元的订阅费。
很多人已经很久没为 Google Photos 付过钱了——不是不需要,而是被每月 20 到 30 美元的账单劝退。付费给大公司存照片本身很合理:人家有你和你的旧电脑永远搭不出来的基础设施和冗余备份。但如果你手头正好有一台吃灰的旧电脑,又愿意花半小时配置,现在自建一个"属于自己"的照片云,比想象中容易得多。
先明确:云存储到底提供了什么
在动手之前,先把需求拆清楚。云照片服务本质上是四件事:
- 手机照片自动上传
- 按相册或日期浏览、搜索照片
- 把照片分享给别人
- 长期可靠的备份
这篇文章先解决前两件——这两件做起来非常容易。你需要的只是一台有点存储空间的机器、一点耐心,以及一杯咖啡。
—— 广告 ——
主角:Immich
我们要用的应用叫 Immich,免费开源,功能对标 Google Photos:自动备份、时间线浏览、人脸识别、物体搜索、相册分享都有,甚至内置了机器学习模块来做照片智能分类。它是目前开源照片管理领域最活跃的项目之一。如果你还想看看其他选择,这个对比页列出了主流开源照片库的详细差异。
第一步:安装 Docker
Docker 是一个让你能在一台机器上隔离运行应用的平台。可以把它理解成打包好的应用盒子——你不用关心 Immich 依赖什么运行环境,Docker 全给你装好。
去 Docker 官方文档 按你的系统(Windows / macOS / Linux)安装,装完跑一遍官方教程里的 "Hello World" 示例确认可用,就可以进入下一步。
第二步:创建两个配置文件
在电脑上规划一个文件夹存放所有相关内容(比如叫 immich-app 或 my-photo-server),然后在这个文件夹里创建两个文件——整个安装只需要这两个文件:
compose.yml—— 描述要运行哪些容器.env—— 存放配置变量
注意:.env 是隐藏文件(开头的点就是隐藏标记),Windows 资源管理器默认不显示,用 VS Code 或任意编辑器都能看到它。
把下面的内容原样保存为 compose.yml:
name: immich
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
volumes:
- ${UPLOAD_LOCATION}:/data
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- '2283:2283'
depends_on:
- redis
- database
restart: always
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
volumes:
- model-cache:/cache
env_file:
- .env
restart: always
redis:
container_name: immich_redis
image: docker.io/valkey/valkey:9
restart: always
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
shm_size: 128mb
restart: always
volumes:
model-cache:按官方说明,最新版 compose 文件也可以直接从 Immich 发布页 下载,以保证和当前版本兼容。
然后创建 .env 文件。唯一必须改的是数据库密码(DB_PASSWORD),换成一段随机字符串即可——用 A-Za-z0-9 字符,别带特殊符号。时区想改可以取消注释改 TZ:
# 照片文件存放位置
UPLOAD_LOCATION=./library
# 数据库文件存放位置(不支持网络共享盘)
DB_DATA_LOCATION=./postgres
# 想改时区就取消注释,列表见 tz database
# TZ=Etc/UTC
# Immich 版本,可固定如 "v2.1.0"
IMMICH_VERSION=v3
# 数据库密码,务必改成随机字符串
DB_PASSWORD=postgres
# 以下无需修改
DB_USERNAME=postgres
DB_DATABASE_NAME=immich第三步:启动服务
在存放这两个文件的目录下执行:
sudo docker compose up -d第一次启动会拉取镜像,稍等片刻即可。想用 Docker Desktop 图形界面启动也行。
第四步:记下电脑的局域网 IP
接下来要从其他设备访问 Immich,先拿到这台服务器的 IP:
- Linux:
hostname -I | awk '{print $1}' - macOS:系统设置 → 网络,地址以 10、172 或 192 开头
- Windows:设置 → 网络和 Internet,查看 IPv4 地址(同样以 10、172、192 开头)
开始使用
网页端
在同一 Wi-Fi 下的另一台设备(电脑或手机)浏览器里输入 http://{刚才的IP}:2283,会看到初始化向导,创建一个管理员账号即可。进去后的界面和 Google Photos 非常相似,几乎不需要学习成本。
手机 App
应用商店搜 Immich(或从 GitHub 直接下载 APK),打开后填入同样的 http://{IP}:2283 地址,连上就能开始自动备份照片。
硬件与容量
启动后 Immich 界面左下角会显示剩余空间。假设每张照片平均 50MB,参考容量如下:
| 可用空间 | 可存照片数 |
|---|---|
| 250 GB | 约 5,000 张 |
| 500 GB | 约 10,000 张 |
| 750 GB | 约 15,000 张 |
| 1 TB | 约 20,000 张 |
存储是这套方案唯一的硬瓶颈——Immich 本身对 CPU 和内存要求不高。照片实际存放在 .env 里 UPLOAD_LOCATION 指定的目录(默认是 library 文件夹),备份时只要盯住这个目录即可。
备份:别把鸡蛋放一个篮子里
自建照片库最大的责任也在这里——机器坏了照片就没了,所以必须做备份。三种常见方案:
- 外接硬盘:每几个月插上去把
library目录拷一份。简单,但不是自动的,也没有异地冗余。 - 云备份服务(如 Backblaze,约 7 美元/月给 1TB):把
UPLOAD_LOCATION目录纳入定时备份,设置失败告警。花钱最少的地理冗余方案。 - NAS + RAID:磁盘阵列自带冗余,适合本来就有 NAS 的用户。
想出门在外也能看照片?
局域网自托管只解决了"在家自动备份",出门在外访问或分享给朋友需要额外配置:要么把服务部署在有公网 IP 的云主机上,要么用 Cloudflare Tunnel 之类的工具把家里的服务暴露出去,再配个反向代理和域名。如果不想折腾这些,也可以用 PikaPods 这类托管服务,一键部署 Immich、自带 1TB 存储——比自己折腾贵一点,但省心得多。
小结
用一台吃灰的旧电脑跑 Immich,半小时能换来一个不花月费的私人照片云。唯一的体验差异是:照片要等手机连上家里 Wi-Fi 才会备份,不像蜂窝网络下那么即时。但别忘了手机本身也有存储——路上常用的那几千张照片放手机里,整库交给 Immich 管理,这个组合对大多数人来说完全够用。
© 2026 四月
原文链接:https://www.aprilzz.com/tutorials/immich-google-photos-alternative
相关文章
Self-Hosting 入门指南:2026 年为什么你应该自托管(以及如何开始)
从 Nextcloud 到 n8n,从 Vaultwarden 到 Uptime Kuma——自托管替代 SaaS 的完整路线图:为什么值得做、需要多少钱、如何一步步开始
把本地开源模型接进 OpenClaw:llama.cpp 自托管完整教程(零成本跑 Agent)
手把手教你把 llama.cpp 起的本地模型接入 OpenClaw:安装、启动 OpenAI 兼容服务器、写配置、配混合 fallback,所有参数来自官方文档,抄完就能用。
一台 GPU 能塞下多少个开发者?自托管 LLM 的实测数据与成本账
imec 团队用 64 个真实编程任务测试了 4 套自托管方案:DGX Spark 只够 1 个人用,单张 H200 能带 32 个并发会话,8 张 B200 才能跑近前沿模型但并发反而更少。买 GPU 到底划不划算?答案取决于你的利用率。