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, 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:

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 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:

source "https://rubygems.org"

Recipes

Minimal amverum.yml file

meta:
  environment: ruby
  toolchain:
    name: bundle
    version: 3.0

run:
  mainScript: WebService.rb