Sprache Frankfurt, Deutschland

Ruby auf Nodion deployen

Nodion erkennt eine Ruby-App an ihrem Gemfile. Das Ruby-Buildpack installiert deine Gems mit der Bundler-Version aus dem Gemfile.lock und startet Puma, eine Rack-App über rackup oder deine app.rb. So laufen Sinatra und andere Rack-Apps in Frankfurt; für Rails gibt es einen eigenen Rails-Guide.

Auf Nodion deployen ›

ab 1 EUR / Monat

Bis zu 15 € Guthaben beim Registrieren

Erkannt an
Gemfile
Start
Puma mit config/puma.rb, sonst rackup mit config.ru, sonst ruby app.rb
Ruby
3.3, 3.4 (Standard), 4.0
Region
EU Central (Frankfurt)

Ruby Schritt für Schritt deployen

  1. Gemfile und Gemfile.lock committen Der Build führt bundle install ohne die Gruppen development und test aus, mit der Bundler-Version aus BUNDLED WITH im Gemfile.lock. Unter Rack 3 braucht eine config.ru-App zusätzlich das Gem rackup und einen Server wie Puma. Gemfile
    source "https://rubygems.org"
    
    gem "sinatra"
    gem "rackup"
    gem "puma"
  2. config.ru anlegen Mit einer config.ru und ohne config/puma.rb startet Nodion bundle exec rackup config.ru -p $PORT und setzt RACK_ENV=production. Eine kleine Sinatra-App passt direkt in die Datei: config.ru
    require "sinatra/base"
    
    class App < Sinatra::Base
      get "/" do
        "Hello from Frankfurt"
      end
    end
    
    run App
  3. App anlegen Lege im Dashboard eine Application aus deinem GitHub-, GitLab-, Bitbucket- oder Gitea-Repository an, wähle Branch und Region EU Central und lass die Build-Strategie auf Buildpacks. Nur Variablen mit dem Häkchen Build gibt es im Build, alle anderen nur zur Laufzeit. API-Keys und Passwörter markierst du als Secret.
  4. Datenbank anhängen und Migrationen ausführen Lege eine PostgreSQL- oder MySQL-Datenbank in derselben Region an und hänge sie auf dem Tab Environment an; die App bekommt beim nächsten Deploy DATABASE_URL. Eine release:-Zeile in einer Procfile läuft bei jedem Build einmal, bevor die neue Version startet, zum Beispiel für die Migrationen von sinatra-activerecord. Scheitert sie, bleibt die laufende Version live. Procfile
    release: bundle exec rake db:migrate

Gut zu wissen

  • Ruby-Version pinnenNodion liest .ruby-version, dann eine ruby-Zeile mit vollständiger Version im Gemfile; ohne beides bekommst du Ruby 3.4. Ruby 3.3 und 4.0 gibt es ebenfalls. Ohne BUNDLED WITH läuft Bundler 2 auf Ruby 3 und Bundler 4 auf Ruby 4.
  • Puma-Config oder eine einfache app.rbGibt es config/puma.rb, startet Nodion bundle exec puma -C config/puma.rb; bind Puma dort mit port ENV.fetch("PORT", 3000). Fehlen diese Datei und config.ru, startet Nodion bundle exec ruby app.rb, und das Skript muss selbst auf 0.0.0.0 und dem PORT lauschen, den Nodion setzt.
  • Sidekiq und andere WorkerErgänz die Procfile um worker: bundle exec sidekiq und eine ausdrückliche Zeile web: bundle exec rackup config.ru -p $PORT; ohne web:-Zeile wird der erste Procfile-Eintrag außer release: zum Standardbefehl. Dann legst du auf dem Tab Processes einen Prozess worker ohne Port an. Valkey in derselben Region liefert Sidekiq die REDIS_URL.

Was Nodion für dich betreibt

  • Deploys ohne Downtime Push auf deinen Branch und Nodion baut ein neues Release. Der Traffic wechselt erst, wenn die neuen Instanzen ihren Health Check bestehen; ein fehlgeschlagenes Release lässt das laufende stehen. Apps mit lokalem Volume starten stattdessen neu, weil die Disk zu einer Instanz gehört.
  • Datenbanken neben der App Managed PostgreSQL, pgvector, MySQL, Valkey und ClickHouse in derselben Region. Angehängte Datenbanken kommen als DATABASE_URL, REDIS_URL oder CLICKHOUSE_URL in die App.
  • Previews pro Pull Request Schalte Previews ein, und Pull Requests aus deinem Repository bekommen eine eigene App mit eigener URL und frischen, leeren Datenbanken, automatisch oder per Hand angelegt. Forks und Bot-Pull-Requests werden übersprungen.
  • Worker, Cron Jobs und Skalierung Worker laufen als weitere Prozesse derselben App, Jobs planst du auf dem Tab Cron, und jeden Prozess skalierst du auf bis zu 16 Instanzen.
  • Release-Schritt Mit Buildpacks läuft eine release:-Zeile in der Procfile bei jedem neuen Build. Dockerfile-Apps sowie Redeploys und Rollbacks auf ein früheres Image nutzen einen Release Command, der an der App selbst gesetzt ist; er hat auch Vorrang vor der Procfile-Zeile. Bei statischen Sites läuft ein Release-Schritt in einem Image, das nur die gebauten Dateien enthält.
  • Logs und Metriken Build-, Release- und Laufzeit-Logs sowie CPU-, Speicher-, Disk- und Netzwerk-Metriken für jede Instanz im Dashboard.
  • Domains und HTTPS Ein Default-Hostname mit HTTPS ab dem ersten Deploy; deine eigenen Domains bekommen automatisch Zertifikate.

Weiterlesen

Ruby auf Nodion: Fragen und Antworten

Läuft Sinatra ohne Dockerfile?

Ja. Mit Gemfile und config.ru installiert das Ruby-Buildpack deine Gems und startet die App mit rackup auf dem Port, den Nodion setzt. Für Rack 3 nimmst du die Gems rackup und puma dazu.

Welche Ruby-Versionen kann ich nutzen?

Ruby 3.3, 3.4 und 4.0, Standard ist 3.4. Pinne eine davon in .ruby-version oder im Gemfile; Bundler läuft in der Version aus deinem Gemfile.lock.

Kann ich JavaScript-Assets neben dem Gemfile bauen?

Nimm dafür ein Dockerfile: Liegt eines im Repository, wählt das Formular beim Anlegen die Dockerfile-Strategie, und dein Dockerfile übernimmt den ganzen Build. Für Rails siehe den Rails-Guide.

Wo läuft meine Ruby-App?

In der Region EU Central in Frankfurt. Build, Registry, die App und ihre Datenbanken, Volumes, Buckets, Logs und Metriken bleiben in dieser Region, API und Control Plane von Nodion werden in Deutschland gehostet. Die Nodion GmbH hat ihren Sitz in Stuttgart.

Kann ich Ruby DSGVO-konform betreiben?

Nodion schafft die Voraussetzungen dafür: Die Nodion GmbH hat ihren Sitz in Stuttgart, in der Region Frankfurt laufen App, Datenbanken und Volumes in Deutschland, und den Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO schließt du im Dashboard elektronisch ab. Ob dein Einsatz DSGVO-konform ist, hängt auch davon ab, wie du die App konfigurierst und nutzt.

Was kostet Ruby-Hosting auf Nodion?

Eine App-Instanz gibt es ab 1 EUR im Monat. Das Setup im Kostenkasten kostet 2 EUR im Monat: App 2 EUR. Preise sind netto, Abrechnung pro Sekunde, größere Varianten oder mehr Instanzen wählst du jederzeit.

Kann ich eine eigene Domain für meine Ruby-App nutzen?

Ja. Jede App bekommt einen Default-Hostnamen mit HTTPS. Deine eigene Domain nimmst du auf dem Tab Domains dazu, das TLS-Zertifikat wird automatisch ausgestellt und erneuert.

Gibt es Support auf Deutsch?

Ja. Nodion ist ein deutsches Unternehmen mit Sitz in Stuttgart, der Support antwortet auf Deutsch und auf Englisch.

Gib deinem Agenten eine Cloud.

Bis zu 15 € Guthaben beim Registrieren.

Weiter mit GitHub

oder per E-Mail

Bleib auf dem Laufenden.

Produktnews, kein Spam. Jederzeit abbestellen.