文档 / 入门 / 安装

安装

在一分钟内在干净的服务器上运行 sh0。一条命令下载二进制文件——sh0 自动处理所有依赖。

系统需求

要求最低推荐
操作系统Linux(任意发行版)Ubuntu 22.04+ / Debian 12+
RAM1 GB2 GB+
磁盘10 GB20 GB+ (SSD)
CPU1 vCPU2 vCPUs+
Docker如果缺失,sh0 自动安装
Note
sh0 本身占用很少内存(约 30 MB)。RAM 需求主要来自 Docker 和你部署的应用。1 GB 的服务器可以舒适地运行 sh0 加 2-3 个小型应用。

支持的平台

sh0 为以下架构提供预构建的二进制文件:

  • x86_64 (AMD64) -- 大多数云服务器和 VPS 提供商
  • aarch64 (ARM64) -- AWS Graviton、Oracle Ampere、Raspberry Pi 4+
零依赖
sh0 应安装在干净的服务器上。以 root 身份运行 sh0 serve 时,它会自动检测并安装 Docker 和 Caddy(如果缺失)。无需手动设置。

安装 sh0

快速安装(推荐)

安装脚本自动检测你的架构、下载最新二进制文件并设置 systemd 服务:

Terminal
curl -fsSL https://sh0.dev/install | sh
Terminal output showing the sh0 install script downloading the binary, setting permissions, and starting the service
安装脚本在几秒内完成

脚本执行以下步骤:

  1. 检测 CPU 架构(x86_64 或 aarch64)
  2. 将最新的 sh0 二进制文件下载到 /usr/local/bin/sh0
  3. 设置可执行权限
  4. 创建 systemd 服务单元
  5. 启用并启动服务

手动下载

如果你更喜欢手动安装,可以直接下载二进制文件:

Terminal
# Download the binary (replace ARCH with amd64 or arm64)
curl -L -o /usr/local/bin/sh0 https://sh0.dev/download/latest/sh0-linux-ARCH

# Make it executable
chmod +x /usr/local/bin/sh0

# Start the server
sh0 serve

验证安装

检查 sh0 是否已安装并运行:

Terminal
# Check the version
sh0 --version

# Check the service status
systemctl status sh0

# Verify the dashboard is accessible
curl -s http://localhost:9000/api/health
Terminal showing sh0 version output and systemctl status showing the service as active and running
健康运行的 sh0 安装

健康端点应返回确认服务器正在运行的 JSON 响应:

Health Response
{"data": {"status": "ok", "version": "1.6.0", "uptime": 42}}

Systemd 服务设置

如果你使用了快速安装脚本,systemd 服务已经配置好了。对于手动安装,请创建服务文件:

/etc/systemd/system/sh0.service
[Unit]
Description=sh0 Deployment Platform
After=docker.service
Requires=docker.service

[Service]
Type=simple
ExecStart=/usr/local/bin/sh0 serve
Restart=always
RestartSec=5
Environment=SH0_DATA_DIR=/var/lib/sh0

[Install]
WantedBy=multi-user.target

然后启用并启动服务:

Terminal
sudo systemctl daemon-reload
sudo systemctl enable sh0
sudo systemctl start sh0
Tip
systemd 服务确保 sh0 在服务器重启后自动启动,并在崩溃时重启。日志可通过 journalctl -u sh0 -f 查看。

防火墙配置

sh0 需要以下端口可访问:

端口协议用途
80TCPHTTP 流量(重定向到 HTTPS)
443TCP已部署应用的 HTTPS 流量
9000TCPsh0 控制台和 API

如果你使用 ufw(Ubuntu/Debian):

Terminal
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 9000/tcp
控制台安全
9000 端口提供对 sh0 控制台的完全访问。在生产环境中,建议限制为受信任的 IP 访问或将其放在 VPN 后面。你也可以配置 sh0 通过 Caddy 在自定义域名上使用 SSL 提供控制台。

更新 sh0

更新只需替换二进制文件并重启服务即可。你的配置、已部署的应用和数据都会保留——它们位于数据目录中,而不是二进制文件内。

Terminal
# Download the latest version
curl -fsSL https://sh0.dev/install | sh

# Or manually:
curl -L -o /usr/local/bin/sh0 https://sh0.dev/download/latest/sh0-linux-amd64
sudo systemctl restart sh0
Note
sh0 在启动时自动处理数据库迁移。更新后,任何架构更改都会无缝应用。