Render natively supports Node.js, Python, Ruby, Go, Rust, and Elixir. While creating a service, just link your GitHub or GitLab repo, choose the runtime for your language, and specify a branch to deploy.
Plus, you can use virtually any programming language if you deploy your code as a Docker image.
By default, each Render runtime uses a recent, actively supported version of its associated language (listed in the table below).
However, we still recommend setting a language version for your service. Doing so helps you ensure consistent behavior between Render and your other environments (such as development).
See the table to learn how to set your language version:
|How to Set a Version
For additional options, see Setting Your Node.js Version.
For details, see Setting Your Python Version.
For details, see Setting Your Ruby Version.
Render’s native Go environment always uses the latest stable Go
For details, see Specifying a Rust Toolchain.
If you don’t set
For details, see Setting Your Elixir and Erlang Versions.
To use any language besides those listed above, deploy your code as a Docker image.
*Render updates the default version for each language over time.
With the exception of Go and Rust, a particular service’s default language version depends on when that service was first created. For details, see the version documentation for your language (linked from the table above).
When you deploy a Docker image on Render, it can use virtually any programming language and framework. This is true regardless of whether you:
Learn more about Docker versus native runtimes.