我的 Homelab 折腾记录
- Published on
本文最近一次更新于 512 个天前,其中的内容很可能已经有所发展或是发生改变。
前言
记录下我的 Homelab 的搭建历程。
折腾记录
第一阶段
最早开始我的服务都是搭建在群晖的 Docker 上,那时候没钱,选择了自建 NAS 主机,直接安装黑裙的方式。之前由于搭建的服务对性能要求没那么大,所以采用群晖+frp穿透的方式,满足了我的日常访问需求。
第二阶段
开始基于自建 的服务器跑遍编译任务,尝试了解 k3s 架构,这时候黑裙群晖系统不太符合。这时候我开始使用 PVE 替代,虚拟了多个主机,但是发现 k3s 的 master 以及 worker 节点的内存需求也很大,会导致黑裙内存不足,遂放弃。在 Debian 下跑 Drone 的编译任务,性能也不够,勉强使用,后来就开始萌生增加性能主机的想法。
第三阶段
趁着双 11 (2023),以 1983 RMB 入手了摩方的 mini 主机,配置是 R7-5800u+32g+1T。没有入手 5800h 的原因是功耗高了很多,综合考虑下就放弃了。
服务器架构
主要有 2 台路由器+1 台自建主机+1 台 mini 主机构成
家庭网络拓扑
软件架构
自建的老机器
- 系统:PVE
- 虚拟机
- 黑群晖:4C/6G
- 作为数据中心, 同时直通了核显以及硬盘,主要用来做数据存储的,2 个 2T 机械盘都挂载在上面,目前跑了很多不太 占用性能的服务
- OpenWRT:2C2G
- 作为旁路由,虽然都是配置好了,目前还没替换到主路由上
- 黑群晖:4C/6G
- 目前在黑裙上跑的服务,基本使用 Docker-compose 部署
- Gitea: 代码托管
- Bitwarden: 自建密码服务
- Qbittorrent: 自建 BT 下载
- Jellyfin:影音中心
- Tinymm:刮削工具
- Nas-tools:影音记录综合管理
- Docker-register:自建 Docker 镜像存储
- Minio:自建对象存储
- Matrix-bot:自建的机器人服务,我通过这个机器人唤醒家中的台式机
摩方 Mini 主机
- 系统:PVE
- 虚拟机
- Tailscale-subnet:2C/2G
- 在腾讯云上部署了 headscale 替换官方的控制中心
- 这服务器上 tailscale 以
Subnet router
的方式运行,这样联入自建的 tailscale 网络的客户端都是可以使用家中的 NAS 存储和开放的服务了。
- Debian Docker:4C/12G
- 这台服务器用来跑各种性能服务,目前刚开始迁移,服务还比较少
- Woodpecker:用于跑 CI 任务
- Jenkins:自动化 CI/CD,虽然用的比较少
- Freshrss:自建 RSS 订阅服务
- 这台服务器用来跑各种性能服务,目前刚开始迁移,服务还比较少
- K3s-main:4C/4G
- 家庭网络的 K3s 服务,单 master 节点,省点性能开销
- 上面跑一些学习 K8s 的服务
- Argpcd:CD 工具
- Tekon:CI/CD 工具,折腾之后发现,对于我的自动化需求来说,有点麻烦,后续就改用 Woodpecker+Argpcd 实现 CI/CD 了。
- 自己写的导航工具网页,算是对 K3s 容器部署的一个实践吧
- K3s-worker-1: 4C/8G
- K3s-worker-2: 4C/8G
- Tailscale-subnet:2C/2G
公网配置
购入了腾讯云的 2C2G4M 的小服务器 3 年,外网服务都通过这台服务器,考虑网络安全因素,公网服务器只开放需要的端口。