从花费3600元/年的云服务,到0成本自托管方案,我的2年折腾之路
📋 文章速查表(先看这个!)
如果你只有3分钟,看这个就够了:
| 需求 | 云服务方案 | 云服务成本 | 自托管方案 | 自托管成本 | 节省 |
|---|---|---|---|---|---|
| 网盘存储 | 阿里云盘/百度云 | 198元/年 | Nextcloud | 0元 | ✅ 198元 |
| 密码管理 | 1Password | 329元/年 | Bitwarden | 0元 | ✅ 329元 |
| 影音中心 | Emby会员 | 119元/年 | Jellyfin | 0元 | ✅ 119元 |
| 下载工具 | 迅雷会员 | 298元/年 | qBittorrent | 0元 | ✅ 298元 |
| 在线IDE | GitHub Codespaces | 免费额度不够 | Code-Server | 0元 | ✅ - |
| 远程访问 | 蒲公英/花生壳 | 228元/年 | 异地组网 | 0元 | ✅ 228元 |
| 总计 | - | 1172元/年 | - | 0元 | ✅ 1172元 |
3年节省:3516元 ← 够买个16TB硬盘了!
本文实现效果:
- ✅ 在外面访问速度:5MB/s(接近家宽上限)
- ✅ 视频在线播放:4K流畅
- ✅ 全平台支持:Windows/Mac/iOS/Android
- ✅ 配置时间:约2小时
- ✅ 维护成本:几乎为0
一、为什么要自建私有云?
1.1 我的云服务账单噩梦
2022年我的云服务支出:
阿里云盘会员: ¥198/年
百度云超级会员: ¥263/年(还限速!)
1Password家庭版: ¥329/年
Emby Premiere: ¥119/年
迅雷白金会员: ¥298/年
蒲公英异地组网: ¥228/年
iCloud 200GB: ¥21/月 = ¥252/年
总计:¥1687/年
某天我突然意识到:
- 我家里有NAS啊!配置还不错(i5-8500 + 16GB + 4TB)
- 这些服务都能自己搭建啊!
- 数据还在自己手里,更安全
于是开始了2年的折腾之路…
1.2 自建 vs 云服务对比
云服务的问题:
❌ 年费贵(每年上千块)
❌ 数据不在自己手里
❌ 容量限制(超了就要加钱)
❌ 速度限制(不买会员就限速)
❌ 隐私风险(数据在别人服务器上)
❌ 服务商跑路风险(某盘已经倒闭好几个了)
自建的优势:
✅ 一次投入,长期使用
✅ 数据完全掌控
✅ 容量自由扩展(加硬盘就行)
✅ 速度不受限(家宽上行有多快就多快)
✅ 隐私安全(数据在自己家里)
✅ 可定制性强(想装啥装啥)
✅ 技术能力提升(副作用)
自建的劣势:
⚠️ 需要一定技术能力
⚠️ 前期配置需要时间
⚠️ 需要维护(但其实很少)
⚠️ 依赖家庭网络(断网就没法用)
⚠️ 没有客服(要自己解决问题)
1.3 投入产出分析
硬件投入(如果没有NAS):
方案1:购买成品NAS
群晖DS920+:¥3999
硬盘4TB×2:¥1200
总计:¥5199
方案2:DIY NAS
小主机(N100):¥999
硬盘4TB×2:¥1200
总计:¥2199
方案3:利旧(推荐!)
旧电脑+硬盘:¥600(只买硬盘)
回本周期:
假设每年节省1200元云服务费用
方案1(群晖):5199 ÷ 1200 = 4.3年
方案2(DIY):2199 ÷ 1200 = 1.8年
方案3(利旧):600 ÷ 1200 = 0.5年(6个月!)
之后每年纯省1200元!
5年节省:6000元
10年节省:12000元
我的选择:
我用的是旧电脑改的NAS,6个月就回本了,现在用了2年,已经省了2400元。
二、我的私有云服务全家桶
2.1 服务清单
经过2年的折腾和筛选,我最终保留了这6个服务:
| 服务 | 功能 | 替代云服务 | 容器大小 | 难度 | 推荐度 |
|---|---|---|---|---|---|
| Nextcloud | 网盘/同步 | 阿里云盘/百度云 | 800MB | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Bitwarden | 密码管理 | 1Password | 50MB | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| Jellyfin | 影音中心 | Emby/Plex | 300MB | ⭐⭐ | ⭐⭐⭐⭐⭐ |
| qBittorrent | 下载工具 | 迅雷 | 100MB | ⭐ | ⭐⭐⭐⭐ |
| Code-Server | 在线IDE | GitHub Codespaces | 500MB | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Portainer | 容器管理 | - | 200MB | ⭐ | ⭐⭐⭐⭐⭐ |
总资源占用:
- 磁盘:约2GB(容器镜像)
- 内存:约4GB(运行时)
- CPU:平时5%,转码时80%
我的NAS配置:
CPU:Intel i5-8500(6核)
内存:16GB DDR4
硬盘:4TB×2(RAID1)
系统:Ubuntu 22.04 LTS
容器:Docker + Docker Compose
2.2 为什么选择这些服务?
1. Nextcloud(网盘)
为什么不用群晖自带的?
- 群晖Drive只能在群晖用
- Nextcloud跨平台,换NAS也能用
- 插件丰富(日历、任务、笔记...)
- 开源免费
替代方案:
- Seafile(更快,但功能少)
- ownCloud(Nextcloud的前身)
2. Bitwarden(密码管理)
为什么不用1Password/LastPass?
- 1Password要329元/年
- Bitwarden自托管完全免费
- 功能和1Password一样强大
- 数据在自己手里,更安全
我的使用体验:
- 存了200+个密码
- 浏览器扩展很好用
- 从1Password迁移很简单
- 两年没出过问题
3. Jellyfin(影音中心)
为什么不用Plex/Emby?
- Plex:免费功能有限
- Emby:核心功能要付费
- Jellyfin:完全免费开源
功能对比:
✅ 海报墙(自动刮削电影信息)
✅ 在线转码(手机上看4K转1080p)
✅ 多平台客户端
✅ 字幕自动匹配
✅ 家庭成员管理
我的使用场景:
- 存了500+部电影
- 在外面用手机看,流畅
- 家人也能用(分了4个账号)
4. qBittorrent(下载)
为什么不用迅雷?
- 迅雷限速(不开会员10KB/s)
- qBittorrent完全免费
- 支持RSS订阅(自动下剧集)
- 无广告
配合Jellyfin的自动化:
1. RSS订阅美剧
2. qBittorrent自动下载
3. Jellyfin自动刮削
4. 手机收到更新通知
5. Code-Server(在线IDE)
为什么需要这个?
- 在外面临时改个代码
- 不用背电脑
- iPad也能写代码
- 环境配置好了,随时可用
我的使用场景:
- 出差时修bug
- 咖啡厅写代码(iPad+键盘)
- 配置好各种开发环境(Python/Node.js/Go)
6. Portainer(容器管理)
为什么需要这个?
- 可视化管理Docker容器
- 手机上也能操作
- 查看日志、重启服务很方便
- 小白友好
2.3 架构设计
网络拓扑:
互联网
|
|(异地组网)
↓
┌─────────────────────────────────┐
│ 家庭网络 (192.168.1.0/24) │
│ │
│ ┌──────────────┐ │
│ │ 光猫/路由器 │ │
│ └──────┬───────┘ │
│ │ │
│ ↓ │
│ ┌──────────────┐ │
│ │ NAS主机 │ │
│ │ (Ubuntu) │ │
│ │ │ │
│ │ ┌────────┐ │ │
│ │ │ Docker │ │ │
│ │ │ │ │ │
│ │ │ ┌────┐ │ │ │
│ │ │ │NC │ │ │ Nextcloud │
│ │ │ ├────┤ │ │ │
│ │ │ │BW │ │ │ Bitwarden │
│ │ │ ├────┤ │ │ │
│ │ │ │JF │ │ │ Jellyfin │
│ │ │ ├────┤ │ │ │
│ │ │ │QB │ │ │ qBittorrent │
│ │ │ ├────┤ │ │ │
│ │ │ │CS │ │ │ Code-Server │
│ │ │ └────┘ │ │ │
│ │ │ │ │ │
│ │ │ Nginx │ │ 反向代理 │
│ │ └────────┘ │ │
│ │ │ │
│ │ 异地组网客户端│ │
│ └──────────────┘ │
│ │
└─────────────────────────────────┘
端口规划:
服务 内网端口 虚拟网络访问地址
─────────────────────────────────────────
Portainer 9000 http://10.10.0.100:9000
Nextcloud 8001 http://10.10.0.100:8001
Bitwarden 8002 http://10.10.0.100:8002
Jellyfin 8096 http://10.10.0.100:8096
qBittorrent 8003 http://10.10.0.100:8003
Code-Server 8004 http://10.10.0.100:8004
说明:
- 10.10.0.100 是异地组网分配的虚拟IP
- 在外面通过这个IP访问,就像在家里局域网一样
三、详细部署步骤
3.1 前置准备
1. 系统要求
# 推荐配置
CPU:4核以上
内存:8GB以上
硬盘:2TB以上
系统:Ubuntu 22.04 LTS / Debian 12
# 最低配置(勉强能跑)
CPU:2核
内存:4GB
硬盘:500GB
2. 安装Docker
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 安装Docker Compose
sudo apt install docker-compose-plugin -y
# 将当前用户加入docker组
sudo usermod -aG docker $USER
# 重新登录使生效
# 或者执行:newgrp docker
# 验证安装
docker --version
docker compose version
# 配置Docker镜像加速(可选,国内推荐)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3. 创建目录结构
# 创建项目目录
mkdir -p ~/homelab
cd ~/homelab
# 创建各服务的数据目录
mkdir -p data/nextcloud
mkdir -p data/bitwarden
mkdir -p data/jellyfin/config
mkdir -p data/jellyfin/cache
mkdir -p data/jellyfin/media
mkdir -p data/qbittorrent/config
mkdir -p data/qbittorrent/downloads
mkdir -p data/code-server
mkdir -p data/portainer
# 设置权限
sudo chown -R $USER:$USER ~/home

最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=155013868&d=1&t=3&u=779ef0c98ae04a4e8c186aa0d2d126b4)
2万+

被折叠的 条评论
为什么被折叠?



