Framework Frankfurt, Deutschland
Rails 7.1 und neuer erzeugen ein Dockerfile, und Nodion baut deine App damit: Ruby, Gems, JavaScript-Bundling und assets:precompile laufen so, wie Rails es eingerichtet hat. Apps mit Importmap und ohne package.json können stattdessen das Ruby-Buildpack nutzen, das die Assets precompiliert und Puma startet. In beiden Fällen laufen App und PostgreSQL-Datenbank in Frankfurt.
config/puma.rb (Buildpacks)/up, eingebaut ab Rails 7.1RAILS_MASTER_KEY mit dem Inhalt von config/master.key als Secret an. Für Dockerfile-Apps setzt Nodion kein PORT: Der Server lauscht auf dem Port des Web-Prozesses, den das Formular aus EXPOSE übernimmt. Rails 7.1 und 7.2 nutzen Port 3000 für Puma. Rails 8 nutzt Port 80 für Thruster, der vor Puma läuft; das Image läuft als Nicht-Root-User, setz also HTTP_PORT=8080 und trag auf dem Tab Processes 8080 als Port des Web-Prozesses ein. DATABASE_URL, die beim nächsten Deploy ankommt. Das generierte bin/docker-entrypoint führt vor dem Start des Rails-Servers bin/rails db:prepare aus, offene Migrationen laufen also, wenn die neue Version hochfährt. Alternativ setzt du ./bin/rails db:migrate als Release Command der App (API-Feld release_command, siehe Docker-Guide); der läuft bei jedem Deploy einmal, bevor die neue Version startet. /up mit 200, sobald die App gebootet ist; trag den Pfad in den App-Einstellungen als Health-Check-Pfad ein. Nodion ruft jede Instanz mit ihrer internen IP als Host auf. Setzt du config.hosts, nimm /up von der Host-Prüfung aus, sonst geht das Release nie live. config/environments/production.rb config.hosts << "www.example.com"
config.host_authorization = { exclude: ->(request) { request.path == "/up" } } package.json kann beim Anlegen stattdessen Buildpacks wählen. Nodion führt dann bundle install ohne Development- und Test-Gems aus, dazu assets:precompile mit RAILS_ENV=production und SECRET_KEY_BASE_DUMMY=1, startet Puma mit config/puma.rb auf PORT und setzt RAILS_SERVE_STATIC_FILES und RAILS_LOG_TO_STDOUT. Migrationen laufen über eine Procfile: Procfile release: bin/rails db:migrate worker: bin/jobs (Solid Queue) oder worker: bundle exec sidekiq und eine ausdrückliche Zeile web: bundle exec puma -C config/puma.rb; 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. Beim Dockerfile gibst du diesem Prozess direkt den Befehl ./bin/jobs oder bundle exec sidekiq. Valkey in derselben Region liefert Sidekiq die REDIS_URL.config/database.yml für Production zusätzlich die Datenbanken cache, queue und cable, und DATABASE_URL setzt nur die primäre. Gib den anderen vor dem ersten Deploy ebenfalls eine Verbindung oder entferne die, die deine App nicht nutzt.RUBY_VERSION im Dockerfile. Mit Buildpacks liest Nodion .ruby-version oder die ruby-Zeile im Gemfile und bietet 3.3, 3.4 (Standard) und 4.0.DATABASE_URL, REDIS_URL oder CLICKHOUSE_URL in die App. 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. Meist nicht. Setz RAILS_MASTER_KEY als Secret, prüf den Port des Web-Prozesses (und HTTP_PORT bei Rails 8) und nutze /up als Health-Check-Pfad.
Mit dem generierten Dockerfile führt bin/docker-entrypoint beim Start des Rails-Servers db:prepare aus. Mit Buildpacks ergänzt du eine Procfile um release: bin/rails db:migrate; die Zeile läuft bei jedem Build einmal, bevor die neue Version startet, und ein Fehler stoppt den Deploy.
Meist bekommt der Health Check eine 404 auf /, weil es keine Root-Route gibt, oder eine 403 von der Host-Prüfung. Trag /up als Health-Check-Pfad ein und nimm ihn von der Host-Prüfung aus. Bei Rails 8 mit Dockerfile prüf außerdem, ob der Port des Web-Prozesses zu HTTP_PORT passt.
Ja, über das Dockerfile: Der JavaScript-Build läuft in deinem Dockerfile, wie in dem, das Rails für jsbundling und cssbundling erzeugt. Der Buildpack-Weg ist für Importmap-Apps ohne package.json.
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.
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.
Eine App-Instanz gibt es ab 1 EUR im Monat. Das Setup im Kostenkasten kostet 5.50 EUR im Monat: App 4 EUR, PostgreSQL 1.50 EUR. Preise sind netto, Abrechnung pro Sekunde, größere Varianten oder mehr Instanzen wählst du jederzeit.
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.
Ja. Nodion ist ein deutsches Unternehmen mit Sitz in Stuttgart, der Support antwortet auf Deutsch und auf Englisch.
Bis zu 15 € Guthaben beim Registrieren.
oder per E-Mail
Produktnews, kein Spam. Jederzeit abbestellen.
Erfolgreich eingetragen.