个人多服务器管理平台选型与规划
[!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(开发者门户/导航面板)
分析与推荐
核心权衡: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.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(网络互通)
网络方案分析
| 需求 |
推荐 |
理由 |
| 最省心 |
Tailscale |
5 分钟搞定,自动 NAT 穿透 |
| 不信任第三方 |
Headscale |
Tailscale 协议自托管 |
| 更灵活网络 |
ZeroTier |
支持多播、可自托管 Moon |
| 性能最优 |
WireGuard 直连 |
但需要公网 IP 或端口转发 |
3.2 反向代理
反向代理分析
| 偏好 |
推荐 |
理由 |
| 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)
服务监控分析
| 需求 |
推荐 |
理由 |
| GUI 配置 |
Uptime Kuma |
最易用、90+ 通知渠道 |
| GitOps 风格 |
Gatus |
YAML 配置、适合版本控制 |
| Cron 任务监控 |
Healthchecks |
专门监控定时任务是否执行 |
4.2 服务器资源监控(Metrics)
服务器监控分析
哪吒监控 vs Beszel 对比:
| 对比项 |
哪吒监控 |
Beszel |
| 数据采集 |
Agent 主动上报 |
Hub 主动拉取 |
| Docker 监控 |
❌ |
✅ |
| 界面风格 |
国产风 |
现代简约 |
| 社区 |
中文社区活跃 |
2024 新项目 |
| 需求 |
推荐 |
理由 |
| 已在用哪吒 |
继续用 |
无迁移成本 |
| 想要现代 UI |
Beszel |
2024 新项目,UI 更现代 |
| 需要 Docker 监控 |
Beszel / Netdata |
哪吒不监控容器 |
| 企业级可观测 |
Grafana + Prometheus |
功能最全、但配置复杂 |
4.3 日志管理(Logging)
日志管理分析
| 需求 |
推荐 |
理由 |
| 实时查看 Docker 日志 |
Dozzle |
极轻量、无存储 |
| 日志聚合分析 |
Loki |
配合 Grafana,存储高效 |
| 全文搜索 |
Graylog |
功能最全,但需要 ES |
[!TIP] 个人推荐
- 服务监控:Uptime Kuma(最易用,计划后续阶段部署)
- 服务器监控:继续用哪吒监控,或试试 Beszel
- 日志:Dozzle(轻量实时查看 Docker 日志)
Plane 5: Security Plane(安全平面)
核心定位:密钥管理、身份认证
5.1 Secrets Management(密钥管理)
5.2 Password Manager(密码管理)
5.3 Identity & SSO(身份认证)
分析与推荐
| 需求 |
推荐 |
理由 |
| 个人密码管理 |
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 |
敏感信息不进代码库 |
下一步行动
- [ ] 选择入口层方案(Sun-Panel / Homarr / Homepage)
- [ ] 决定容器管理(Portainer / Dockge / 无)
- [ ] 决定监控方案(继续哪吒 / 换 Beszel)
- [ ] 部署 Tailscale 实现服务器互通
- [ ] 逐个部署并添加应用到 Portal
参考链接