Skip to content

Deploy Ruby on Rails

Deploy a Ruby on Rails app on Ownkube in minutes. Push your repo and Ownkube builds it and ships it, and you get a live URL with automatic TLS. Managed Postgres, logs, metrics, and one-click rollbacks come built in. No cloud account to start.

  • A Ruby on Rails app in a GitHub or GitLab repository
  • About five minutes
  1. Connect your repo

    Sign in at app.ownkube.io/login, open Settings, and connect the GitHub App (or GitLab) so Ownkube can reach your repository. Already have a prebuilt image in a registry? Point Ownkube at it instead. See Registries.

  2. Create a Web deployment

    From your dashboard, choose Create deployment, pick Web, and select your Rails repo. Ownkube builds it and pushes the image to a registry it manages for you.

  3. Set the port

    Rails serves on port 3000 through Puma by default. Set that as the port so traffic routes to your app. You can change it later in Settings.

  4. Add environment variables

    Set SECRET_KEY_BASE (or RAILS_MASTER_KEY if you use encrypted credentials), and add any other KEY=value pairs your app reads. Mark secrets with the Secret toggle. See Environment variables.

  5. Deploy

    Click Create deployment. The deployment page streams the build, then startup and health checks. When the status goes healthy, open the generated hostname on the Overview tab. Your Rails app is live, with TLS included.

Run rails db:migrate before your app serves traffic. Ownkube’s Jobs resource runs a container to completion, so a migration Job is the right place for db:migrate rather than running it at request time or on every container start.

Port 3000 and Puma

Rails serves on port 3000 through Puma by default. Set that as the port so Ownkube routes traffic to your app.

Production env vars

Set SECRET_KEY_BASE (or RAILS_MASTER_KEY) as a deployment environment variable before your first deploy.

Migrations as a Job

Run rails db:migrate as a Job before or alongside a deploy, instead of on every container start.

Bring your own Dockerfile

Want full control of the build? Add a Dockerfile to your repo and Ownkube uses it, reading the port from its EXPOSE line.

Need Postgres? Add a Database in one click and Ownkube injects the connection string as DATABASE_URL (plus PGHOST, PGUSER, and friends) into your app. Rails reads DATABASE_URL automatically when it’s set. See Databases.

Once you’re running, turn on autoscaling on CPU and memory, watch logs and metrics on every deployment, and roll back a bad deploy in one click.