Prerequisites
- A Git repository containing your application and its production build command.
- A Ravion account with your AWS account connected. Start free at Ravion signup.
- The Ravion CLI installed and authenticated. See CLI installation.
my-org/my-app as a placeholder. Replace it with your repository before applying the config.
Set up this Rails app for Ravion ECS hosting.
Configure the deployment
Rails binds to localhost by default, so the production command must bind to0.0.0.0.
This example uses Railpack for the build. Use build_source: dockerfile instead when you need a custom Dockerfile. Railpack detects Rails from the application files.
Railpack detects Rails through Gemfile and config/application.rb. It reads the Ruby version from .ruby-version, Gemfile, or mise files, installs Node when frontend tooling requires it, precompiles assets and Bootsnap, and configures common native dependencies. Set the production start command to bin/rails server -e production -b 0.0.0.0 when your repository does not provide one. Ravion injects PORT automatically from container_port.
ravion.yaml
RAILS_MASTER_KEY, SECRET_KEY_BASE, and DATABASE_URL as runtime secrets. Populate the database secret from the RDS outputs before applying the service.
Apply and connect your domain
Next steps
Custom domains
Point a domain at your deployed service and manage its certificate.
Project config
Preview and apply Ravion configuration from source control.
Pipelines
Add approvals, migrations, and deployment automation.
Logs and metrics
Inspect deploy output and production health in Ravion.