zero
Despliega cualquier imagen Docker en tu servidor con un solo comando: HTTPS automático, conmutación sin cortes por health check, previews y rollback.
¿Qué es zero (ShipZero)?
zero es un motor de despliegue para un solo servidor que ejecuta imágenes Docker en tu propia infraestructura. Proporciona un flujo de trabajo en línea de comandos para desplegar una imagen, aprovisionar HTTPS automáticamente y enrutar el tráfico tras un health check.
El propósito principal es eliminar tareas comunes de configuración para pasar de una imagen de contenedor a un endpoint en vivo, sin necesidad de archivos de configuración, interfaz web ni YAML. También soporta despliegues de preview y rollback con el mismo enfoque basado en comandos.
Características clave
- Despliegue con 1 comando desde una imagen de contenedor: Despliega cualquier imagen Docker desde un registro (p. ej.,
ghcr.io/...) conzero deployy detecta automáticamente el puerto de la aplicación. - HTTPS automático con redirecciones HTTP: Aprovisiona HTTPS mediante Let’s Encrypt y activa redirecciones HTTP → HTTPS como parte del flujo de despliegue.
- Conmutación de tráfico sin cortes vía health checks: Inicia un nuevo contenedor en un puerto efímero, ejecuta un health check TCP o HTTP y solo cambia el tráfico si pasa la verificación.
- Entornos de preview: Usa
--preview <name>(ejemplo:pr-21) para crear un despliegue temporal con su propio subdominio; los previews expiran automáticamente. - Rollback instantáneo:
zero rollback <app>inicia la imagen anterior, la verifica con health check y revierte el tráfico; si falla, no aplica cambios. - Métricas y logs en terminal en vivo: Transmite estadísticas de CPU, memoria y red a la terminal, y logs del servidor con
zero logs --server. - Auto-despliegue por webhook: Verifica solicitudes firmadas con HMAC-SHA256 y activa despliegues desde eventos de registro; tags no coincidentes crean previews.
- Soporte para Docker Compose en apps multi-contenedor: Despliega un archivo Docker Compose especificando el servicio principal y nombre, manejando pull, inicio, health check y enrutamiento.
Cómo usar zero
- Configura un servidor: Necesitas un VPS Linux y un dominio.
- Instala zero:
- En el VPS:
curl -fsSL https://shipzero.sh/install.sh | sudo bash - En tu máquina (CLI):
curl -fsSL https://shipzero.sh/cli/install.sh | bash
- En el VPS:
- Conéctate vía SSH:
zero login <email-o-identificador>(como se muestra:zero login [email protected]). - Despliega una imagen:
zero deploy <referencia-imagen>(ejemplo:zero deploy ghcr.io/shipzero/demo:latest). - Verifica la salida: Tras los health checks, zero muestra la URL en vivo (basada en el dominio y puerto detectado).
Para previews, despliega con --preview (ejemplo: zero deploy demo --preview pr-21). Para rollbacks, ejecuta zero rollback <app>.
Casos de uso
- Desplegar una web app Dockerizada única: Construye una imagen, súbela a un registro y ejecuta
zero deploy <image>:latestpara obtener un endpoint HTTPS con conmutación de tráfico verificada. - Enlaces de preview para pull requests: Crea un despliegue de preview por PR pasando
--preview <identificador>y comparte la URL del subdominio con revisores. - Rollback seguro en lanzamientos: Si un nuevo contenedor falla health checks o se comporta mal, ejecuta
zero rollback <app>para revertir sin downtime (el cambio solo ocurre tras health checks). - Despliegue continuo desde registros: Configura una URL y secreto de webhook, y deja que un POST firmado active despliegues; los tags pueden mapear a despliegues normales o previews.
- Desplegar servicios multi-contenedor: Cuando una app usa Docker Compose, ejecuta
zero deploy --compose <file> --service <name> --name <stack>para desplegar todos los servicios y enrutar tráfico al servicio principal.
Preguntas frecuentes
-
¿Qué significa “sin cortes” aquí?
El flujo inicia un nuevo contenedor, ejecuta un health check TCP o HTTP y solo entonces cambia las rutas de forma atómica. Si falla, el tráfico permanece en la versión anterior. -
¿Requiere zero archivos de config o YAML?
La página indica que no hay archivos de config ni interfaz web, y que el flujo típico evita YAML. -
¿Cómo habilita zero el HTTPS?
Aprovisiona HTTPS automáticamente con Let’s Encrypt y realiza redirecciones HTTP. -
¿Puedo desplegar múltiples contenedores, no solo una imagen?
Sí. La página describe soporte para Docker Compose, pasando el archivo, un servicio principal y un nombre de despliegue. -
¿Cómo se crean y gestionan los previews?
Los despliegues de preview se crean pasando--preview <name>, generando una URL de subdominio en vivo. La página indica que expiran automáticamente.
Alternativas
- PaaS tradicional (platform-as-a-service): Estos servicios gestionan HTTPS, previews y flujos de despliegue, pero suelen ejecutarse en una plataforma en lugar de tu propio servidor; puedes sacrificar flexibilidad y el control de “poseer el servidor”.
- Proxy inverso autogestionado + orquestación manual de contenedores: Puedes lograr HTTPS y enrutamiento similar con tus propias herramientas, pero el flujo de trabajo es más manual (tendrías que manejar inicio/parada de servicios, health checks, cambios de enrutamiento y certificados tú mismo).
- Herramientas genéricas de despliegue de contenedores (orquestadores basados en CLI): Las herramientas que despliegan contenedores en un solo host pueden cubrir pasos similares, pero pueden requerir más archivos de configuración, enrutamiento personalizado o lógica manual de health check y rollback.
- Kubernetes para despliegues multi-nodo: Si necesitas orquestación multi-nodo, RBAC o un dashboard web, Kubernetes está orientado a un caso diferente que un motor de despliegue de un solo servidor como zero.
Alternativas
Codex Plugins
Usa Codex Plugins para combinar skills, integraciones de apps y servidores MCP en flujos reutilizables que amplían el acceso de Codex a Gmail, Drive y Slack.
Falconer
Falconer es una plataforma de conocimiento autoactualizable para equipos ágiles: escribe, comparte y encuentra documentación interna y contexto de código en un solo lugar.
OpenFlags
OpenFlags es un sistema de feature flags open source y autohospedado con control plane y SDKs para evaluaciones locales y rollouts progresivos.
AakarDev AI
AakarDev AI es una plataforma poderosa que simplifica el desarrollo de aplicaciones de IA con integración fluida de bases de datos vectoriales, permitiendo un despliegue y escalabilidad rápidos.
AgentMail
AgentMail es una API de bandeja de entrada por correo para agentes de IA: crear, enviar, recibir y buscar mensajes por REST para conversaciones bidireccionales.
Arduino VENTUNO Q
Arduino VENTUNO Q es un ordenador de edge AI para robótica: combina inferencia acelerada y microcontrolador para control determinista, con Arduino App Lab.