Docker's Portability and Container Power, Unlocked
Build and scale containerized apps on a developer-focused public cloud.
Launch NowReady, 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.
> 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.
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
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 setstores 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.