# Configure Ruby on TurboStack

Enable the Ruby runtime on an application, choose its version, and optionally add a startup command and Sidekiq background workers.

![The Ruby panel under Configure application > Technologies, enabled, showing the version selector, the startup command and the Sidekiq toggle|1000](../../assets/screenshots/technologies/ruby.png)

## Where to configure it

The Ruby runtime is configured per application. In the TurboStack Platform, open an application and go to **Configure application > Technologies > Ruby**. From there you enable Ruby, select the version, and set how the application starts.

Ruby applications are published with the Nginx reverse proxy: your app listens on a local port and Nginx forwards public traffic to it. See [Configure the reverse proxy](../reverse-proxy/configure.md) for that part.

## YAML configuration

### Required

| Key | Meaning |
| --- | --- |
| `ruby_version` | The Ruby major version to install, for example `"3.3"` (or newer). Setting this key is what enables the Ruby runtime for the application; there is no separate enable key. |

### Optional

| Key | Meaning |
| --- | --- |
| `ruby_start_cmd` | The command used to start your Ruby application. |
| `ruby_sidekiq` | Enables a Sidekiq background-job worker alongside your app. |
| `ruby_sidekiq_cmd` | The command used to start the Sidekiq worker. |

```yaml
ruby_version: "3.3"
ruby_start_cmd: "bundle exec puma -p 3000"

# Optional background-job processing
ruby_sidekiq: true
ruby_sidekiq_cmd: "bundle exec sidekiq"
```

## Related

- [What is Ruby?](what-is.md)
- [Configure the reverse proxy](../reverse-proxy/configure.md)
- [Applications overview](../../applications/index.md)
