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://sh0.dev/install | shEl 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 prefieres instalar manualmente, descarga el binario directamente:
# 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 serveVerificar 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 dashboard is accessible
curl -s http://localhost:9000/api/healthEl endpoint de salud debería devolver una respuesta JSON confirmando que el servidor está operativo:
{"data": {"status": "ok", "version": "1.6.0", "uptime": 42}}Configuración del servicio systemd
Si usaste el script de instalación rápida, el servicio systemd ya está configurado. Para instalaciones manuales, crea el archivo de servicio:
[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.targetLuego habilita e inicia el servicio:
sudo systemctl daemon-reload
sudo systemctl enable sh0
sudo systemctl start sh0journalctl -u sh0 -f.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
Actualizar es tan simple como reemplazar el binario y reiniciar el servicio. Tu configuración, aplicaciones desplegadas y datos se preservan -- residen en el directorio de datos, no dentro del binario.
# 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