homelab 自托管技术选型目录
从计算底座到可观测,按主题域给出候选清单。每条给出许可证、实现语言、部署形态、运行依赖与上手前要知道的坑,以及回到上游仓库与文档的链接。
按主题域
计算底座
集群跑在什么上面:hypervisor、K8s 发行版、容器运行时
7 条网络与接入
包怎么进集群、怎么跨机器、名字怎么解析、证书谁签
12 条存储与备份
Pod 的数据落在哪,删掉之后还能不能找回来
9 条交付与 GitOps
从改一行 YAML 到它真的在集群里生效,中间由谁负责
11 条密钥与配置
密码不能进 Git,那它从哪来、怎么进到 Pod 里
6 条身份与访问
谁能打开这个域名,打开之后应用知道他是谁吗
6 条可观测
出事的时候能不能看见,以及看不见哪里
29 条安全加固
镜像有没有洞、运行时在干什么、谁来拦不该发生的事
6 条基础设施即代码
机器、云资源与主机配置怎么声明出来,而不是手点出来
6 条数据服务
应用要的 Postgres 和缓存从哪来,谁负责备份与故障切换
5 条按 SaaS 替换
全部条目97 条
计算底座7 条
Docker Compose
一份 YAML 描述一台机器上的一组容器。没上 K8s 之前的自托管默认形态。
Incus
系统容器 + 虚机管理器,LXD 的社区 fork。比 Proxmox 轻,比 Docker 更像一台机器。
k0s
另一个单二进制 Kubernetes 发行版,默认不塞入口与存储插件,比 K3s 更素。
K3s
单二进制 Kubernetes 发行版,自带 containerd、CNI、入口与存储。homelab 的默认选择。
Podman
无守护进程的容器引擎,兼容 Docker CLI,rootless 与 systemd 集成是它的主场。
Proxmox VE
Debian 上的 KVM + LXC 虚拟化平台,带 Web UI。homelab 里最常见的那台宿主机。
Talos Linux
不可变、无 SSH 无 shell 的 Kubernetes 专用操作系统,全部经 API 声明式管理。
网络与接入12 条
AdGuard Home
自托管 DNS:过滤与重写、按客户端规则、查询日志,支持 DoH/DoT 上下游。
Calico
老牌 CNI:可选 iptables 或 eBPF 数据面,原生 BGP,策略能力比 K8s NetworkPolicy 更细。
cert-manager
K8s 里的证书控制器:CRD 声明域名,它负责向 ACME 或私有 CA 申请与续期。
Cilium
eBPF 数据面的 CNI:网络策略、kube-proxy 替换、Gateway API 与跨集群互联都在一套里。
cloudflared (Tunnel)
出站长连接把流量拉进内网:不用公网 IP、不开路由器端口,代价是入口归 Cloudflare。
Envoy Gateway
Envoy 官方的 Gateway API 实现:把 Gateway / HTTPRoute 翻译成 Envoy 配置。
ExternalDNS
读 Service / Ingress / HTTPRoute 上的主机名,自动往 DNS provider 写记录。
Flannel
最简的 overlay CNI,只做 Pod 网络互通。K3s 的默认 CNI。
Headscale
Tailscale 控制面的第三方开源实现:官方客户端照用,协调服务器换成自己的。
Ingress NGINX
上游已归档曾经的事实标准入口控制器。2026-03 已退役,不再有版本与安全补丁。
Tailscale
WireGuard 数据面 + 托管控制面的组网层。客户端开源,协调服务器是 SaaS。
Traefik
配置来自 provider 的反向代理:K8s Ingress / CRD / Gateway API 都认,内置 ACME 签证书。
存储与备份9 条
CSI Driver NFS
把已有 NFS 导出接成 StorageClass:多 Pod 共享读写,动态建子目录。
Garage
轻量 S3 兼容对象存储,Rust 写的,无共识协议、面向异地小节点设计。
Kopia
同样是去重加密快照备份,自带 GUI 与调度,压缩与纠错可选。
Local Path Provisioner
把节点本地目录做成 PV 的最小 provisioner。K3s 默认存储类,零依赖零副本。
Longhorn
K8s 原生分布式块存储:卷跨节点多副本、快照、备份到 S3/NFS,自带 UI。
MinIO
上游已归档曾经默认的自托管 S3。开源版先被砍掉管理 UI,随后进入维护模式并归档。
restic
去重加密的快照式备份,单二进制,后端从本地盘到 S3/B2/SFTP 全都认。
Rook (Ceph)
用 operator 把 Ceph 装进 K8s:块、文件、S3 对象三种接口一套底座。
Velero
K8s 层面的备份与迁移:备 API 对象 + PV 数据,可按 namespace 恢复到另一个集群。
交付与 GitOps11 条
Argo CD Image Updater
给 Argo CD 补上镜像自动更新:轮询仓库,发现新 tag 就改 Application 或写回 Git。
Argo CD
GitOps 控制器:Application 声明「Git 的哪个目录 → 集群的哪个 ns」,持续对账。
Flux CD
一组 GitOps 控制器,全部经 CR 配置、没有内置 UI,镜像自动更新是自带能力。
Forgejo
Gitea 的社区 fork:自托管 Git 托管 + 兼容 GitHub Actions 的 CI,GPL 授权。
Gitea
轻量自托管 Git 托管:单二进制 + SQLite 就能起,自带 Gitea Actions。
Harbor
带项目、配额、漏洞扫描、签名与代理缓存的镜像仓库。功能全,组件也多。
Helm
K8s 的打包与模板工具:chart + values 渲染成清单,release 状态存在集群里。
Kustomize
不做模板,只做「基础清单 + overlay 补丁」。已内置在 kubectl 里。
Renovate
扫仓库里的各类依赖清单并开升级 PR:Docker tag、Helm chart、Terraform provider 都认。
Woodpecker CI
Drone 的社区 fork:每步一个容器,挂在 Gitea / Forgejo / GitHub 上做 CI。
zot
纯 OCI 镜像仓库:单二进制、无数据库,功能面刻意小。
密钥与配置6 条
External Secrets Operator
把外部密钥后端同步成 K8s Secret:Git 里只留「去哪取」,不留密文。
Infisical
带 Web UI 的密钥平台:项目/环境模型、审计、K8s operator。核心 MIT,ee/ 目录另授权。
OpenBao
Vault 改 BUSL 之后的 MPL 分支,托管在 Linux Foundation 下,API 大体兼容。
Sealed Secrets
用集群公钥加密后再提交进 Git,只有集群里的控制器能解开。零外部依赖。
SOPS
只加密 YAML/JSON 的值、保留结构与注释,密钥交给 age 或 KMS。CNCF 项目。
HashiCorp Vault
密钥后端的事实标准:动态凭据、租约与审计。2023 年起许可证改为 BUSL。
身份与访问6 条
Authelia
轻量认证门户:给反向代理提供 forward-auth,也能当 OIDC provider。配置即文件。
authentik
以「流程(flow)」为核心的 IdP:登录步骤可视化编排,代理式认证内置。
Keycloak
企业级 IdP 的开源基准:协议与联邦最全,运维面也最重。CNCF 项目。
oauth2-proxy
给没有 SSO 的应用套一层 OIDC 登录:单进程反向代理或 forward-auth 端点。
Pocket ID
极简 OIDC provider,只用 passkey 登录,SQLite 单文件。够小到一眼读完。
ZITADEL
事件溯源的 IdP:OIDC / SAML / OAuth2、多组织、Actions 钩子,Postgres 单依赖。
可观测29 条
Alertmanager
Prometheus 告警的路由、去重与发送中枢。grouping / inhibition / silences。
cAdvisor
容器资源使用指标采集器。kubelet 内建,配合 Prometheus 抓取。
Fluent Bit
轻量级日志采集器。内存占用极小,适合边车与嵌入式场景。
GlitchTip
轻量错误追踪,Sentry 协议兼容。小团队的低运维替代。
GoAccess
实时 Web 日志分析器。终端或 HTML 报告,零依赖轻量。
Gotify
自托管消息推送服务器。REST API + WebSocket,Android 客户端。
Grafana Alloy
OTel Collector 的分发版,Grafana 生态一体化采集与路由。
Grafana OnCall
上游已归档值班与告警编排。轮值表、升级策略、与 Alertmanager 集成。
Grafana
可观测性可视化层。接 Prometheus / Loki / Tempo 等,看板与告警面板的事实标准。
Graylog
集中式日志管理。采集 + 搜索 + 告警 + 看板,自带 Web UI。
Healthchecks
cron 任务心跳监控。没收到 ping 就告警,判定「该跑没跑」。
Jaeger
CNCF 毕业的分布式链路追踪后端。OTel 采集,支持多种存储后端。
kube-prometheus-stack
K8s 可观测性全家桶。Prometheus + Alertmanager + Grafana + 开箱告警规则。
Grafana Loki
日志聚合。只索引标签不索引正文,S3 兼容后端,成本远低于 ELK。
Netdata
实时指标监控,毫秒级粒度。零配置自动采集,附带告警与看板。
node_exporter
主机指标采集器。CPU / 内存 / 磁盘 / 网络,Prometheus 生态标配。
ntfy
自托管推送服务。HTTP POST 即推送到手机,支持订阅与访问控制。
OpenObserve
全栈可观测性,S3 存储。日志 + 指标 + 链路,声称成本低一个量级。
OpenTelemetry Collector
遥测数据的采集、处理与转发中枢。单一 Agent 接 metrics / logs / traces。
Prometheus
CNCF 毕业的指标事实标准。拉模型 + PromQL + 本地 TSDB,指标监控的默认选择。
Pyroscope
连续性能剖析后端。与 OTel Profiling 集成,火焰图按请求关联。
Sentry
错误追踪与 APM。异常分组、release 追踪、性能面板,覆盖前后端。
SigNoz
开源可观测性平台。APM + 链路 + 指标 + 日志,OTel 原生。
Sloth
SLO 即代码。从 Prometheus 指标生成 SLO / 错误预算告警规则。
Grafana Tempo
分布式链路后端。对象存储 + TraceQL,与 OTel 协议原生集成。
Thanos
Prometheus 的横向扩展与长期存储层。全局查询、对象存储、跨集群高可用。
Uptime Kuma
自托管监控面板。HTTP / TCP / ping 探针 + 通知,状态页开箱即用。
Vector
高性能可观测性数据管道。采集 / 转换 / 路由 logs 与 metrics,Rust 编写。
VictoriaMetrics
高压缩比、低资源的指标库。PromQL 兼容,单机即可扛很大规模。
安全加固6 条
基础设施即代码6 条
Ansible
经 SSH 推配置的无 agent 编排工具:装包、改文件、起服务,playbook 即步骤。
cloud-init
虚机首启时按元数据自建:用户、SSH 密钥、网络、磁盘扩容。Proxmox 模板的那一半。
Crossplane
把云资源变成 K8s CRD:用 kubectl 管数据库和存储桶,控制器持续对账。
OpenTofu
Terraform 改 BUSL 后的 MPL 分支,托管在 Linux Foundation 下,配置与 provider 通用。
Pulumi
用真正的编程语言写基础设施:TypeScript / Python / Go,复用同一批 provider。
Terraform
声明式管云与本地资源的事实标准,provider 生态最大。1.6 起许可证为 BUSL。