special sponsors
Ruby
Ruby A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
You can easily add it to your Lando app by adding an entry to the services top-level config in your Landofile.
Supported versions
Legacy versions
You can still run these versions with Lando but for all intents and purposes they should be considered deprecated (e.g. YMMV and do not expect a ton of support if you have an issue).
Patch versions
Not officially supported!
While we allow users to specify patch versions for this service, they are not officially supported, so if you use one, YMMV.
To use a patch version, you can do something as shown below:
services:
myservice:
type: ruby:2.5.3
But make sure you use one of the available patch tags for the underlying image we are using.
Configuration
Here are the configuration options, set to the default values, for this service. If you are unsure about where this goes or what this means, we highly recommend scanning the services documentation to get a good handle on how the magicks work.
Also note that the options, in addition to the build steps and overrides that are available to every service, are shown below:
services:
myservice:
type: ruby:2.5
port: 80
command: tail -f /dev/null
Specifying a command
Note that if you do not define a command
for this service, it will effectively be a "cli" container (e.g. it will not serve or run an application by default but will be available to run ruby
commands against).
If you want to actually launch a ruby
application, consider setting the command
to something as shown below:
services:
myservice:
type: ruby
command: ruby /app/my-server.rb
Setting a port
While we assume your ruby
service is running on port 80
, we recognize that many ruby
apps also run on port 8080
or otherwise. You can easily change our default to match whatever your app needs.
services:
myservice:
type: ruby
port: 8080
Path Considerations
Lando will set the PATH
hierarchy for this service as follows:
[
'/usr/local/sbin',
'/usr/local/bin',
'/usr/local/bundle/bin',
'/usr/sbin',
'/usr/bin',
'/sbin',
'/bin',
]
This is useful to note if you are not using absolute paths in any tooling routes and are getting the unexpected version of a particular utility.