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.
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.
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
| Componente | Tecnología | Rol |
|---|---|---|
| Motor principal | Rust + Axum | Servidor API, orquestación de compilaciones, lógica de despliegue |
| Proxy inverso | Caddy | Terminación HTTPS, Let's Encrypt automático, enrutamiento |
| Entorno de ejecución de contenedores | Docker Engine | Construir imágenes, ejecutar contenedores, redes |
| Base de datos | SQLite | Configuración, historial de despliegues, almacenamiento de métricas |
| Panel de control | Svelte 5 + SvelteKit | Interfaz 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:
- Servidor API -- Un servidor HTTP Axum escucha en el puerto 9000, sirviendo tanto el panel de control como la API REST.
- 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.
- Cliente Docker -- Se comunica con el Docker Engine vía el socket Unix para construir imágenes, crear contenedores y administrar redes.
- 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.
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:
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)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.