Business 计划功能

跨多台服务器部署

通过 SSH 注册远程节点。构建一次,部署到任何地方。sh0 处理整个集群的镜像传输、路由和健康监控。

多服务器所需的一切

注册节点、传输镜像、路由流量、监控健康 -- 全部在一个仪表盘中完成。

SSH 注册
使用主机名、端口、用户和密钥或密码身份验证添加远程服务器
纯 Rust SSH 隧道
基于 russh 库构建 -- 无需系统 OpenSSH 依赖
通过 SSH 传输镜像
在主服务器上构建一次,通过 tar 和 SSH 将镜像传输到任何远程节点
节点级部署
从仪表盘将每个应用分配到集群中的特定服务器
心跳监控
每 30 秒 sh0 检查每个节点 -- 追踪待处理、活跃、离线、排空和错误状态
实时节点统计
通过状态 API 查看每个注册节点的 CPU、内存、磁盘使用和容器数量
自动 Caddy 路由
反向代理自动配置,将流量路由到远程容器(node_ip:host_port)
加密密钥存储
SSH 私钥使用 AES-256-GCM 和服务器主密钥静态加密

工作原理

01

注册节点

输入远程服务器的 SSH 凭据 -- 主机名、端口、用户和私钥或密码。sh0 立即测试连接。

02

构建应用

Docker 构建在主 sh0 服务器上进行,与单服务器部署完全相同。远程节点上无需任何工具。

03

传输镜像

sh0 将镜像导出为 tar 归档并通过 SSH 流式传输到远程节点。远程 Docker 守护进程自动加载。

04

路由流量

Caddy 自动配置代理将请求转发到远程容器。HTTPS 证书照常在主服务器上配置。

多服务器架构

主服务器
Docker 构建
SSH 传输
远程节点
Caddy 路由
实时流量

中心化构建,部署到任何节点,自动路由 -- 无需编排框架

为生产集群而构建

全集群仪表盘

在一个地方查看所有节点及其容器。按状态筛选,按资源使用排序,深入查看单个节点。

健康监控

每 30 秒心跳一次。节点离线时 sh0 立即标记。一键重新部署到健康节点。

默认安全

SSH 密钥静态加密。连接使用标准 SSH 协议。远程服务器上无需安装代理或守护进程。

节点排空

将节点设为"排空"状态以停止新部署,同时现有容器优雅完成。然后安全退役。

任何 Linux 服务器

适用于任何运行 Docker 和 SSH 的服务器。Ubuntu、Debian、CentOS、Fedora、Alpine -- 任何提供商,任何数据中心。

资源感知放置

部署前查看每个节点的 CPU、内存和磁盘统计。将工作负载放置在有容量的位置。

传统方式

  • x 为每台服务器编写 Ansible 剧本
  • x 在每个节点上手动安装 Docker
  • x 将镜像推送到私有注册中心
  • x 为每个服务配置负载均衡器
  • x 在每个节点上单独设置监控
  • x SSH 到服务器调试问题

sh0 的方式

  • 使用 SSH 凭据注册节点
  • Docker 是唯一前置条件
  • 直接传输镜像,无需注册中心
  • Caddy 自动路由流量
  • 所有节点的心跳 + 统计
  • 从一个仪表盘管理一切

常见问题

远程节点支持什么操作系统? +
任何安装了 Docker 和 SSH 访问的 Linux 发行版。Ubuntu、Debian、CentOS、Fedora、Alpine 等均受支持。远程服务器不需要安装 sh0 -- 只需 Docker 和 SSH 守护进程。
支持什么 SSH 密钥格式? +
sh0 支持 OpenSSH 格式的 RSA、Ed25519 和 ECDSA 密钥。也支持密码身份验证,但建议使用密钥身份验证以确保安全。
节点数量有上限吗? +
软件中没有硬性限制。实际限制取决于您的 Business 计划层级和主 sh0 服务器的资源(每个节点连接使用极少的开销)。
远程节点离线会怎样? +
sh0 在 30 秒内通过心跳检测到故障。节点状态在仪表盘中变为"离线"。其他节点上的现有容器不受影响。您可以一键将受影响的应用重新部署到健康节点。

突破单服务器限制。

注册服务器,从一个界面部署,让 sh0 处理整个集群的路由和监控。