Fly.io runs applications physically close to users: in datacenters around the world, on servers we run ourselves. You can currently deploy your apps in 34 regions, connected to a global Anycast network that makes sure your users hit our nearest server, whether they’re in Tokyo, São Paolo, or Frankfurt.
|Region ID||Region Location||Gateway*||Paid Plan Only**|
|atl||Atlanta, Georgia (US)|
|bos||Boston, Massachusetts (US)|
|den||Denver, Colorado (US)|
|dfw||Dallas, Texas (US)||✓|
|ewr||Secaucus, NJ (US)|
|gig||Rio de Janeiro, Brazil|
|gru||Sao Paulo, Brazil|
|hkg||Hong Kong, Hong Kong||✓|
|iad||Ashburn, Virginia (US)||✓|
|jnb||Johannesburg, South Africa|
|lax||Los Angeles, California (US)||✓|
|lhr||London, United Kingdom||✓|
|maa||Chennai (Madras), India||✓||✓|
|mia||Miami, Florida (US)|
|ord||Chicago, Illinois (US)||✓|
|sea||Seattle, Washington (US)||✓|
|sjc||San Jose, California (US)||✓|
* You can host your apps in any region; "Gateway" regions also have WireGuard gateways, through which you connect to your organization's private network.
** For some higher-demand regions we restrict scaling up VMs to organizations with paid plans.
Discovering Your Application's Region
You can see the list of Fly.io regions any time with
fly platform regions.
You can see which regions your app is running in with
Fly.io storage volumes are tied to the region they're created in.
When an application instance is started, the three-letter name for the region it's running in is stored in the VM's
FLY_REGION environment variable. This, along with other Runtime Environment information, is visible to your app running on that instance.