8000 docs/src/pages/deploy/builds.md at main · hmmhmmhm/docs · GitHub
[go: up one dir, main page]

Skip to content

Latest commit

 

History

History
74 lines (54 loc) · 2.01 KB

builds.md

File metadata and controls

74 lines (54 loc) · 2.01 KB
title Builds

Railway uses Cloudnative Buildpacks to attempt to build and deploy with zero configuration. Currently, we support the following languages out of the box

If you have a language that you want us to support, please don't hesitate to reach out and let us know.

We will also build using a Dockerfile if found at the project root.

Procfile

If your project use buildpacks, you specify the start command with a Procfile. A Procfile is in the format of

process: command

When Railway deploys your build, the process listed in the file will be started by running the respective command. Note: Railway can only execute one process per Procfile.

Note: some buildpacks specify a default start command

Web process

HTTP servers should use the web process type. This process should listen on the PORT environment variable and will receive HTTP traffic. For example,

web: npm start

Paketo Buildpacks

By default Railway will attempt to build your app with the heroku/buildpacks:20 builder, which is based on how Heroku builds apps. However, you can opt-in to build your app with the Paketo buildpacks. Paketo has support for

  • NodeJS
  • Go
  • PHP
  • Ruby
  • Java
  • .NET
  • NGINX
  • Python

Custom Buildpacks

By default, the appropriate buildpacks are selected by inspecting the source files of a project. For more control, a project.toml file can be used to achieve a more custom setup.

Here is an example project.toml file that forces a NodeJS project to use Yarn instead of NPM.

[[build.buildpacks]]
uri = "heroku/nodejs"

[[build.buildpacks]]
uri = "heroku/nodejs-yarn"
0