Token-Verkäufe (ICO)

Effiziente Bereitstellung einer Vapor App auf einem Ubuntu Server mit Dokku

Token-Verkäufe (ICO)
Deploying a Vapor app on an Ubuntu server with Dokku

Eine umfassende Anleitung zur erfolgreichen Bereitstellung von Vapor-Anwendungen auf einem Ubuntu Server mithilfe von Dokku. Erfahren Sie, wie Sie Ihr Swift-Backend effizient deployen, HTTPS integrieren und typische Stolpersteine vermeiden.

Die Softwareentwicklung befindet sich in einem ständigen Wandel, und gerade bei Backend-Lösungen ist es essenziell, moderne und skalierbare Ansätze zu wählen, um den Anforderungen heutiger Anwendungen gerecht zu werden. Vapor, ein auf Swift basierendes Web-Framework, hat sich in den letzten Jahren als vielversprechende Alternative für Swift-Entwickler etabliert, die ihre Fähigkeiten auch auf der Server-Seite ausspielen möchten. Wenn Sie darüber nachdenken, eine Vapor-App selbst zu hosten, bietet die Kombination aus einem Ubuntu Server und dem Open-Source-PaaS-Tool Dokku eine praktische und kosteneffiziente Möglichkeit. Dabei gilt es jedoch einige wichtige technische Details zu beachten, um Ihr Vapor-Projekt erfolgreich ins Netz zu bringen und optimal abzusichern. Ein häufig unterschätzter Faktor bei der Backend-Entwicklung ist die Wahl des Frameworks und der Tools, die einem die tägliche Arbeit erleichtern.

Swift ist dank seiner modernen Syntax und Performanz insbesondere in der iOS-Welt beliebt, doch mit Vapor kann man diese Stärken auf den Server übertragen. Die Arbeit mit Vapor fühlt sich für Swift-Entwickler vertraut an und hilft dabei, sich schnell in Backend-Konzepte einzuarbeiten, ohne die gewohnte Sprache verlassen zu müssen. Doch die Bereitstellung einer solchen App erfordert mehr als nur das Schreiben von Code. Ein stabiler Hosting-Stack und korrekte Konfigurationsschritte sind der Schlüssel zum Erfolg. Dokku, oft als „Mini-Heroku“ bezeichnet, ist ein leichtgewichtiges Platform-as-a-Service-Tool, das sich hervorragend für das Deployment kleiner bis mittelgroßer Projekte eignet.

Auf einem Ubuntu Server installiert, verwandelt Dokku diesen in eine komfortable Umgebung, in der sich Anwendungen mit Git-Push-Befehlen deployen lassen. Diese Automatisierung erleichtert Entwicklern die Veröffentlichung neuer Versionen erheblich, ohne sich mit komplexen Serveradministrationen auseinandersetzen zu müssen. Für Vapor-Anwendungen liegt hierin ein großer Vorteil: Man kann die Swift-App wie gewohnt lokal entwickeln und dank Git einfach auf den Server übertragen. Der Startpunkt für jede Vapor-App ist das Anlegen eines neuen Projekts. Mit dem Vapor CLI kann man in wenigen Momenten eine Projektstruktur erzeugen, die alle notwendigen Bibliotheken und Dateien enthält.

Dabei ist es wichtig, vom Start weg die passenden Komponenten auszuwählen. In vielen Fällen benötigen Vapor-Apps keine umfangreiche Datenbankanbindung, wenn der Fokus auf einer schnellen, responsiven Webseite oder API liegt. Das Hinzufügen des Template-Engines Leaf ermöglicht es hingegen, ansprechende HTML-Views zu erstellen, die Server-seitig gerendert werden. Ein einheitliches Entwicklungs-Setup erleichtert nachfolgend auch das Problembehandeln beim Deployment. Beim lokalen Testlauf der Vapor-App ist sicherzustellen, dass die Anwendung unabhängig läuft und alle Routen erwartungsgemäß reagieren.

Ein einfacher Curl-Befehl gegen die definierte Endpoint-URL ist eine valide Kontrollmethode. Wenn die lokale Instanz den HTTP-Request erfolgreich bedient, ist der nächste Schritt das Einrichten der Anwendung auf dem Ubuntu Server via Dokku. Der Server muss zunächst vorbereitet werden. Dokku wird auf dem Ubuntu-System eingerichtet und anschließend eine neue Anwendung via Befehl in Dokku erstellt. Ebenso wichtig ist die Anbindung des lokalen Git-Repositories an den Server, sodass ein Git-Push die Anwendung transferiert.

Viele denken, damit sei der Deployment-Prozess abgeschlossen, doch oft ist dem nicht so, wenn man die App über das Internet sicher zugänglich machen möchte. Ein zentrales Thema bei der Bereitstellung moderner Web-Anwendungen ist die Verschlüsselung mittels HTTPS. Ohne diese ist der Datenverkehr per HTTP ungeschützt, was nicht nur Sicherheitsrisiken birgt, sondern auch durch neuere Browser zunehmend als unsicher markiert wird. Dokku bietet eine Lösung über ein Let's-Encrypt-Plugin, welches Zertifikate automatisch für Ihre Domain anfordert und installiert. Voraussetzung dafür ist, dass eine gültige E-Mail-Adresse als Konfiguration hinterlegt ist, um die Zertifikaterstellung freizugeben.

Allerdings stößt man hier auf Stolpersteine: Der häufigste Fehler beim Zertifikatsantrag resultiert aus einer falschen Port-Konfiguration im Dokku-Setup. Da Docker-Container, in denen die Vapor-App läuft, normalerweise bestimmte Ports exposen, muss der Webserver auf dem Host richtig angegeben werden, damit Anfragen auf Port 80 (HTTP) und 443 (HTTPS) ordnungsgemäß weitergeleitet werden. Ohne diese korrekte Proxy-Port-Zuordnung kann die Let's-Encrypt-Challenge nicht abgeschlossen werden, da die Validierungsanfragen nicht ordentlich beim Container ankommen. Eine Lösung ist, vorhandene fehlerhafte Port-Weiterleitungen zu entfernen und gezielt die Weiterleitung von Port 80 auf den internen Vapor Port 8080 einzurichten sowie das gleiche für HTTPS-Port 443 zu konfigurieren. Dies bedeutet, dass http-Anfragen auf Port 80 vom Server an den Vapor-Container auf Port 8080 weitergereicht werden und für verschlüsselte Verbindungen Vergleichbares auf Port 443 geschieht.

Erst dann kann das Let's-Encrypt-Plugin seine Aufgabe voll erfüllen und Ihnen ein Zertifikat bereitstellen. Neben dem offiziellen Heroku-Style Deployment bietet Dokku die Möglichkeit, sogenannte Buildpacks zu benutzen, die bestimmte Umgebungen bei der Kompilierung einrichten und anpassen. Für Vapor-Apps gibt es ein spezielles Swift Buildpack von Heroku, das bei veralteten Swift-Versionen Abhilfe schafft. Mit einer einfachen Konfigurationsdatei, die das Buildpack referenziert, kann man sicherstellen, dass das Deployment stets mit einer aktuellen, passenden Swift-Version erfolgt. Dies verbessert die Zuverlässigkeit und reduziert Fehler im Buildprozess.

Die Kombination aus Vapor, Ubuntu Server und Dokku zeigt, dass auch Swift-basierte Backend-Lösungen mittlerweile problemlos innerhalb einer modernen DevOps-Pipeline betrieben werden können. Zwar bedeutet die Nutzung neuer Frameworks und Werkzeuge einen anfänglichen Mehraufwand, da die Community und das Ökosystem noch wachsen, doch die Vorteile hinsichtlich Performance, Entwicklerzufriedenheit und eleganter Codebasis sind beträchtlich. Es ist wichtig, die Herausforderungen des Setups geduldig zu bewältigen und Vorbereitungen wie das korrekte Einrichten des Reverse Proxy und die Sicherstellung des Zertifikats sorgfältig durchzuführen. Mit fortschreitender Entwicklung im Vapor- und Dokku-Projekt wird sich der Deployment-Prozess weiter vereinfachen. Die Dokumentation und Community wachsen kontinuierlich, sodass Neulinge bald ohne große Hürden von den Vorteilen profitieren können.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
Short Ruby Newsletter – Edition 136
Samstag, 28. Juni 2025. Aktuelle Entwicklungen in der Ruby-Welt: Ein Überblick aus dem Short Ruby Newsletter Edition 136

Ein umfassender Überblick über die neuesten Updates, Tools und Diskussionen aus der Ruby-Community mit Fokus auf Ruby 3. 4.

 How to read a Bitcoin liquidation map (without getting liquidated)
Samstag, 28. Juni 2025. Bitcoin Liquidationskarten verstehen: So schützt du dich vor ungünstigen Liquidationen

Bitcoin Liquidationskarten sind essenzielle Werkzeuge im volatilen Markt des Kryptowährungshandels. Diese Karten helfen dabei, Liquidationszonen zu erkennen, die Positionen großer Trader zeigen, und können so dabei unterstützen, riskante Fehler zu vermeiden und klügere Handelsentscheidungen zu treffen.

Crypto White Paper vs Yellow Paper vs Beige Paper: Learning Difference
Samstag, 28. Juni 2025. Crypto White Paper vs Yellow Paper vs Beige Paper: Die entscheidenden Unterschiede verstehen

Eine umfassende Analyse der Unterschiede zwischen Crypto White Paper, Yellow Paper und Beige Paper und deren Bedeutung für Investoren, Entwickler und Entscheidungsträger in der Blockchain-Welt.

Here Are 5 Reasons Ethereum May Reach $12,000 In 2025 - Analyst
Samstag, 28. Juni 2025. Ethereum Prognose 2025: Warum der Kurs auf 12.000 US-Dollar steigen könnte

Ethereum steht im Fokus von Anlegern und Analysten weltweit. Die Kombination aus institutioneller Adoption, technischem Fortschritt und regulatorischen Entwicklungen macht Ethereum zu einem der spannendsten Kryptowährungsinvestments der kommenden Jahre.

Link Time Optimizations: New Way to Do Compiler Optimizations
Samstag, 28. Juni 2025. Link Time Optimizations: Ein neuer Weg zu effizienten Compiler-Optimierungen

Link Time Optimizations (LTO) revolutionieren die Art und Weise, wie Compiler Software optimieren, indem sie erweiterte Optimierungen während des Linkens ermöglichen. Diese innovative Technik sorgt für schnellere, kleinere und besser performende Programme, obwohl sie auch Herausforderungen wie längere Kompilierzeiten mit sich bringt.

Demystifying Ruby (2/3): Objects, Objects everywhere
Samstag, 28. Juni 2025. Ruby verstehen: Die Welt der Objekte und Metaprogrammierung entdecken

Ein umfassender Einblick in Rubys objektorientierte Struktur, der erklärt, warum in Ruby alles ein Objekt ist, wie Objekte verwaltet werden und wie Metaprogrammierung die Sprache extrem flexibel macht.

Show HN: Hsdlib – A C Library for Vector Similarity with SIMD Acceleration
Samstag, 28. Juni 2025. Hsdlib: Die Revolution der Vektorähnlichkeit durch SIMD-beschleunigte C-Bibliothek

Eine eingehende Betrachtung von Hsdlib, der leistungsstarken C-Bibliothek zur Berechnung von Vektordistanzen und Ähnlichkeiten durch modernste SIMD-Beschleunigungstechnologie, und ihre Bedeutung für Entwickler und Datenwissenschaftler.