---
title: "Simpler Fly deployments for NodeJS, Rails, Go, and Java"
description: "flyctl now supports building and deploying NodeJS, Rails, Go, and Java applications to Fly with two commands. The feature uses Cloud Native Buildpacks from buildpacks.io, turning an application into a Docker image during deployment without requiring users to understand Buildpacks. Cloud Native Buildpacks are described as an evolution of Heroku and Cloud Foundry systems, but are not compatible with their older buildpacks. After installing the latest flyctl, users can initialize an app with flyctl init --builder cloudfoundry/cnb:bionic and run flyctl deploy, then open it with flyctl open. Buildpack support complements Dockerfile-based image builds, while listed builders provide different language coverage and image sizes; the post recommends heroku/buildpacks:18 for its wider coverage."
---

# Simpler Fly deployments for NodeJS, Rails, Go, and Java

[Fly.io](https://yomu.fyi/company/fly-io) · Feb 10, 2020

**Type:** Announcement

## Summary

flyctl now supports building and deploying NodeJS, Rails, Go, and Java applications to Fly with two commands. The feature uses Cloud Native Buildpacks from buildpacks.io, turning an application into a Docker image during deployment without requiring users to understand Buildpacks. Cloud Native Buildpacks are described as an evolution of Heroku and Cloud Foundry systems, but are not compatible with their older buildpacks. After installing the latest flyctl, users can initialize an app with flyctl init --builder cloudfoundry/cnb:bionic and run flyctl deploy, then open it with flyctl open. Buildpack support complements Dockerfile-based image builds, while listed builders provide different language coverage and image sizes; the post recommends heroku/buildpacks:18 for its wider coverage.

## Context

The feature is intended to simplify building and deploying applications to the Fly platform, while accommodating different languages, frameworks, and available buildpack coverage. The post also positions Buildpacks alongside Dockerfiles so deployments retain flexibility when no suitable buildpack exists or a customized build is needed.

## Approach / What changed

flyctl adds support for Cloud Native Buildpacks from buildpacks.io. Users select a builder during flyctl init, run flyctl deploy to build the application into a Docker image and deploy it, and can then use flyctl open to connect to the application. Dockerfiles remain available as an alternative image-building method.

## Takeaways

- Cloud Native Buildpack support lets flyctl build and deploy NodeJS, Rails, Go, and Java applications through an initialization command followed by flyctl deploy.
- Available builders differ in stack, image size, and language coverage: cloudfoundry/cnb:bionic supports Java and Node.js, cloudfoundry/cnb:tiny supports Go, and heroku/buildpacks:18 covers Ruby, Java, Node.js, Python, Golang, and PHP.
- The post recommends heroku/buildpacks:18 for wider coverage, while Dockerfiles remain an option when no appropriate buildpack is available or a different build is required.

**Tags:** [Cloud Native Buildpacks](https://yomu.fyi/topic/cloud-native-buildpacks), [Deployment](https://yomu.fyi/topic/deployment), [Docker](https://yomu.fyi/topic/docker), [Fly.io](https://yomu.fyi/topic/fly-io), [Go](https://yomu.fyi/topic/go)

- Source: [Fly.io](https://fly.io/blog/simpler-fly-deployments-nodejs-rails-golang-java)
- Source URL: https://fly.io/blog/simpler-fly-deployments-nodejs-rails-golang-java
- Ingested by Yomu: 2026-09-02T11:56:57.967Z

[Read original post](https://fly.io/blog/simpler-fly-deployments-nodejs-rails-golang-java)
