>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
TypeScript

So deployen Sie ein Projekt, ohne am YAML-Konfigurationswahn zu verzweifeln

Sie kennen das Gefühl: Den Code schreibt man in ein paar Stunden, aber die Deployment-Umgebung einzurichten zieht sich über zwei Tage hin. Erst kämpft man mit der Dockerfile, dann versucht man sich zu erinnern, wie man SSL-Zertifikate durch Let's Encrypt leitet, und am Ende stellt man fest, dass die Datenbank den Backend-Service im gemeinsamen Netzwerk nicht finden kann. Es entsteht der Eindruck, dass die Einstiegshürde für „einfach ein Hobbyprojekt deployen" unangemessen hoch geworden ist.

Ich bin kürzlich auf Openship gestoßen. Es ist eine Open-Source-Plattform, die versucht, die Zeiten zurückzubringen, als Deployment einfach war, und dabei die volle Leistungsfähigkeit moderner Container behält. Im Wesentlichen ist es Ihr persönliches PaaS (Platform as a Service), das Sie auf einem beliebigen günstigen Server einrichten können.

Openship Dashboard

Was ist das überhaupt

Openship ist ein Tool für alle, die es leid sind, CI/CD-Pipelines manuell zu konfigurieren. Sie geben ihm einen Link zu einem Repository, und es erkennt automatisch, was darin steckt: Node.js, Go, Python oder das gute alte PHP. Das System baut, verpackt in einen Container und startet.

Im Gegensatz zu Vercel oder Heroku ist Openship vollständig selbstgehostet. Das bedeutet, Sie zahlen nicht für „Plattform-Ressourcen" — Sie nutzen die Leistung Ihrer eigenen Hardware. Und Sie können alles auf drei Arten verwalten: über eine Desktop-App, ein Web-Panel oder die vertraute CLI.

Was Openship attraktiv macht

Was mich überzeugt hat, ist, dass die Entwickler nicht einfach einen weiteren „Docker-Wrapper" gebaut haben — sie haben alles an einem Ort zusammengefasst, was Sie normalerweise separat konfigurieren müssen.

Erstens gibt es einen integrierten Mailserver. Wenn Sie jemals versucht haben, SMTP mit korrekten DKIM- und SPF-Einträgen einzurichten, damit Ihre E-Mails nicht im Spam landen, wissen Sie, was das für ein Albtraum ist. In Openship funktioniert das out of the box.

Zweitens die Domainverwaltung. Die Plattform automatisiert die Ausstellung von SSL-Zertifikaten und überwacht deren Erneuerung. Sie müssen sich nicht mehr in die Serverkonsole einloggen, um eine neue Subdomain hinzuzufügen.

Drittens die Datenbankverwaltung. Postgres, MongoDB oder Redis starten mit wenigen Klicks. Es gibt ein integriertes System für geplante Backups mit Wiederherstellung per Mausklick. Für kleine Projekte ohne dedizierten Admin ist das ein Segen.

Wie es in der Praxis aussieht

Die Installation dauert weniger als eine Minute. Wenn Sie einen sauberen Server mit Ubuntu oder einer anderen Linux-Distribution betreiben, führen Sie einfach dies in der Konsole aus:

npm i -g openship
openship up

Anschließend erwacht der Server zum Leben. Um Ihr Projekt zu deployen, navigieren Sie zu dessen Ordner auf Ihrem lokalen Rechner und geben ein:

openship init
openship deploy

Die Plattform erkennt automatisch, wie Ihre Anwendung gebaut werden muss. Wenn eine package.json im Stammverzeichnis liegt, wird ein Node.js-Build ausgeführt. Wenn eine docker-compose.yml vorhanden ist, nimmt Openship sie einfach „so wie sie ist". Das ist praktisch, wenn Sie bereits komplexe Container-Setups konfiguriert haben und diese nicht für ein neues Tool umschreiben möchten.

Wo ist also der Haken

Das Projekt befindet sich derzeit in aktiver Entwicklung. Wenn Sie die Dokumentation lesen, steht dort ehrlich: „Work in progress." Einige erweiterte Funktionen, wie ein visueller CI/CD-Pipeline-Editor oder komplexe Einstellungen für private Netzwerke zwischen Servern, sind noch nicht verfügbar — sie stehen auf der Roadmap.

Ein weiterer Punkt: Openship zieht bei der CLI-Installation ziemlich viele Abhängigkeiten, daher funktioniert es am besten in einer Docker-Umgebung. Glücklicherweise enthält das Repository eine fertige docker-compose.yml, um die gesamte Infrastruktur auf einmal schnell hochzufahren.

Für wen lohnt sich ein Test

Ich würde Openship zwei Kategorien von Personen empfehlen. Die erste sind Solo-Entwickler, die 5-10 kleine Projekte auf verschiedenen Stacks angesammelt haben. Sie alle auf einem Server zu halten, ohne sich in Nginx-Konfigurationen zu verlaufen, ist ziemlich herausfordernd. Openship verwandelt dies in eine organisierte Liste in einer übersichtlichen Oberfläche.

Die zweite Kategorie sind kleine Teams, die einen Staging-Server benötigen. Die Möglichkeit, schnell eine Vorschau-Umgebung für jeden Git-Branch hochzufahren, ohne komplexe GitHub Actions zu konfigurieren, ist ein sehr nettes Extra.

Für massive Enterprise-Cluster ist das Tool noch etwas zu früh, aber als Ersatz für benutzerdefinierte Deployment-Skripte bei mittelgroßen Projekten wirkt es sehr solide. Die Apache-2.0-Lizenz erlaubt die Verwendung in kommerziellen Produkten, ohne sich Sorgen machen zu müssen, dass morgen ein Abonnement-Rechnung im Postfach landet.

Insgesamt: Wenn Sie die Nase voll haben von YAML-Hölle und einfach nur „pushen und vergessen" wollen, ist Openship ein großartiger Kandidat für ein Wochenendprojekt, um Ihre Projekte in Ordnung zu bringen.

Ähnliche Projekte