MongoHQ mit Heroku

Der Addon-Manager von Heroku ist großartig. Mit wenigen Clicks bekommt man Redis, MongoHQ, Monitoring Tools und vieles mehr was das Herz begehrt ohne großartigen Konfigurationsaufwand. Leider hat der Addon-Manager ein kleines Manko. Um ein Addon hinzufügen zu können, ist es notwendig, dass eine Kreditkarte hinterlegt wird.

Da ich eine Beispiel-Applikationen für ReactiveMongo und Play 2 unter einem Account veröffentlichen wollte, der für jeden Mitarbeiter der Firma zugänglich ist, ist es verständlich, dass ich meine Kreditkartendaten nicht hinterlegen wollte. Die böse Überraschung, dass auf meiner Kreditkarte auf einmal mehrere hundert Euro auftauchen, weil ein kostenpflichtiges Addon oder weitere Dynos hinzugefügt wurden, wollte ich mir verständlicherweise ersparen.

Für meine Beispiel-Applikation brauchte ich jedoch eine MongoDB Instanz. Und da ich selbst keinen Server zur Hand habe, lag es nahe den Dienst von MongoHQ in Anspruch zunehmen. MongoHQ bietet ähnlich wie Heroku eine Developer Sandbox an, die zwar sehr klein, aber immerhin kostenlos ist. Genau das richtige für meinen Fall.

Was also tun? Wir umgehen einfach den exzellenten Addon-Manager von Heroku.

Wir erstellen uns auf compose.io einen Account für eine Developer Sandbox. Legen eine entsprechende Datenbank an. Erstellen einen Nutzer für die Datenbank und last but not least lassen Heroku wissen wo unsere MongoDB zu finden ist. Dies kann man entweder über das Heroku Dashboard oder über das Toolbelt machen.

Über das Dashboard

Wir öffnen das Dashboard und wählen die Applikation aus, die die MongoDB Instanz kennen soll. Gehen dort auf Settings und erstellen unter Config Variables eine Environment Variable. Ich habe sie MONGOHQ_URL genannt.

Über das Toolbelt

Über das Toolbelt ist es ebenso einfach. Nachdem wir die initialen Schritte wie etwa das Login oder das Erstellen der Heroku App durchgeführt haben. Legen wir noch eine Environment Variable an:

heroku config:set MONGOHQ_URL="mongodb://<user>:<password>@linus.mongohq.com:10012/<db>"

Zu guter Letzt sagen wir unsere Applikation noch, dass diese Environment Variable genutzt werden soll und schon haben wir eine Heroku Applikation mit einer MongoDB Instanz.

Teilen Sie diesen Beitrag

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert