Skip to main content
Use Fly.io when you want an always-on Docker-based deployment for Redop.

Before you start

This guide assumes:
  • your server uses the HTTP transport
  • the app binds 0.0.0.0
  • the app reads PORT
If you scaffolded with create-redop-app --transport http --deploy fly-io, the starter already generated:
  • Dockerfile
  • fly.toml
If your Redop app lives inside a monorepo, use the monorepo production image pattern from Deploy with Docker and adapt fly.toml to the same internal port.

Fly.io fit

Generated src/index.ts shape

Generated Dockerfile

This generated Dockerfile is the single-project starter. For a monorepo app, switch to the monorepo production image from Deploy with Docker and keep the Fly internal port aligned with your Redop listener.

Generated fly.toml

Deploy steps

  1. Install the Fly CLI and log in.
  2. From your project directory, run:
  1. Review fly.toml and make sure the app’s internal port matches your Redop listener.
  2. Deploy:

Port and machine expectations

  • Keep the app listening on PORT with a default fallback like 3000.
  • Keep the listener on 0.0.0.0.
  • Fly proxies traffic to your internal app port from fly.toml.
  • If you need a separate health route, enable health: true or health: { path: "/health" }.

Verify the deployment

Replace the hostname with your Fly app hostname:
What success looks like:
  • the app is reachable over HTTPS
  • /mcp returns a valid JSON-RPC initialize result
  • your Fly machine stays up for MCP requests instead of behaving like a short-lived function

Next