Skip to main content Skip to section navigation
U.S. flag

An official website of the United States government

More languages (custom buildpacks)

Table of Contents

Cloud Foundry (the underlying open source project behind Cloud.gov) uses buildpacks to allow your applications to be deployed. Cloud.gov officially supports a set of “system buildpacks”, but it also allows you to provide your own.

Once you push your code using a custom buildpack, Cloud.gov cannot update it for you. You are responsible for keeping it up to date. Please see this description of responsibilities.

Example custom buildpacks

Cloud Native Buildpacks

The Cloud Native community has over the last few years developed a Cloud Native Buildpack (CNB) ecosystem. CNBs are the next stage in the evolution of buildpacks, and will eventually replace what are now (in 2025) called Classic Buildpacks. The CNBs provide better control, compliance and maintainability than either Classic Buildpacks or pre-built Docker images.

A simple Hello World example in NodeJS shows how to deploy an app to Cloud.gov using either the default Classic Buildpack, or a Cloud Native Buildpack via a lifecycle option.

apt-buildpack

cloud.gov does not allow the use of sudo inside of buildpacks. If your app depends on a library that is apt-get installable, you can use the CF flavor of apt-buildpack, which is a custom buildpack.

Multi-buildpack support

If your application involves multiple languages, and it’s not practical to split it into smaller applications (or the other options under “Multiple languages” here, Cloud Foundry offers support for using multiple buildpacks for an application.

cloud.gov

An official website of the U.S. General Services Administration

Looking for U.S. government information and services?
Visit USA.gov