Ruby
Deploy a Ruby or Rails app on DockHosting.
DockHosting detects a Ruby project from a Gemfile at the repository root, installs dependencies with Bundler, and starts your app.
Requirements
GemfileandGemfile.lock(committed, not gitignored) at the repository root- For Rails, a production-ready app server —
pumais the default and works out of the box in a standard Rails app - Your app bound to
0.0.0.0and reading thePORTenvironment variable
Rails
Rails' default Puma configuration already reads PORT from the environment (config/puma.rb typically has port ENV.fetch("PORT") { 3000 }) — if yours was customized away from that default, point it back at ENV["PORT"].
Run migrations against your attached database before or during your first deploy:
RAILS_ENV=production bundle exec rails db:migratePrecompile assets as part of your build if your app serves them itself:
RAILS_ENV=production bundle exec rails assets:precompileDatabases
Rails' database.yml reads a DATABASE_URL environment variable directly when one is set — DockHosting's injected connection string for an attached database works without further config for Postgres or MySQL. For Redis (Sidekiq, ActionCable), point the client config at the injected Redis URL the same way.
Background jobs
Sidekiq, Delayed Job, and similar workers are long-running processes, not request handlers — see the note on long-running processes in Deploying → Node.js; run them as their own always-on project rather than inside the web app's container.