HomeLab 搭建总览

折腾之路

一个热爱程序的码农,总会想要自己的一个牛逼服务器,解决自己一些(臆想中)的牛逼问题。

研究生阶段一个偶然的机会,趁着矿难低价捡垃圾捡回来一台小蜗牛,从此开始了第一个丐版的HomeLab。到参加工作之后,硬件大升级,也踩了一堆的坑,故记录一下折腾之路。

这篇短文作为第一篇,先记录一下当前的状态,之后有空的时候,再分Topic逐篇详解。

需求分析

  • 为啥要自己搭建:
    • 不想被莫名其妙和谐数据,无论墙内外
需求方向 需求内容 需求原因 优先级
必备 科学上网 程序员的自我修养 P0
生活 Win游戏机 程序员的自我修养 P0
生活 NAS存储 需要存储大容量的视频&图片,多设备可以便捷访问 P1
生活 私有网盘 同步移动设备的数据,拍完照就可以存档到存储中 P2
生活 密钥管理 不用再去想密码 P2
生活 PT下载 下载电影 P3
生活 视频服务 需要带有视频墙,管理PT下的电影 P3
开发 Linux开发机 程序员的自我修养 P1
开发 VPN 墙内使用,可以随时在外安全地访问家中服务 P2
开发 Blog 假装自己很喜欢做总结 P2
开发 Git服务 方便管理自己产出的狗屎 P2
开发 ChatGPT代理 懒得在搜索引擎里屎里淘金 P2

软件架构

服务选型

  • 选型原则:
    • 够用
    • 省心
    • 能Hold住

业务服务选型

需求 选型 选择原因
科学上网 V2Ray 主流技术,部署和配置方便,入站出站的代理类型支持丰富
NAS存储 OMV 1. Base On Debian,自己能Hold住
2. 功能完善,符合需求
私有网盘 NextCloud 主流开源服务,方便搭建
密钥管理 Vaultwarden 1. 支持Bitwarden客户端
2. 最多3人用,没必要上重型的Bitwarden Server
PT下载 Transmission 功能够用且省心,各个PT站都支持
视频服务 Jellyfin 主流开源服务,方便搭建
VPN OpenVPN 开源易搭建,Client多
Blog Hexo + NexT 静态博客,省心还好看
Git服务 GitLab 功能完善,用习惯了
ChatGPT代理 go-chatgpt-api + chatgpt-web 目前看部署比较省心,功能较为完善

技术服务选型

  • 虚拟化还是容器?
    • 都得要:
      • NAS方案是一个完整的OS,且业务稳定性的要求比其他的服务要高(挂了PC就访问不到数据了,)
      • Linux开发机自己会尝试各种玩意,玩炸的可能性很大,得隔离开不能影响其他服务
      • 其他服务资源需求不高,单独VM隔离太浪费
    • 因此:
      • NAS和Linux开发机,需要VM级别单独隔离开
      • 其他服务容器隔离就行
需求 选型 原因
虚拟化方案 PVE 1. Base On Debian,自己能Hold住
2. 虚拟化特性和硬件支持完整
容器方案 Docker Standalone 业务服务之间也没啥联系,没必要上K8S之类的分布式方案
容器管理 Portainer UI友好,能上docker-compose的Stack,功能够用且方便

网络架构

硬件架构

方案选型

方案 典型案例 优势 劣势
成品NAS 威联通、群晖 etc. 1. 简单,开箱即用
2. 软件服务支持完善,有成熟的客户端
1. 高价低配,PC的价格,手机的性能
2. 没法上虚拟化,只能跑Docker
3. 定制程度高,没有自由度
成品服务器 HPE Microserver Gen 8/9/10+ 1. 企业级整机服务器,稳定性杠杠的 1. 企业级整机服务器,价格也杠杠的
2. 配置自定义程度一般,性能高一点钱包就吐血
服务器硬件自组 永擎/超威 服务器主板 + 自组硬件 1. 服务器级硬件,稳定性值得信赖
2. 自定义程度高,配置灵活
1. 服务器级硬件整一套还是不便宜
2. 电费也不便宜
消费级硬件自组 捡垃圾 1. 极其灵活
2. 成本灵活
1. 稳定性靠3分的打拼和97分的天注定

看了看自己的需求,发现:

  • 就自己用,稳定性要求没那么高,停机个几天也不是个事
  • 关键数据走冷备,其他的丢了问题也不大

就还是消费级硬件自组得了吧