安装
在一分钟内在干净的服务器上运行 sh0。一条命令下载二进制文件——sh0 自动处理所有依赖。
系统需求
| 要求 | 最低 | 推荐 |
|---|---|---|
| 操作系统 | Linux(任意发行版) | Ubuntu 22.04+ / Debian 12+ |
| RAM | 1 GB | 2 GB+ |
| 磁盘 | 10 GB | 20 GB+ (SSD) |
| CPU | 1 vCPU | 2 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 服务:
curl -fsSL https://sh0.dev/install | sh Terminal output showing the sh0 install script downloading the binary, setting permissions, and starting the service
脚本执行以下步骤:
- 检测 CPU 架构(x86_64 或 aarch64)
- 将最新的 sh0 二进制文件下载到
/usr/local/bin/sh0 - 设置可执行权限
- 创建 systemd 服务单元
- 启用并启动服务
手动下载
如果你更喜欢手动安装,可以直接下载二进制文件:
# 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 是否已安装并运行:
# 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
健康端点应返回确认服务器正在运行的 JSON 响应:
{"data": {"status": "ok", "version": "1.6.0", "uptime": 42}}Systemd 服务设置
如果你使用了快速安装脚本,systemd 服务已经配置好了。对于手动安装,请创建服务文件:
[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然后启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable sh0
sudo systemctl start sh0 Tip
systemd 服务确保 sh0 在服务器重启后自动启动,并在崩溃时重启。日志可通过
journalctl -u sh0 -f 查看。防火墙配置
sh0 需要以下端口可访问:
| 端口 | 协议 | 用途 |
|---|---|---|
| 80 | TCP | HTTP 流量(重定向到 HTTPS) |
| 443 | TCP | 已部署应用的 HTTPS 流量 |
| 9000 | TCP | sh0 控制台和 API |
如果你使用 ufw(Ubuntu/Debian):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 9000/tcp 控制台安全
9000 端口提供对 sh0 控制台的完全访问。在生产环境中,建议限制为受信任的 IP 访问或将其放在 VPN 后面。你也可以配置 sh0 通过 Caddy 在自定义域名上使用 SSL 提供控制台。
更新 sh0
更新只需替换二进制文件并重启服务即可。你的配置、已部署的应用和数据都会保留——它们位于数据目录中,而不是二进制文件内。
# 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 在启动时自动处理数据库迁移。更新后,任何架构更改都会无缝应用。