NAS私有云搭建全记录:6个自托管服务实现远程访问(附完整配置)

从花费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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘻哈baby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值