Go hosting on Fly.io:
ship a single binary with one command
Build and scale Go apps on a developer-focused public cloud.
Launch NowReady, Set, Go!
Speedrun Your Go App Onto Fly.io
Deploy a Go app to Fly.io in a few minutes with the Fly.io command line tool, flyctl.
> Install flyctl on GNU/Linux
$ curl -L https://fly.io/install.sh | sh
> Run from Go project root
$ 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 Go with Fly.io
Run fly launch
from your Go project root. It scans the source, writes a fly.toml
and a Dockerfile that compiles your app (or uses the Dockerfile you already have) and offers to create a database. Every release after that is one fly deploy, with no servers to provision and no load balancer to configure.
Effortless Scaling Made for Go
Go Was Born to Be Concurrent & Fly.io Runs Every Process
Go's true strength lies in its ability to handle massive concurrency with lightweight goroutines. On Fly.io, one image can run your web server, workers and cron jobs: define them in
[processes]
and each runs as its own process group, scaled on its own with fly scale count. They reach each other over Fly.io's built-in private WireGuard network, so your microservices work together just like they were designed to.
Managed Postgres for Go 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 Concept to Launch, Faster Than Ever
Starting fresh with Fly.io feels like a breeze. We've streamlined the process for hassle-free deployment of your Go applications. Move fast from development to deployment, ensuring your app is up and running in no time and build on the performance perks that come with Fly.io.
Try It Now!
Zero-Downtime Releases
Ship Every Release Without Taking Your App Down
Each fly deploy
rolls the new image out Machine by Machine. Set the bluegreen
strategy and new Machines boot alongside the old ones, with traffic moving only after their health checks pass. Put migrations in
release_command
and they run once per deploy, in a temporary Machine from the new image, before any Machine is updated.
Pay for What Runs
Idle Machines Stop, Requests Start Them
Fly Proxy stops your Go app's Machines when they sit idle and starts them again on the next request. Stopped Machines aren't billed for CPU or RAM, and started ones bill per second, so you pay no CPU or RAM for the hours nobody calls your service.
Secure, Private Networking
Build with Confidence
Build with confidence knowing your Go services are protected with built-in secure, private networking, keeping your data safe and your connections secure, without compromising Go's legendary performance.
-
Managed TLS and Secrets
Fly Proxy terminates TLS for your Go app with managed certificates.
fly secrets setstores API keys and database URLs encrypted and exposes them to your Machines as environment variables, so your binary reads them withos.Getenv. -
Secure, Private Networking
Build with confidence knowing your Go services are protected with built-in secure, private networking, keeping your data safe and your connections secure, without compromising Go's legendary performance.
-
Built-in Observability
Get insight into your Go app's performance with Fly.io's built-in observability tools. Monitor, troubleshoot, and optimize your Go applications with real-time metrics, logging, and profiling tools that work perfectly with Go's runtime.