DockHosting Docs
Deploying

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

  • Gemfile and Gemfile.lock (committed, not gitignored) at the repository root
  • For Rails, a production-ready app server — puma is the default and works out of the box in a standard Rails app
  • Your app bound to 0.0.0.0 and reading the PORT environment 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:migrate

Precompile assets as part of your build if your app serves them itself:

RAILS_ENV=production bundle exec rails assets:precompile

Databases

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.

On this page