zero
Stelle jedes Docker-Image per Ein-Kommando auf deinem Server bereit – inkl. automatischem HTTPS, Health-Checks für Zero-Downtime-Switching, Preview & Rollback.
Was ist zero (ShipZero)?
zero ist ein Single-Server-Deployment-Engine zum Ausführen von Docker-Images auf deiner eigenen Infrastruktur. Es bietet einen Kommandozeilen-Workflow, um ein Image bereitzustellen, HTTPS automatisch bereitzustellen und Traffic nach einem Health-Check umzuleiten.
Der Kernzweck ist es, gängige Setup-Aufgaben zu eliminieren, die vom Container-Image bis zum Live-Endpoint notwendig sind – ohne Konfigurationsdateien, Web-UI oder YAML. Es unterstützt zudem Preview-Deployments und Rollback mit demselben kommandozentrierten Ansatz.
Wichtige Features
- 1-Kommando-Deploy aus einem Container-Image: Stellt jedes Docker-Image aus einem Registry (z. B.
ghcr.io/...) mitzero deploybereit und erkennt automatisch den Application-Port. - Automatisches HTTPS mit HTTP-Weiterleitungen: Stellt HTTPS über Let’s Encrypt bereit und aktiviert HTTP → HTTPS-Weiterleitungen als Teil des Deployment-Flows.
- Zero-Downtime-Traffic-Switching via Health-Checks: Startet einen neuen Container auf einem ephemeral Port, führt einen TCP- oder HTTP-Health-Check durch und wechselt Traffic nur, wenn der Check erfolgreich ist.
- Preview-Umgebungen: Verwende
--preview <name>(z. B.pr-21), um eine temporäre Deployment mit eigener Subdomain zu erstellen; Preview-Deployments verfallen automatisch. - Sofortiger Rollback:
zero rollback <app>startet das vorherige Image, prüft es per Health-Check und wechselt Traffic zurück; bei fehlgeschlagenem Check werden keine Änderungen übernommen. - Live-Terminal-Metrics und Logs: Streamt CPU-, Memory- und Network-Stats in die Terminal und kann Server-Logs mit
zero logs --serverstreamen. - Webhook-Auto-Deploy: Verifiziert signierte Webhook-Requests mit HMAC-SHA256 und triggert Deploys aus Registry-Events; nicht passende Tags erzeugen Preview-Deployments.
- Docker Compose-Unterstützung für Multi-Container-Apps: Stellt eine Docker-Compose-Datei bereit, indem du den Entry-Service und Namen angibst, und handhabt Pulling, Starten, Health-Checking und Routing.
So nutzt du zero
- Server einrichten: Du brauchst einen Linux-VPS und eine Domain.
- zero installieren:
- Auf dem VPS:
curl -fsSL https://shipzero.sh/install.sh | sudo bash - Auf deinem Rechner (CLI):
curl -fsSL https://shipzero.sh/cli/install.sh | bash
- Auf dem VPS:
- Per SSH verbinden:
zero login <email-or-identifier>(z. B.zero login [email protected]). - Image deployen:
zero deploy <image-reference>(z. B.zero deploy ghcr.io/shipzero/demo:latest). - Ausgabe prüfen: Nach Health-Checks druckt zero die Live-URL aus (basierend auf Domain und erkanntem App-Port).
Für Previews deploye mit --preview (z. B. zero deploy demo --preview pr-21). Für Rollbacks führe zero rollback <app> aus.
Anwendungsfälle
- Einzelne Dockerisierte Web-App deployen: Baue ein Image, pushe es in ein Registry, dann führe
zero deploy <image>:latestaus, um einen HTTPS-Endpoint mit Health-Check-Traffic-Switching zu erhalten. - Pull-Request-Preview-Links für Reviews: Erstelle pro PR ein Preview-Deployment mit
--preview <identifier>und teile die resultierende Subdomain-URL mit Reviewern. - Sicherer Rollback bei Releases: Wenn ein neues Container Health-Checks scheitert oder falsch verhält, führe
zero rollback <app>aus, um zurückzuwechseln, bei zero Downtime (Traffic-Wechsel nur nach Health-Checks). - Continuous Deployment aus Registries: Konfiguriere eine Webhook-Endpoint-URL und Secret, dann lass signierte POSTs Deploys triggern; Tags können zu normalen oder Preview-Deployments mappen.
- Multi-Container-Services deployen: Wenn eine App per Docker Compose beschrieben ist, nutze
zero deploy --compose <file> --service <name> --name <stack>, um alle Services aus der Compose-Datei zu deployen und Traffic für den Entry-Service zu routen.
FAQ
-
Was bedeutet „Zero-Downtime“ hier?
Der beschriebene Flow startet einen neuen Container, führt einen TCP- oder HTTP-Health-Check durch und wechselt Routen erst dann atomar. Bei fehlgeschlagenen Checks bleibt Traffic auf der vorherigen Version. -
Erfordert zero Konfigurationsdateien oder YAML?
Die Seite betont: Keine Konfigurationsdateien, keine Web-UI und der Workflow vermeidet YAML. -
Wie aktiviert zero HTTPS?
Es stellt HTTPS automatisch über Let’s Encrypt bereit und führt HTTP-Weiterleitungen durch. -
Kann ich mehrere Container deployen, nicht nur ein einzelnes Image?
Ja. Die Seite beschreibt Docker Compose-Unterstützung, bei der du die Compose-Datei, einen Entry-Service und einen Deployment-Namen angibst. -
Wie werden Previews erstellt und verwaltet?
Preview-Deployments entstehen durch--preview <name>und erzeugen eine Live-Subdomain-URL. Previews verfallen automatisch.
Alternativen
- Traditionelle PaaS (Platform-as-a-Service): Diese Dienste verwalten HTTPS, Previews und Deployment-Flows, laufen aber typischerweise auf einer Plattform statt auf deinem eigenen Server; du gibst Flexibilität und „Server-Eigentum“-Kontrolle auf.
- Selbstverwalteter Reverse Proxy + manuelle Container-Orchestrierung: Du kannst ähnliches HTTPS und Routing mit eigenen Tools erreichen, aber der Workflow ist manueller (du kümmerst dich selbst um Service-Start/Stop, Health-Checks, Routing-Wechsel und Zertifikate).
- Generische Container-Deployment-Tools (CLI-basierte Orchestratoren): Tools, die Container auf einem Single Host bereitstellen, decken ähnliche Schritte ab, erfordern aber oft mehr Konfigurationsdateien, Custom-Routing oder manuelle Health-Check- und Rollback-Logik.
- Kubernetes für Multi-Node-Deployments: Wenn du Multi-Node-Orchestrierung, RBAC oder ein Web-Dashboard brauchst, ist Kubernetes eine andere Wahl als ein Single-Server-Deployment-Engine wie zero.
Alternativen
Codex Plugins
Mit Codex Plugins bündelst du Skills, App-Integrationen und MCP-Server zu wiederverwendbaren Workflows und erweiterst Codex für Tools wie Gmail, Google Drive und Slack.
Falconer
Falconer ist eine selbstaktualisierende Wissensplattform für schnelle Teams: interne Doku und Code-Context schreiben, teilen und gezielt finden – an einem Ort.
OpenFlags
OpenFlags ist ein Open-Source, self-hosted Feature-Flag-System für progressive Delivery: lokale Evaluation in App-SDKs und ein simples Control-Plane für gezielte Rollouts.
AakarDev AI
AakarDev AI ist eine leistungsstarke Plattform, die die Entwicklung von KI-Anwendungen mit nahtloser Integration von Vektordatenbanken vereinfacht und eine schnelle Bereitstellung und Skalierbarkeit ermöglicht.
AgentMail
AgentMail ist eine E-Mail-Postfach-API für AI Agents: E-Mails per REST erstellen, senden, empfangen und durchsuchen für bidirektionale Gespräche.
Arduino VENTUNO Q
Arduino VENTUNO Q ist ein Edge-AI-Computer für Robotik und physische Systeme: KI-Inferenz mit Microcontroller für deterministische Steuerung. Entwickeln in Arduino App Lab.