Skip to main content
Deploy a Bun HTTP server on ECS Fargate behind an Application Load Balancer.

Prerequisites

  • A Git repository containing your application and its production build command.
  • A Ravion account with your AWS account connected. Start free at Ravion signup.
  • The Ravion CLI installed and authenticated. See CLI installation.
The examples use my-org/my-app as a placeholder. Replace it with your repository before applying the config.

Set up this Bun app for Ravion ECS hosting.

Open in Cursor

Configure the deployment

Bun’s official server API uses Bun.serve and honors PORT when you do not set a port explicitly. Railpack detects Bun from the packageManager field, engines.bun, or a bun.lock or bun.lockb file. Otherwise it uses its Node.js framework, monorepo, or SPA detection. Set the production start command to your actual Bun entrypoint when it is not inferred from the repository. Ravion injects PORT automatically from container_port.
ravion.yaml
Set port: Number(process.env.PORT) || 3000 and hostname: "0.0.0.0" in Bun.serve, and set the runtime start command to your actual Bun entrypoint.

Apply and connect your domain

Follow custom domains to connect your domain to the Application Load Balancer.

Next steps

Custom domains

Point a domain at your deployed service and manage its certificate.

Project config

Preview and apply Ravion configuration from source control.

Pipelines

Add approvals, migrations, and deployment automation.

Logs and metrics

Inspect deploy output and production health in Ravion.