夜猫的小站

我的 Homelab 折腾记录

Published on
阅读时间:5分钟839

本文最近一次更新于 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
      • 作为旁路由,虽然都是配置好了,目前还没替换到主路由上
  • 目前在黑裙上跑的服务,基本使用 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

公网配置

购入了腾讯云的 2C2G4M 的小服务器 3 年,外网服务都通过这台服务器,考虑网络安全因素,公网服务器只开放需要的端口。

参考资料