Kostenloses Node.js-Hosting mit Heroku

Hosting für Node.js ist vor allem im deutschsprachigen Raum noch wenig verbreitet. Hier bietet das amerikanische Cloud-Unternehmen Heroku Abhilfe – und das sogar kostenlos. Dabei bemerkt man stets das Paradigma "Build apps... not infrastructure" und hat trotzdem kaum Einschränkungen. Wir setzen exemplarisch einen kleinen Cronjob auf Basis von PhantomJS um, der täglich eine Webseite scrapt und den Seitentitel per E-Mail versendet.


Dazu registrieren wir uns zunächst kostenlos unter https://signup.heroku.com/:

Kostenloses Node.js-Hosting mit Heroku

Nach der obligatorischen E-Mail-Bestätigung vergeben wir ein sicheres Passwort:

Kostenloses Node.js-Hosting mit Heroku

Um später kostenlose Add-Ons aus dem Marketplace nutzen zu können, müssen wir zunächst unter https://heroku.com/verify unseren Account durch Eingabe einer Kreditkarte verifizieren (keine Angst, es bleibt alles kostenlos):

Kostenloses Node.js-Hosting mit Heroku

Der Rest findet nun ausschließlich auf der Kommandozeile statt. Dazu benötigen wir lokal Node.js/npm, Git sowie Heroku CLI.

Kostenloses Node.js-Hosting mit Heroku

Wir loggen uns schließlich (einmalig) lokal bei Heroku auf der Kommandozeile ein:

Kostenloses Node.js-Hosting mit Heroku

Wir legen zunächst eine neue App auf Basis eines passenden Buildpacks an. Wir verwenden in unserem Beispiel das offizielle Node.js-Buildpack heroku-buildpack-nodejs.git:

1a01abaf4b9308c5714622396ccc4708

Nun legen wir eine package.json an, um die für unser Vorhaben benötigten Packages PhantomJS, CasperJS, SpookyJS sowie Nodemailer zu installieren:

1a01abaf4b9308c5714622396ccc4708

Die eigentliche Logik findet man in der script.js:

1a01abaf4b9308c5714622396ccc4708

Wir testen zunächst alles lokal:

1a01abaf4b9308c5714622396ccc4708

Das Script extrahiert einen Titel auf einer Webseite und versendet eine E-Mail:

Kostenloses Node.js-Hosting mit Heroku

Wir pushen nun alles auf Heroku, was auch den Build-Prozess auslöst:

1a01abaf4b9308c5714622396ccc4708

Will man später Code-Änderungen auf Heroku schieben, pusht man einfach erneut. Wir können nun einerseits per SSH prüfen, ob auf dem Server alles läuft:

1a01abaf4b9308c5714622396ccc4708

Auch hier wird die E-Mail korrekt versandt. Nun müssen wir lediglich den Prozess noch automatisieren:

1a01abaf4b9308c5714622396ccc4708

Wir fügen mit "Add new job" einen neuen Scriptaufruf hinzu:

Kostenloses Node.js-Hosting mit Heroku

Als Frequenz wählen wir testweise alle 10 Minuten und speichern ab:

Kostenloses Node.js-Hosting mit Heroku

Der Cronjob verrichtet nun zukünftig automatisch seinen Dienst.

Zurück