Languages and frameworks
cloud.gov uses buildpacks to support a variety of programming languages and frameworks.
Supported languages and frameworks
Fully maintained language support
You can use a custom buildpack to use other languages. See custom buildpacks for more information about this feature. Cloud Foundry has a list of community buildpacks that you can use as custom buildpacks, along with documentation for building your own custom buildpacks.
cloud.gov cannot run applications that use .NET Framework, or application binaries that require access to Microsoft Windows kernel or system APIs.
Sample applications to deploy
You can deploy example applications in many languages and frameworks:
- Hello worlds: Code for simple apps in several frameworks. Try deploying them and using them to build your own. Included: Java, Clojure, .NET Core, NodeJS, PHP, Flask (Python), Padrino (Ruby), Sinatra (Ruby).
- Drupal: Running Drupal on cloud.gov is fully supported. We provide the backend databases (MySQL or Postgres) and asset storage (AWS S3 buckets) so Drupal is cloud-ready. This repository includes examples in Drupal 7 and Drupal 8. The Drupal 8 example demonstrates use of Composer for development, and includes S3 integration.
- Cloud Foundry community sample applications: This GitHub organization has seventy examples (and counting) of languages, frameworks and tools that can be adapted to run on cloud.gov.
Customer example applications
Several cloud.gov customers have their code available as open source for review and reuse, including:
- ATF eRegulations: Python Django application that uses PostgreSQL.
- College Scorecard API: Ruby application with an Elasticsearch backend.
- Federal Election Commission API: Python application with PostgreSQL and Elasticsearch backends.
- Federalist: NodeJS and Docker workers in cloud.gov with S3 and RDS backends.
- NSF Beta Drupal: Drupal 8 with setup for Docker local development, and cloud.gov staging/live environments.
- Forest Service e-Permitting: Permitting service in NodeJS with PostgreSQL.