跳转至

个人多服务器管理平台选型与规划

[!NOTE] 文档说明 参考既有“平台架构选型”思路中的 IDP 五平面架构,针对个人 Homelab 场景设计。 每层列举多个可选方案,便于 Docker 一键部署试用。


核心需求

  • 服务器:5 台 Oracle Cloud(春川 ×2、伦敦 ×3)
  • 应用类型:Python 脚本、下载的应用(Bitwarden、V2Ray 等)
  • 核心痛点
  • 不记得哪个应用在哪台服务器
  • 文档查找麻烦
  • SSH 管理分散

五平面架构模型

┌─────────────────────────────────────────────────────────────────────────┐
│  Plane 1: Developer Control Plane(开发者控制平面)                       │
│  统一入口、服务导航、Portal                                               │
├─────────────────────────────────────────────────────────────────────────┤
│  Plane 2: Integration & Delivery Plane(集成交付平面)                    │
│  容器编排、应用部署                                                       │
├─────────────────────────────────────────────────────────────────────────┤
│  Plane 3: Resource Plane(资源平面)                                      │
│  网络互通、反向代理、存储                                                  │
├─────────────────────────────────────────────────────────────────────────┤
│  Plane 4: Monitoring & Logging Plane(监控日志平面)                      │
│  服务监控、服务器监控、日志                                                │
├─────────────────────────────────────────────────────────────────────────┤
│  Plane 5: Security Plane(安全平面)                                      │
│  密钥管理、身份认证                                                       │
└─────────────────────────────────────────────────────────────────────────┘

Plane 1: Developer Control Plane(开发者控制平面)

核心定位:统一入口,查看所有服务器和应用,一键访问

1.1 Developer Portal(开发者门户/导航面板)

工具 配置方式 服务状态 Docker 集成 特点 GitHub
Sun-Panel GUI ✅ Ping 国产、内外网切换、多账户 hslr-s/sun-panel
Flare YAML 极轻量(<30MB)、国产、声明式 soulteary/flare
Flame GUI ✅ 标签发现 现代 UI、天气 Widget pawelmalak/flame
Heimdall GUI ⚠️ 基础 简洁、tiles 自动获取 logo linuxserver/Heimdall
Homer YAML 纯静态、极简极快 bastienwirtz/homer
Homepage YAML ✅ 100+ ✅ 标签发现 集成最多、静态生成快 gethomepage/homepage
Homarr GUI 拖拽 ✅ Ping ✅ 控制容器 多 Dashboard、用户管理 ajnart/homarr
Dashy YAML/GUI ✅ 50+ Widget ⚠️ 基础 功能最全、SSO 支持 Lissy93/dashy
Organizr GUI Tab 式、多用户、iFrame causefx/Organizr
Glance YAML ⚠️ Widget 聚合、RSS glanceapp/glance
Umbrel GUI 平台型、应用商店 getumbrel/umbrel

分析与推荐

核心权衡:GUI 配置 vs YAML 配置 vs 功能丰富度

偏好 推荐 理由
极简 + 国产 Flare / Sun-Panel Flare 极轻量(<1% CPU、<30MB 内存),Sun-Panel 有 GUI
GUI 配置 Sun-Panel / Homarr 不想写 YAML,鼠标点点就能用
功能丰富 Homepage / Dashy 100+ 服务集成、Widget 丰富,但需写 YAML
Docker 自动发现 Homepage / Flame 通过 Docker 标签自动添加服务

[!TIP] 个人推荐 - 入门首选Sun-Panel(GUI 配置、内外网切换、国产社区活跃) - 进阶选择Homarr(GUI + 容器控制)或 Homepage(集成最多) - 当前实验Homepage(计划在迁移中试用,评估其 Docker 集成和 YAML 配置体验)


Plane 2: Integration & Delivery Plane(集成交付平面)

核心定位:容器管理、应用编排与部署

2.1 Platform Orchestrator(容器编排管理)

工具 界面 多节点 Compose 支持 特点 GitHub
Portainer Web GUI ✅ Agent ✅ Stacks 功能最全、RBAC portainer/portainer
Dockge Web GUI ✅ Agent ✅ 原生 轻量、compose 文件透明 louislam/dockge
Yacht Web GUI 模板一键部署 SelfhostedPro/Yacht
Lazydocker TUI 终端 极轻量、SSH 友好 jesseduffield/lazydocker
ctop TUI 终端 类 htop 的容器监控 bcicen/ctop
Cosmos Web GUI 应用商店、内置反代 azukaar/Cosmos-Server
CasaOS Web GUI 一体化 HomeServer IceWhaleTech/CasaOS
Watchtower 无 (自动) 自动更新容器镜像 containrrr/watchtower

2.2 Portainer 多节点架构参考

┌─────────────────────────────────────────────────────────┐
│                   Portainer Server                       │
│                   (部署在主服务器)                         │
├─────────────────────────────────────────────────────────┤
│  服务器1    │  服务器2    │  服务器3/4/5                  │
│  (本地)     │  Agent      │  Agent                       │
│             │  :9001      │  :9001                       │
└─────────────────────────────────────────────────────────┘

分析与推荐

核心权衡:多节点支持 vs 轻量级 vs compose 文件透明度

场景 推荐 理由
跨服务器管理 Portainer / Dockge 支持 Agent 多节点
compose 文件透明 Dockge 文件直接存文件系统,不锁在数据库
SSH 快速查看 Lazydocker 终端 TUI,无需开浏览器
一体化平台 Cosmos / CasaOS 应用商店+反代+管理一体化

[!TIP] 个人推荐 - 跨 5 台服务器管理Portainer(功能最全)或 Dockge(更轻量) - 单机日常操作Lazydocker(SSH 里直接用) - 不需要 GUI 管理:继续用 docker compose 命令即可


Plane 3: Resource Plane(资源平面)

核心定位:网络、存储、反向代理等基础设施

3.1 Networking(网络互通)

方案 类型 配置难度 NAT 穿透 特点 链接
Tailscale Overlay VPN 极低 ✅ 自动 装上就能用、免费 100 设备 tailscale.com
ZeroTier Overlay VPN 可自托管 Moon zerotier.com
WireGuard VPN 协议 性能最好、需手动配置 wireguard.com
Netmaker WireGuard 管理 自托管 Tailscale 替代 gravitl/netmaker
Headscale Tailscale 自托管 开源控制服务器 juanfont/headscale
Oracle VCN Peering 云原生 N/A Oracle 内网、免费 Oracle Cloud

网络方案分析

需求 推荐 理由
最省心 Tailscale 5 分钟搞定,自动 NAT 穿透
不信任第三方 Headscale Tailscale 协议自托管
更灵活网络 ZeroTier 支持多播、可自托管 Moon
性能最优 WireGuard 直连 但需要公网 IP 或端口转发

3.2 反向代理

工具 配置方式 自动 HTTPS 特点 GitHub
Caddy Caddyfile ✅ 自动 极简、自动证书 caddyserver/caddy
Nginx Proxy Manager GUI 可视化配置 NginxProxyManager/nginx-proxy-manager
Traefik 标签/YAML Docker 原生集成 traefik/traefik
nginx conf 文件 ❌ 需配置 经典、性能好 -

反向代理分析

偏好 推荐 理由
GUI 配置 Nginx Proxy Manager 鼠标点点就能加域名
配置极简 Caddy 3 行配置搞定反代+HTTPS
Docker 原生 Traefik 容器标签自动发现
已有经验 nginx 配置复杂但最灵活

[!TIP] 个人推荐 (优化方案) - 网络互通Tailscale(核心骨干,建议开启 MagicDNS) - 管理访问Portainer/Beszel 等管理面板建议仅通过 Tailscale 内网 IP 访问,不暴露到公网。 - 反向代理Traefik(仅用于必须公开访问的应用,如博客、公共服务)


Plane 4: Monitoring & Logging Plane(监控日志平面)

核心定位:可观测性,服务+服务器+日志监控

4.1 服务可用性监控(Uptime)

工具 配置方式 监控类型 通知渠道 特点 GitHub
Uptime Kuma GUI HTTP/TCP/Ping/DNS 90+ 最易用、状态页 louislam/uptime-kuma
Gatus YAML HTTP/TCP/SSH 多种 GitOps 友好 TwiN/gatus
Statping-NG GUI HTTP/TCP 多种 图表分析 statping-ng/statping-ng
Healthchecks GUI Cron 任务 多种 定时任务专用 healthchecks/healthchecks

服务监控分析

需求 推荐 理由
GUI 配置 Uptime Kuma 最易用、90+ 通知渠道
GitOps 风格 Gatus YAML 配置、适合版本控制
Cron 任务监控 Healthchecks 专门监控定时任务是否执行

4.2 服务器资源监控(Metrics)

工具 架构 Docker 监控 资源占用 特点 GitHub
Beszel Hub + Agent 极低 2024 新项目、现代 UI henrygd/beszel
哪吒监控 Server + Agent 国产、社区活跃 naiba/nezha
Netdata Agent 功能最全、秒级数据 netdata/netdata
Glances 单机/Web Python htop nicolargo/glances
Grafana + Prometheus 拉取式 行业标准 grafana/grafana
Grafana + VictoriaMetrics 拉取式 Prometheus 轻量替代 VictoriaMetrics/VictoriaMetrics

服务器监控分析

哪吒监控 vs Beszel 对比

对比项 哪吒监控 Beszel
数据采集 Agent 主动上报 Hub 主动拉取
Docker 监控
界面风格 国产风 现代简约
社区 中文社区活跃 2024 新项目
需求 推荐 理由
已在用哪吒 继续用 无迁移成本
想要现代 UI Beszel 2024 新项目,UI 更现代
需要 Docker 监控 Beszel / Netdata 哪吒不监控容器
企业级可观测 Grafana + Prometheus 功能最全、但配置复杂

4.3 日志管理(Logging)

工具 存储 资源占用 特点 GitHub
Dozzle 无(实时) 极低 Docker 日志实时查看 amir20/dozzle
Loki 标签索引 配合 Grafana grafana/loki
Graylog 全文索引 功能最全、需 ES Graylog2/graylog2-server

日志管理分析

需求 推荐 理由
实时查看 Docker 日志 Dozzle 极轻量、无存储
日志聚合分析 Loki 配合 Grafana,存储高效
全文搜索 Graylog 功能最全,但需要 ES

[!TIP] 个人推荐 - 服务监控Uptime Kuma(最易用,计划后续阶段部署) - 服务器监控:继续用哪吒监控,或试试 Beszel - 日志Dozzle(轻量实时查看 Docker 日志)


Plane 5: Security Plane(安全平面)

核心定位:密钥管理、身份认证

5.1 Secrets Management(密钥管理)

工具 复杂度 自托管 特点 GitHub
Infisical 开源、现代 UI Infisical/infisical
HashiCorp Vault 企业级、功能最全 hashicorp/vault
Doppler ❌ SaaS 免费层可用 doppler.com
dotenv 文件 极低 N/A 仅开发环境 -

5.2 Password Manager(密码管理)

工具 特点 GitHub
Vaultwarden Bitwarden 自托管替代 dani-garcia/vaultwarden
Passbolt 团队密码管理 passbolt/passbolt_api

5.3 Identity & SSO(身份认证)

工具 特点 GitHub
Authelia 轻量 SSO、2FA authelia/authelia
Authentik 功能更全 goauthentik/authentik
Keycloak 企业级 keycloak/keycloak

分析与推荐

需求 推荐 理由
个人密码管理 Vaultwarden Bitwarden 轻量替代,已部署
应用密钥管理 dotenv / Infisical 个人项目 dotenv 够用
统一登录 Authelia 轻量、配合反代使用

[!TIP] 个人推荐 - 密码管理Vaultwarden(已部署) - 密钥管理:继续用 dotenv,除非需要动态密钥 - SSO:暂不需要,服务不多


推荐组合方案

方案 A: 极简版

平面 选择 说明
Plane 1 Portal Sun-Panel GUI 配置、内外网切换
Plane 2 Delivery SSH + docker compose
Plane 3 Resource Tailscale 一键组网
Plane 4 Monitoring 哪吒监控 已在用、继续用
Plane 5 Security dotenv 简单环境变量

方案 B: 现代化版

平面 选择 说明
Plane 1 Portal Sun-Panel / Homarr 根据偏好
Plane 2 Delivery Dockge 轻量、compose 透明
Plane 3 Resource Tailscale + Caddy 组网+反代
Plane 4 Monitoring Beszel + Uptime Kuma 服务器+服务双监控
Plane 5 Security Vaultwarden 密码管理

方案 C: 功能完整版

平面 选择 说明
Plane 1 Portal Homepage / Homarr 集成丰富
Plane 2 Delivery Portainer + Watchtower 多节点、RBAC + 自动更新
Plane 3 Resource Tailscale + Caddy 组网+反代
Plane 4 Monitoring Beszel + Uptime Kuma + Dozzle 全方位
Plane 5 Security Authelia + Vaultwarden SSO + 密码

方案 D: 优化推荐版 (Security Optimized)

平面 选择 说明
核心安全 Tailscale Only Portainer, Beszel, SSH 仅走内网
Plane 1 Portal Homepage 仅此服务暴露公网 (可选)
Plane 2 Delivery Portainer Agent + Watchtower 自动更新 + Agent 内网互联
Plane 3 Resource Tailscale + Traefik Traefik 处理外部流量
Plane 4 Monitoring Beszel (Hub 隐身) 监控数据走 VPN
Plane 5 Security .env 敏感信息不进代码库

下一步行动

  1. [ ] 选择入口层方案(Sun-Panel / Homarr / Homepage)
  2. [ ] 决定容器管理(Portainer / Dockge / 无)
  3. [ ] 决定监控方案(继续哪吒 / 换 Beszel)
  4. [ ] 部署 Tailscale 实现服务器互通
  5. [ ] 逐个部署并添加应用到 Portal

参考链接