Ruby
Herkend aan een Gemfile. Bundler installeert gems zonder de groepen development en test.
Stapsgewijze deployhandleidingen: Ruby, Ruby on Rails.
Zie Buildpacksvoor hoe detectie en het versiebeleid werken. Een project dat ook package.json heeft, krijgt Node.jsin dezelfde build (Rails met een JS-pipeline).
Detectie
Gemfile in de Base directory.
Versies
Standaard is Ruby 3.4. Beschikbare versielijnen in september 2026: 3.3, 3.4, 4.0. Je krijgt de nieuwste patch van de gevraagde minorversie.
Vastzetten, in deze volgorde:
.ruby-version(een prefixruby-wordt verwijderd)- Een regel
ruby "3.4.10"in de Gemfile (volledigex.y.z)
Bundler komt uit de sectie BUNDLED WITH in Gemfile.lock. Ontbreekt die, dan gebruikt de builder zijn vastgezette versie: Bundler 2 voor Ruby 3, Bundler 4 voor Ruby 4.
Installatie en build
bundle install met BUNDLE_WITHOUT=development:test, in deploymentmodus als er een Gemfile.lock is (zonder lockfile bepaalt Bundler de gemversies tijdens de build). Rails-apps (config/environment.rb) voeren rake assets:precompile uit als die taak bestaat. Bij het precompileren gebruikt Nodion RAILS_ENV=production en SECRET_KEY_BASE_DUMMY=1.
Standaard bij het opstarten: RAILS_ENV en RACK_ENV op production, logs naar stdout en RAILS_SERVE_STATIC_FILES=enabled.
Startcommando
config/puma.rb:bundle exec puma -C config/puma.rbconfig.ru:bundle exec rackup config.ru -p $PORT(5000 alsPORTniet is ingesteld)- Anders:
bundle exec ruby app.rb
Laat Puma of Rack luisteren op PORT. Overschrijf dit met een Procfile.