Documentación / Primeros pasos / Introducción

Introducción

sh0 es una plataforma de despliegue autoalojada que empaqueta todo lo que necesitas en un solo binario. Sin manifiestos YAML, sin complejidad de orquestación de contenedores -- solo envía tu código y se ejecuta.

¿Qué es sh0?

sh0 es una plataforma de despliegue que instalas en tu propio servidor. Maneja todo el ciclo de vida de tus aplicaciones -- desde construir código fuente en contenedores, hasta configurar proxies inversos con SSL automático, hasta monitorear disponibilidad y gestionar respaldos.

A diferencia de las soluciones PaaS tradicionales que requieren cuentas en la nube y suscripciones mensuales, sh0 se ejecuta completamente en infraestructura que tú controlas. Un VPS de $5/mes es suficiente para comenzar, y la plataforma escala contigo a medida que tus necesidades crecen.

¿Para quién es sh0?
Desarrolladores, agencias y equipos que quieren la conveniencia de una plataforma administrada sin renunciar al control sobre su infraestructura. Si alguna vez desplegaste un contenedor Docker manualmente y deseaste tener un panel de control, sh0 es para ti.

Arquitectura de binario único

Toda la plataforma sh0 se distribuye como un solo binario compilado en Rust. No hay dependencias de ejecución más allá de Docker -- sin Node.js, sin Python, sin Java, sin bases de datos externas que aprovisionar. El panel de control, servidor API, administrador de proxy inverso, sistema de compilación y motor de monitoreo están todos compilados en un solo ejecutable.

Architecture diagram showing the sh0 binary containing the API server, Svelte dashboard, Caddy proxy manager, Docker orchestrator, and SQLite database

Esta arquitectura significa que la instalación toma segundos, las actualizaciones son un simple intercambio de archivos y hay muy pocas partes móviles que puedan fallar en producción.

Componentes principales

ComponenteTecnologíaRol
Motor principalRust + AxumServidor API, orquestación de compilaciones, lógica de despliegue
Proxy inversoCaddyTerminación HTTPS, Let's Encrypt automático, enrutamiento
Entorno de ejecución de contenedoresDocker EngineConstruir imágenes, ejecutar contenedores, redes
Base de datosSQLiteConfiguración, historial de despliegues, almacenamiento de métricas
Panel de controlSvelte 5 + SvelteKitInterfaz web integrada en el binario, servida en el puerto 9000

Qué reemplaza

sh0 está diseñado para eliminar la necesidad de juntar múltiples herramientas para desplegar aplicaciones en tu propio servidor. Así es como se ve una configuración típica autoalojada antes y después de sh0:

Sin sh0

  • -- Comandos Docker manuales por aplicación
  • -- Archivos de configuración Nginx/Traefik que mantener
  • -- Tareas cron de Certbot para renovación SSL
  • -- Pipelines CI/CD personalizados para cada proyecto
  • -- Herramientas separadas de monitoreo y alertas
  • -- Scripts de respaldo manuales

Con sh0

  • + Un binario, un comando para instalar
  • + Configuración automática de proxy inverso
  • + SSL automático vía Let's Encrypt
  • + Push de Git para desplegar, integrado
  • + Monitoreo, métricas y alertas incluidos
  • + Respaldos programados a S3/R2

Cómo funciona

Cuando ejecutas sh0 serve, el binario inicia varios subsistemas:

  1. Servidor API -- Un servidor HTTP Axum escucha en el puerto 9000, sirviendo tanto el panel de control como la API REST.
  2. Administrador de Caddy -- sh0 lanza y administra una instancia de Caddy como proceso hijo, actualizando su configuración dinámicamente a medida que agregas dominios.
  3. Cliente Docker -- Se comunica con el Docker Engine vía el socket Unix para construir imágenes, crear contenedores y administrar redes.
  4. Workers en segundo plano -- Maneja tareas programadas como ejecución de respaldos, verificaciones de salud, renovación de certificados SSL y recolección de métricas.
Diagram showing the request flow: user browser connects to Caddy on port 80/443, which routes to Docker containers, while the dashboard on port 9000 communicates with the sh0 API

Características principales

Push de Git para desplegar

Conecta un repositorio Git y despliega en cada push. Compatible con GitHub, GitLab, Bitbucket y cualquier URL de Git.

Más de 170 plantillas

Despliegue con un clic para stacks populares -- WordPress, PostgreSQL, Redis, Ghost, Plausible y más.

SSL automático

Cada dominio obtiene un certificado gratuito de Let's Encrypt, aprovisionado y renovado automáticamente por Caddy.

Despliegues blue-green

Despliegues sin tiempo de inactividad con reversión instantánea. La versión anterior sigue en ejecución hasta que la nueva esté saludable.

Gestión de bases de datos

Aprovisiona PostgreSQL, MySQL, MariaDB, MongoDB o Redis con respaldos automáticos e inyección de cadenas de conexión.

Multi-servidor

Escala más allá de un solo servidor agregando nodos remotos. sh0 despliega contenedores en tu flota vía túneles SSH.

Flujo de despliegue

Esto es lo que sucede cuando despliegas una aplicación con sh0:

Deployment Pipeline
1. Source Code     -- Git clone or image pull
2. Stack Detection -- Auto-detect language and framework
3. Build           -- Generate Dockerfile, build container image
4. Health Check    -- Verify the new container starts and responds
5. Route           -- Update Caddy reverse proxy configuration
6. Live            -- Traffic flows to the new container
7. Cleanup         -- Remove old container (kept for rollback)
Note
sh0 detecta automáticamente el stack de tu proyecto (Node.js, Python, Go, Rust, PHP, Ruby, sitios estáticos y más) y genera un Dockerfile optimizado. También puedes proporcionar tu propio Dockerfile o archivo Docker Compose.

Próximos pasos

¿Listo para comenzar? Sigue la guía de instalación para poner sh0 en funcionamiento en tu servidor en menos de un minuto.