branchway

Ruby hosten

Ruby-Anwendungen laufen über einen Rack-Server, meist Puma. Der Rest unterscheidet sich kaum von anderen Sprachen – die Fallstricke liegen bei nativen Abhängigkeiten.

Build und Startbefehl

Gebaut wird mit:

bundle install --without development test

Gestartet wird mit:

bundle exec puma -p $PORT -b tcp://0.0.0.0

Worauf du achten musst

  • Gemfile.lock gehört ins Repository. Ohne sie holt der Build andere Versionen als lokal.
  • Native Erweiterungen brauchen Bibliotheken im Abbild – nokogiri, pg und Bildverarbeitung sind die üblichen Kandidaten. Ein eigenes Dockerfile ist dann der klarere Weg.
  • Sidekiq als eigener Prozess, nicht im Webserver mitlaufen lassen.

Größe und Kosten

Empfohlen ist Größe M (1024 MB, 1 Kern) – im Dauerbetrieb rund 15,64 € im Monat. Abgerechnet wird sekundengenau, eine gestoppte App kostet nichts. Die Größe lässt sich jederzeit wechseln, die App startet dabei einmal neu. Alle Preise

Häufige Fragen

Brauche ich Rails?

Nein. Sinatra, Roda oder eine reine Rack-Anwendung laufen genauso – der Startbefehl ist derselbe.

Wie viele Puma-Arbeiter?

Bei kleinen Größen einer mit mehreren Threads. Mehrere Prozesse lohnen erst ab mehreren Kernen und kosten je Prozess Arbeitsspeicher.

Weiterlesen