Self-Hosted 全家桶:用 Docker Compose 跑出你自己的云
每月给 Google Drive 付 19 块、给 1Password 付 30 块、给 iCloud 付 21 块。一年下来一千多。
更糟糕的是数据不在你手里——服务商涨价、政策变化、账号被风控,你的几万张照片、几年的密码、几千份笔记说没就没。
Self-Host(自托管)就是另一条路:花几百块买台 NAS 或在闲置主机上装 Docker,把这些服务全搬到自己家。前期折腾,后期省心,而且数据 100% 归你。
这篇文章给你一份"开箱即用"的 Self-Host 全家桶——10 个真正值得托管的应用、Docker Compose 一键起、反代统一入口、备份策略一条龙。
为什么自托管:算笔账
| 维度 | SaaS 订阅 | Self-Host |
|---|---|---|
| 月费 | $50-100/月(多服务叠加) | 电费 + 折旧 ~$15/月 |
| 数据归属 | 服务商 | 你 |
| 隐私 | 政策决定 | 物理隔离 |
| 自定义 | 受限 | 任意改 |
| 跨设备同步 | 开箱即用 | 需自己搭 |
| 维护成本 | 0 | 偶尔升级、排障 |
| 故障时 | 等他们修 | 自己修 |
| 学习收益 | 0 | 折腾即修行 |
适合 self-host 的人:愿意花时间换控制权和成本节省、对数据主权敏感、家里已经有常开设备。
不适合的人:完全没有运维经验、不想学 Docker、家里没有稳定网络的——继续用 SaaS 就好。
硬件选择
入门档(适合刚起步):
| 选项 | 价格 | 优劣 |
|---|---|---|
| 闲置笔记本/台式机 | 0 | 性能够,功耗高 |
| 树莓派 5 (8GB) | ~$80 | 省电,ARM 兼容性偶尔有坑 |
| Mac mini M 系列(二手) | $400+ | 静音省电,macOS Docker 略坑 |
| 群晖 NAS DS923+ | $600+ | 即开即用,Docker 支持完善 |
| 极空间 / 绿联 NAS | $300-500 | 国产平替,DSM 体验略弱 |
进阶档(多服务/家庭实验室):
- 小机箱 + N100 主板(~$200) + 大容量 HDD:性价比之王
- 二手企业 SFF 台式机(HP EliteDesk 等,$150-300):性能强劲
最低配置:4 核 / 8GB RAM / 256GB SSD(系统)+ 2TB HDD(数据)。
网络规划
- 内网访问:路由器分配固定 IP 或者用 mDNS(
server.local) - 公网访问:搭配 Cloudflare Tunnel(参考站内的 Cloudflare Tunnel 实战),不开任何入站端口
- 域名:买个便宜域名,子域名分给各服务(如
vault.example.com、photo.example.com)
基础 Docker Compose 模板
新建 ~/stack/docker-compose.yml:
Caddyfile:
Caddy 会自动申请并续期 Let's Encrypt 证书,HTTPS 全自动。
10 个值得 Self-Host 的应用
1. Vaultwarden — 密码管理(替代 1Password)
Bitwarden 服务端的 Rust 实现,资源占用极低,完全兼容官方客户端(浏览器扩展、桌面、移动端)。
每年省一个 $36,全家用还能开多个组织。
2. Immich — 照片管理(替代 Google Photos)
近两年崛起最快的自托管照片服务,AI 人脸识别 + 智能搜索体验直追 Google Photos。
手机装 Immich App,开自动上传,几年照片永远归你。
3. Jellyfin — 媒体服务器(替代 Netflix/影视会员)
把你的影视库变成"私人 Netflix",支持转码、字幕、多用户。
4. Linkding — 书签管理(替代 Pocket / Raindrop)
极简书签管理,支持标签、笔记、自动抓取标题描述。
5. Memos — 笔记 / 日记(替代 Flomo)
中国开发者作品,极简卡片式笔记,类 Flomo 体验。
6. n8n — 工作流自动化(替代 Zapier / IFTTT)
可视化工作流,几百个集成节点,Webhook 触发、定时任务全能搞。
7. Uptime Kuma — 服务监控(替代 Pingdom)
极美的服务监控面板,支持 HTTP/Ping/TCP/DNS/SSL 证书等十几种探测。
宕机时通过 Telegram、邮件、Webhook 推送告警。
8. SearXNG — 元搜索引擎(替代 Google)
聚合 70+ 搜索源,自托管的隐私搜索引擎,搜索内容不留任何日志。
9. Karakeep(前 Hoarder)— 稍后读(替代 Pocket / Instapaper)
抓取、归档、AI 标签、全文搜索一条龙。
10. Headscale — 私有 VPN(替代 Tailscale)
Tailscale 服务端的开源实现,完全自托管版本——你的所有设备组成一个加密内网,公司电脑、家里电脑、手机之间任意互通。
配合官方 Tailscale 客户端使用,无需 Tailscale 账号。
反代统一入口(Caddyfile 完整示例)
Caddy 会自动签发并续期 Let's Encrypt 证书——零配置 HTTPS。
备份策略:自托管的生命线
数据是你的——但也意味着丢了没人帮你恢复。备份要做到 3-2-1 原则:
- 3 份数据副本
- 2 种不同介质
- 1 份异地
推荐方案:restic + 异地存储
配合 Cron 每天凌晨 3 点跑:
数据库备份单独做
Postgres、MySQL 这类有状态服务不要直接备份数据目录——容易出现数据损坏。导出 SQL 再备份:
常见踩坑
1. 容器之间不通
确认所有服务在同一个 Docker network。Compose 默认会创建一个共享网络,但跨 compose 文件时需要显式 external。
2. 端口冲突
Caddy 占用 80/443,其他服务别再 expose 这两个端口到宿主机。
3. 数据卷权限
新手最大的坑:容器以 root 运行写入的文件,宿主机普通用户改不了。规范做法:
或者用 NAS 自带的共享目录权限管理。
4. 升级炸了怎么办
升级前 docker compose ps + docker images 截图记录当前版本,备份数据卷,再 docker compose pull && docker compose up -d。出问题立即回滚:
5. 内存/磁盘炸了
定期看:
总结
Self-Host 不是"省钱"——是重新拿回数据主权。一年下来确实能省下 $500-1000 订阅费,但更重要的是:
- 你的密码库永远不会因为 LastPass 被入侵而泄露
- 你的照片不会因为 iCloud 涨价被绑架
- 你的笔记不会因为 Notion 改隐私政策而焦虑
- 你折腾的过程本身就是一笔技术资产
建议起步路径:
- 先搭 Vaultwarden(替代密码管理)
- 加 Immich(替代相册)
- 加 Uptime Kuma(监控前两者)
- 跑稳一个月再加更多
然后用之前讲过的 Cloudflare Tunnel 方案 把这些服务安全暴露到公网——一套现代化的私有云就跑起来了。