Instalación
Pon sh0 en funcionamiento en un servidor limpio en menos de un minuto. Un solo comando descarga el binario -- sh0 maneja todas las dependencias automáticamente.
Requisitos del sistema
| Requisito | Mínimo | Recomendado |
|---|---|---|
| SO | Linux (cualquier distribución) | Ubuntu 22.04+ / Debian 12+ |
| RAM | 1 GB | 2 GB+ |
| Disco | 10 GB | 20 GB+ (SSD) |
| CPU | 1 vCPU | 2 vCPUs+ |
| Docker | Instalado automáticamente por sh0 si falta | |
Plataformas compatibles
sh0 proporciona binarios precompilados para las siguientes arquitecturas:
x86_64(AMD64) -- La mayoría de servidores en la nube y proveedores VPSaarch64(ARM64) -- AWS Graviton, Oracle Ampere, Raspberry Pi 4+
sh0 serve como root, detecta e instala Docker y Caddy automáticamente si faltan. No se requiere configuración manual.Instalar sh0
Instalación rápida (recomendada)
El script de instalación detecta tu arquitectura, descarga el último binario y configura el servicio systemd automáticamente:
curl -fsSL https://get.sh0.dev | bashEl script realiza estos pasos:
- Detecta la arquitectura de tu CPU (x86_64 o aarch64)
- Descarga el último binario de sh0 en
/usr/local/bin/sh0 - Establece los permisos de ejecución
- Crea una unidad de servicio systemd
- Habilita e inicia el servicio
Descarga manual
Si prefiere instalar manualmente, descargue el archivo de la versión desde GitHub y compruébelo con las sumas de verificación publicadas antes de extraerlo:
# Download the archive and the checksums (use sh0-linux-arm64.tar.gz on ARM64)
curl -fsSLO https://github.com/zerosuite-inc/sh0/releases/latest/download/sh0-linux-x64.tar.gz
curl -fsSLO https://github.com/zerosuite-inc/sh0/releases/latest/download/checksums.txt
# Check the archive, then extract it
sha256sum --ignore-missing -c checksums.txt
tar -xzf sh0-linux-x64.tar.gz
# Install the binary
sudo install -m 0755 sh0 /usr/local/bin/sh0
sh0 --versionsh0-linux-x64.tar.gz: OK
sh0 1.10.2Una instalación manual no crea el servicio systemd: configúrelo como se indica a continuación y luego inícielo.
Verificar la instalación
Verifica que sh0 esté instalado y en ejecución:
# Check the version
sh0 --version
# Check the service status
systemctl status sh0
# Verify the API answers
curl -s http://localhost:9000/api/v1/healthEl endpoint de salud debería devolver una respuesta JSON confirmando que el servidor está operativo:
{"data":{"license":{"plan":"business","status":"active"},"mode":"selfhosted","needs_setup":false,"status":"ok","version":"1.10.3-rc9"}}Configuración del servicio systemd
Si utilizó el script de instalación rápida, el servicio systemd ya está configurado. Para una instalación manual, cree el mismo archivo de servicio que escribe el instalador:
[Unit]
Description=sh0 -- Self-Hosted PaaS
Documentation=https://sh0.dev/docs
After=network-online.target docker.service
Wants=network-online.target
Requires=docker.service
[Service]
Type=simple
ExecStart=/usr/local/bin/sh0 serve
Restart=always
RestartSec=5
Environment=RUST_LOG=info
WorkingDirectory=/var/lib/sh0
KillMode=process
NoNewPrivileges=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictSUIDSGID=true
RestrictRealtime=true
LockPersonality=true
LimitNOFILE=65535:524288
StandardOutput=journal
StandardError=journal
SyslogIdentifier=sh0
[Install]
WantedBy=multi-user.targetKillMode=process. Sin este ajuste, reiniciar el servicio sh0 también detiene los procesos que lanzó, y sus aplicaciones caen durante el reinicio.Luego habilita e inicia el servicio:
sudo systemctl daemon-reload
sudo systemctl enable sh0
sudo systemctl start sh0journalctl -u sh0 -f.pgsty/minio (Pigsty), fijada por digest. No es una fuente oficial de MinIO. Para usar otra imagen compatible con MinIO, añada Environment=SH0_MINIO_IMAGE=<image> al entorno del servicio, ejecute systemctl daemon-reload, elimine el contenedor sh0-system-minio y reinicie sh0: la imagen solo se aplica al crear el contenedor y el volumen de datos se conserva.Configuración de firewall
sh0 requiere que los siguientes puertos sean accesibles:
| Puerto | Protocolo | Propósito |
|---|---|---|
| 80 | TCP | Tráfico HTTP (redirige a HTTPS) |
| 443 | TCP | Tráfico HTTPS para tus aplicaciones desplegadas |
| 9000 | TCP | Panel de control y API de sh0 |
Si estás usando ufw (Ubuntu/Debian):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 9000/tcpActualizar sh0
Su configuración, sus aplicaciones desplegadas y sus datos viven en el directorio de datos, no dentro del binario, así que actualizar solo reemplaza el binario. El comando integrado descarga la última versión final, la verifica y conserva la versión anterior para una reversión:
sudo sh0 updateLos canales, la reversión y las comprobaciones del host de sh0 doctor se describen en Actualizaciones y diagnóstico.