Gangway bringt ephemere Vorschau-URLs in selbst gehostete Docker-Umgebungen
Das neue Open-Source-Tool Gangway generiert öffentliche HTTPS-URLs für containerisierte Apps auf Ihrer eigenen Domain und unterstützt Pull Requests sowie KI-Agenten ohne Kubernetes.
Automatisch aus dem englischen Original übersetzt.
Charles Barnes hat gangway veröffentlicht, ein Open-Source-Tool, das öffentlichen HTTPS-URLs zu containerisierten Anwendungen zuweist, die auf selbst gehoster Infrastruktur laufen. Das Projekt wurde Ende September 2026 auf GitHub veröffentlicht und richtet sich an Entwickler, die den Komfort gehosteter Vorschau-Plattformen schätzen, ihre Workloads aber lieber auf eigener Hardware behalten möchten. Es unterstützt die Bereitstellung über Pull Requests, KI-Agenten oder manuelle Uploads und erstellt temporäre Umgebungen, die automatisch ablaufen.
Was ist passiert
Gangway fungiert als einzelner Prozess auf einem Standard-Docker-Host und eliminiert die Notwendigkeit komplexer Orchestrierungssysteme wie Kubernetes. Wenn ein Entwickler einen Pull Request öffnet, ein KI-Agent eine Bereitstellung auslöst oder ein Benutzer Dateien über die Weboberfläche hochlädt, startet das Tool einen Docker Compose Stack. Anschließend weist es einer konfigurierten Wildcard-Domain eine eindeutige Subdomain zu, beispielsweise shop-pr-142.preview.example.com. Diese URL wird sofort öffentlich zugänglich, sodass Stakeholder Frontend-Änderungen überprüfen, Builds testen oder generierte Artefakte ansehen können, ohne auf interne Netzwerke zugreifen zu müssen.
Das System verwaltet den gesamten Lebenszyklus dieser Vorschauen. Es übernimmt die Bereitstellung von SSL-Zertifikaten über Let’s Encrypt mittels DNS-01-Challenges, um sicherzustellen, dass jede Vorschau über HTTPS bereitgestellt wird, ohne die Ratenlimits zu erreichen, die mit zertifikatsbasierten Einzelvorschauen verbunden sind. Die Vorschauen sind als ephemere Objekte konzipiert; sie gehen nach Inaktivitätsphasen in den Schlafmodus, um Ressourcen zu sparen, und werden vollständig entfernt, wenn der zugehörige Pull Request geschlossen wird oder ihre Time-to-Live abläuft. Das Tool unterstützt auch statische Websites und Artefakte direkt und stellt diese ohne Container bereit, was Millisekunden-Bereitstellungszeiten für einfache Dokumente oder Dashboards ermöglicht.
Wichtige Details
- Bereitstellungsmethoden: Unterstützt drei Einstiegspunkte: GitHub-Pull Requests mit persistenten Kommentar-Links, KI-Agenten über das Model Context Protocol (MCP) und manuelle Uploads über UI oder REST API.
- Infrastrukturanforderungen: Läuft auf einem einfachen Docker-Host mit Compose; Kubernetes ist nicht erforderlich. Erfordert einen Server mit öffentlicher IP-Adresse und eine Domain mit Wildcard-DNS-Einträgen.
- Zertifikatsverwaltung: Verwendet ein einzelnes Wildcard-Zertifikat für alle Vorschauen, um die Ratenlimits von Let's Encrypt zu vermeiden, oder integriert sich in Reverse-Proxies wie Caddy für TLS on-demand.
- Ressourcenisolierung: Erzwingt Sicherheitsrichtlinien durch das Entfernen von Linux-Capabilities, das Begrenzen von Speicher und Prozessen sowie das Ablehnen privilegierter Modi oder des Host-Netzwerkzugriffs für Vorschau-Container.
- Datenbankunterstützung: Provisioniert automatisch Wegwerf-Instanzen von Postgres, MySQL oder Redis für Vorschauen, injiziert Verbindungsstrings als Umgebungsvariablen und löscht sie beim Abbau.
- Zugriffskontrolle: Bietet mehrere Sichtbarkeitsstufen, darunter öffentlich, nicht gelistet, passwortgeschützt oder eingeschränkt auf authentifizierte Benutzer, mit granulareren Berechtigungen für API-Tokens und OAuth-Clients.
Hintergrund
Ephemere Vorschauumgebungen sind ein Standardfeature in Managed-Hosting-Plattformen wie Vercel oder Netlify. Sie ermöglichen es Teams, funktionierende Versionen einer Anwendung für jede Codeänderung zu teilen. Allerdings binden diese Dienste Nutzer oft an spezifische Frameworks, berechnen Gebühren basierend auf der Nutzung und speichern Daten auf Servern Dritter. Für Organisationen, die aufgrund von Compliance-, Kosten- oder technischen Präferenzen selbst hosten, erfordert die Replikation dieses Workflows traditionell erheblichen DevOps-Aufwand. Das Einrichten von dynamischem DNS, die Verwaltung von SSL-Zertifikaten für Hunderte temporärer Subdomains und die Orchestrierung von Container-Lebenszyklen verlangen normalerweise einen Kubernetes-Cluster oder komplexe eigene Skripting-Lösungen.
Gangway vereinfacht dies durch die Nutzung vorhandener Docker Compose-Funktionen und einer leichtgewichtigen Proxy-Architektur. Es verwendet SQLite als Zustandsdatenbank, um zu verfolgen, welche Container welchen URLs entsprechen. Durch das Dispatchen von Anfragen basierend auf dem HTTP-Host-Header leitet es den Traffic zum richtigen Container weiter, ohne dass ein schwerer Service Mesh benötigt wird. Dieser Ansatz macht es kleinen Teams oder einzelnen Entwicklern möglich, eine "Preview-as-a-Service"-Plattform auf einer einzigen virtuellen Maschine oder einem Bare-Metal-Server zu betreiben.
Warum es wichtig ist
Für Teams, die ihre eigene Software betreiben, reduziert gangway die Reibung zwischen Entwicklung und Review. Anstatt Kollegen zu bitten, Branches lokal zu ziehen oder auf einen gemeinsamen Staging-Server bereitzustellen, wo Änderungen möglicherweise Konflikte verursachen, können Entwickler eine eindeutige, isolierte URL teilen. Dies ist besonders wertvoll für Frontend-Arbeit, bei der visuelles Feedback kritisch ist, oder für KI-generierte Artefakte wie Diagramme und Dokumente, die sofort geteilt werden müssen. Die Fähigkeit, vollständige Stacks mit Datenbanken hochzufahren, bedeutet, dass auch Backend-Änderungen im Kontext überprüft werden können, was das Produktionsverhalten genauer widerspiegelt als statische Vorschauen.
Die Integration mit KI-Agenten über MCP adressiert ein wachsendes Workflow-Muster. Da Entwickler Tools wie Claude Code oder Cursor nutzen, um Code und Artefakte zu generieren, bietet gangway ein natives Ziel für diese Ausgaben. Ein Agent kann ein generiertes Dashboard oder einen Prototyp bereitstellen und sofort eine Live-URL zurückgeben. Dies überbrückt die Lücke zwischen lokaler KI-Unterstützung und kollaborativem Review und stellt sicher, dass KI-generierte Arbeiten für menschliche Teammitglieder ohne manuelle Upload-Schritte oder temporäre Dateifreigabedienste leicht zugänglich sind.
Sicherheit und Ressourcenmanagement werden ebenfalls praktisch gehandhabt. Durch das Erzwingen strenger Container-Limits und die Isolierung der Vorschauen vom Host-System mildert das Tool Risiken im Zusammenhang mit dem Ausführen nicht vertrauenswürdigen Codes oder externer Beiträge. Die automatische Bereinigung inaktiver Vorschauen verhindert Ressourcenlecks, ein häufiges Problem, wenn Teams temporäre Umgebungen manuell verwalten. Diese Automatisierung ermöglicht es IT-Leads, entwicklerfreundliche Funktionen bereitzustellen, ohne die operative Belastung für Sysadmins zu erhöhen.
Was Sie tun können
- Lokal testen: Installieren Sie gangway auf einem Laptop unter Verwendung des Flags
--local, um Vorschauen aufpreview.localhostzu erstellen, ohne dass eine öffentliche Domain oder DNS-Konfiguration erforderlich ist. - DNS konfigurieren: Richten Sie einen Wildcard-DNS-Eintrag ein (z. B.
*.preview.example.com), der auf die IP-Adresse Ihres Servers zeigt, um öffentlich zugängliche Vorschauen zu aktivieren. - Mit GitHub integrieren: Nutzen Sie den One-Click-Flow zur Erstellung einer GitHub App, um Repositories zu verbinden und automatische Vorschau-Bereitstellungen für jeden Pull Request zu aktivieren.
- KI-Agenten verbinden: Befolgen Sie die bereitgestellten Setup-Anweisungen für Claude Code, Cursor oder VS Code, damit KI-Tools Artefakte direkt auf Ihre gangway-Instanz bereitstellen können.
- Zugang sichern: Überprüfen Sie die Sicherheitsdokumentation, um Netzwerkbeschränkungen zu konfigurieren, Passwortschutz für sensible Vorschauen einzurichten und API-Token-Berechtigungen zu verwalten.
- Ressourcen überwachen: Passen Sie Speicher- und CPU-Limits in den Umgebungsvariablen an, um sicherzustellen, dass Vorschauen keine übermäßigen Ressourcen auf Ihrem Hostserver verbrauchen.



