Fly.io statusLiveFetched seconds agoSource: status.flyio.net
Is Fly.io down?
Live status check · All systems operational
Live status pulled from status.flyio.net, cached and revalidated every 60 seconds. Below: the components that can break, what to do during an incident, and how to keep your scheduled jobs running independently.
About Fly.io status
Fly.io runs Machines (lightweight VMs) and Apps across 30+ regions. Most incidents are region-scoped and affect a specific component — Machines, Postgres, Volumes, or the proxy layer that fronts every request.
Components and surfaces that can break
- Surface 01
Machines and Apps (per-region).
- Surface 02
Fly Postgres, Volumes, and Object Storage.
- Surface 03
Anycast proxy, Builders, and the GraphQL / REST API.
Recent Fly.io incidents
Fly.io maintains a public incident history. Read the latest entries to see whether you're hitting a known issue, and look at the post-mortems for context on how long similar incidents typically take to clear.
What to do if Fly.io is actually down
Identify your region with flyctl
Run 'fly status --app my-app' to confirm where machines are scheduled, then check that region on status.fly.io. A single-region app in a degraded region is much more impacted than a multi-region one.
Fly Machines don't autoboot during proxy outages
If you rely on autostop/autostart, the request that wakes a machine has to actually reach the proxy. During proxy incidents, requests can return errors before they ever boot the machine. There's nothing to retry on your end except the request itself.
Schedule recurring health pings from outside
External cron against your /health endpoint is how you find out about Fly degradation before users do. It also keeps a record of every probe — useful for after-action review.
Keep firing through the incident
Schedule your own Fly.io health check with Crontap
Fly.io has no first-class scheduler. The common patterns are an always-on machine running cron internally (which pays for an idle VM) or external HTTP cron. Crontap calls your Fly app URL on your cadence and the machine autoboots only when the request arrives.
External HTTP cron hits your endpoint on the cadence you pick, stores every response, and emails you the moment a run fails. Pro schedules down to 1 minute; $3.25/mo annual flat for unlimited jobs.
Go deeper
Fly.io status: FAQ
- Where do I check Fly.io status?
- status.fly.io lists per-region indicators and a global history. The community forum is also a good early signal — major incidents usually get a thread within minutes.
- How do I run cron on Fly without an always-on machine?
- Expose the job as an HTTP route on your Fly app and trigger it from an external scheduler. Crontap fires the URL on your schedule, Fly's autoboot brings the machine up for the request, and the machine sleeps again after. Detailed walkthrough in our Fly.io cron alternative post.
- Why did my Fly cron stop firing?
- If you were running cron inside a machine that scaled down, the machine wasn't around when the schedule wanted to fire. External cron solves this because the trigger lives outside Fly.