Overview
Better-PaaS can deploy Ruby on Rails projects from a Git repository or Docker image. The platform builds the app, runs it in a container, routes traffic through Caddy, and gives you logs, env vars, domains, databases, and rollbacks from the dashboard.
What Better-PaaS expects
Ruby on Rails projects should have a clear build and start path. For this stack, the common shape is Ruby web applications with database migrations. If Nixpacks does not detect the project correctly, use explicit build/start commands or a Dockerfile.
Deployment steps
Connect the repository, choose the branch, set environment variables, attach any database, deploy, then verify the app responds on the platform-provided port. Better-PaaS will handle container lifecycle and HTTPS routing after the app is healthy.
- Connect Git repository
- Set build and runtime variables
- Add Postgres, Redis, or MySQL if needed
- Deploy and inspect logs
- Add domain and verify HTTPS
Common mistakes
The most common issue is hard-coding a port instead of listening on the provided PORT variable. Build failures usually come from missing lockfiles, missing scripts, or framework detection that needs a custom Dockerfile.
Rails on Docker/Nixpacks
Run rails db:migrate in release phase or manually after first deploy. Asset precompilation needs SECRET_KEY_BASE set.
- Add Postgres add-on before first migrate
- Set RAILS_ENV=production and SECRET_KEY_BASE
- Use bundle exec puma as start command if auto-detection fails
FAQ
Can Better-PaaS deploy Ruby on Rails from Git?
Yes, when the repository can be built by Nixpacks or by a Dockerfile you provide.
Can Ruby on Rails apps use databases?
Yes. Better-PaaS can provision Postgres, Redis, and MySQL containers and inject connection variables into apps.