# Ruby (Rails) This configuration is suitable if the project is built using Ruby. You can write the yaml file yourself using the instructions below, or use our yaml generator by following the [link](https://manifest.amverum.ru/), or fill it out in the "Configuration" section of your personal account. ## Meta Section The `meta` section of the `amverum.yml` file will look like this: ``` yaml meta: environment: ruby toolchain: name: bundle version: 3.0 ``` The only parameter that can be changed here is `meta.toolchain.version`. Logically, this is the version of Ruby that should be used for the build. Technically, the value of `version` is substituted into the name of the Docker image that will be used. For the build and run phase, this is `ruby:${meta.toolchain.version}`. The valid values can be seen on the [docker hub] page.(https://hub.docker.com/). > ##### Important > > The value of `meta.toolchain.version` must be valid for both the build and run phases. A simple LTS Ruby version number is best. ## Section build The following parameters can be specified in the `build` section: - `image` The `image` parameter allows you to use a different image for the build, not the one offered by Amverum. The image must meet the following requirements: - the source code for the build is expected in the /app folder (or image, no matter where the source code is located); ## Section run The following parameters can be used in the `run` section: - `image` - `mainScript` - `persistenceMount` - `containerPort` The `image` parameter allows you to use a different image for the build, not the one offered by Amverum. The image must meet the following requirements: - the build result is expected in the /app folder (or an image, no matter where the build result is located); The `mainScript` parameter allows you to specify the main script in the project, with the extension. The `persistenceMount` parameter allows you to specify in which directory the folder with [persistent storage](../storage.md#data) will be mounted. By default, it is set to `/data`. The `containerPort` parameter allows you to specify which port the application listens to. By default, it is set to `80`. ## Important If you are using plain Ruby, without any frameworks. You need to add a file to your project called `Gemfile`, in which you add a minimal configuration. The contents of `Gemfile`: ```yaml source "https://rubygems.org" ``` ## Recipes ### Minimal amverum.yml file ``` yaml meta: environment: ruby toolchain: name: bundle version: 3.0 run: mainScript: WebService.rb ```