Docker's Portability and Container Power, Unlocked

Build and scale containerized apps on a developer-focused public cloud.

Launch Now

Ready, Set, Go!

Speedrun Your Docker App Onto Fly.io

Deploy any Dockerized app to Fly.io in a few minutes with Fly.io's command line tool, flyctl.

Get Started
> Install flyctl on GNU/Linux
$ curl -L https://fly.io/install.sh | sh
 
> Run from project root with Dockerfile
$ fly launch
 
> Scale CPU, memory, instances & regions
$ fly scale

Not on GNU/Linux? Install flyctl for your platform.

Up, Up, and Away!

Unleash the Full Potential of Docker with Fly.io

Fly.io builds your Dockerfile into an image and boots it as a Fly Machine, a hardware-virtualized microVM, so the environment you test with docker run is the one that serves traffic.

Effortless Deployment Made for Docker

Docker Was Born for Portability. One Image Runs Your Whole App.

Devs love Docker because it packages applications with all their dependencies into portable, consistent containers. Fly.io keeps it that way: the [processes] block in fly.toml runs your web server, background worker and cron jobs from that one image as separate process groups, and fly scale count sizes each group on its own. You build once and every part of the app runs the same code.

NEW!

Managed Postgres for Docker Projects

Focus on features and leave database management to Fly.io. Our Managed Postgres service, gives you:

  • Automatic backups and recovery
  • High availability with automatic failover
  • Performance monitoring and metrics
  • Resource scaling (CPU, RAM, storage)
  • Automatic encryption of data at rest and in transit
Learn More

Quick and Easy Set-up

From Dockerfile to Launch, Faster Than Ever

Starting fresh with Fly.io feels like a breeze. Experience hassle-free deployment of your Dockerized apps. Simply bring your existing Dockerfile, and we'll handle the rest. Move fast from image to running app, with all the consistency and reliability that Docker provides.

Try It Now!

Releases Without Downtime

Ship a New Image Without Taking the App Down

fly deploy rolls the new image across your Machines by default. Set strategy = "bluegreen" in [deploy] and the new Machines boot alongside the old ones, with traffic moving over once their health checks pass. Database migrations go in release_command, which runs once in a temporary Machine from the new image before any Machine is updated.

Pay for What Runs

Idle Containers Stop, the Next Request Starts Them

Turn on autostop and autostart in fly.toml and Fly Proxy stops Machines that sit idle, then starts them again on the next request. Stopped Machines are not billed for CPU or RAM, so a staging app or an internal tool costs you no compute while nobody is using it.

Secure, Private Networking

Build with Confidence

Build with confidence knowing your containerized services are protected with built-in secure, private networking, perfectly complementing Docker's isolation model to keep your applications secure and your data protected.

  • Secrets Stay Out of Your Image

    fly secrets set stores API keys and passwords encrypted and exposes them to your Machines as environment variables. Nothing sensitive gets baked into an image layer or written into your Dockerfile, so pushing or sharing the image never shares a credential.

  • Secure, Private Networking

    Build with confidence knowing your containerized services are protected with built-in secure, private networking, perfectly complementing Docker's isolation model to keep your applications secure and your data protected.

  • Built-in Observability

    Keep an eye on your app's performance with Fly.io's built-in observability tools. Monitor, troubleshoot, and optimize your containerized applications with real-time metrics, logging, and container-aware monitoring that works with any technology stack you've Dockerized.