Is Fly.io Down Right Now?
App unresponsive, deploy stuck, or getting 502s at the edge? This guide separates a real Fly.io platform outage from an app-level crash and gives you a step-by-step diagnostic playbook.
The average API outage costs $5,600 per minute
Gartner estimates downtime costs $5,600/min on average. 98% of organizations say a single hour of downtime costs over $100,000. Proactive monitoring catches issues in under 30 seconds.
📡 Monitor your APIs — know when they go down before your users do
Better Stack checks uptime every 30 seconds with instant Slack, email & SMS alerts. Free tier available.
Affiliate link — we may earn a commission at no extra cost to you
Check Fly.io Status Now
Fly.io publishes per-region health for Machines, Postgres, and the edge network:
Fly.io Service Components
Fly.io runs several independent systems. A Postgres incident in one region does not mean your stateless app machines elsewhere are affected — identify which component is impacted before you start debugging your own code.
Core compute layer — starts, stops, and schedules Fly Machines
Managed Postgres clusters running on Fly Machines
Persistent block storage attached to machines
Global edge network routing requests to the nearest healthy region
CLI and REST API used for deploys and management
Remote Docker image builds used by `fly deploy`
Monitor your Fly.io app from outside Fly's network
If Fly's edge in your region has an issue, you want to know from an independent vantage point — not from a support ticket. Better Stack pings your app from multiple regions and alerts before users notice.
Try Better Stack Free →Diagnostic Playbook
Work through these steps in order to isolate whether the problem is Fly.io's platform, your deploy, or your app's configuration.
Check status.flyio.net
Look for active incidents scoped to your app's region (iad, lhr, syd, etc.) or a platform-wide API/network incident.
→ Fly.io Status PageRun fly status and fly logs
From your terminal: `fly status -a <app>` shows machine state (started/stopped/failed). `fly logs -a <app>` shows recent stdout/stderr, including crash and OOM events.
Check health checks
A machine that never passes its HTTP or TCP health check will never receive traffic. Verify the health check path in fly.toml actually returns 200 and matches the listening port.
Look for OOM or disk-full errors
Run `fly logs` and search for "oom" or "no space left on device". Undersized VM memory and full Fly Volumes are the most common silent app-level failures.
Test from outside Fly's network
curl your app's public URL from a machine outside Fly (a laptop, another cloud provider) to rule out a routing issue local to Fly's edge in one region.
Platform Outage vs App-Level Crash: Who Owns the Fix?
🌐 Fly.io Platform
- • Check status.flyio.net for your region
- • Subscribe to incident updates on the status page
- • Post in the Fly.io community forum for real-time reports
- • No fix on your end — wait for Fly.io to resolve it
- • Multi-region apps degrade gracefully during single-region incidents
🛠️ Your App
- • Check machine state: `fly status -a <app>`
- • Check recent logs: `fly logs -a <app>`
- • Verify health check path and port in fly.toml
- • Check Fly Volume disk usage: `fly volumes list`
- • Restart strategy: `fly machine restart <id>` or `fly deploy`
Why Fly.io Deploys Get Stuck
A hung `fly deploy` is one of the most common support questions — most of the time it is not a platform issue.
Alert Pro
14-day free trialStop checking — get alerted instantly
Next time Fly.io goes down, you'll know in under 60 seconds — not when your users start complaining.
- Email alerts for Fly.io + 9 more APIs
- $0 due today for trial
- Cancel anytime — $9/mo after trial
Frequently Asked Questions
Is Fly.io down right now?
Check the official Fly.io status page at status.flyio.net, which reports per-region health for the platform, Postgres, and the API. If the status page shows all green but your app is unresponsive, the problem is almost always app-level — a crashed machine, a bad deploy, or a health check failure — not a platform outage.
Why is my Fly.io deploy stuck?
A stuck `fly deploy` is usually one of: (1) the build is taking a long time on a large image — check `fly logs` for build progress, (2) a health check is failing so the new machine never becomes healthy and the rollout stalls, (3) the release command is hanging (migrations, seed scripts), or (4) a regional API outage — check status.flyio.net. Run `fly status` and `fly logs` in a separate terminal to see what state the machines are actually in.
Why is my Fly.io app unresponsive or returning 502s?
A 502 from Fly.io's edge proxy means no healthy machine could serve the request. Common causes: (1) all machines in that region are stopped or crashed — check `fly status`, (2) the app is not listening on the port declared in fly.toml, (3) out-of-memory kills — check `fly logs` for OOM errors and consider a larger VM size, (4) autostop/autostart machines that have not woken up yet — the first request after idle can be slow. If status.flyio.net is green, this is almost always an app configuration issue.
What is the difference between a Fly.io platform outage and my app being down?
A platform outage affects the shared infrastructure — the API, the edge network, or a specific region's hypervisors — and is reported on status.flyio.net. An app-level issue is scoped to your own machines: a bad deploy, a crash loop, a full disk on a Fly Volume, or a misconfigured health check. The fastest way to tell them apart: run `fly status` — if your machines show as "stopped" or "failed" while other apps in the same region are fine, it is your app, not the platform.
How do I get alerted when Fly.io itself goes down?
Do not rely on Fly.io's own status page notifications alone — subscribe, but also add an independent external check. Options: (1) Better Stack — synthetic monitors that ping your app's public URL from outside Fly's network and alert via SMS/Slack/PagerDuty, (2) API Status Check — tracks the Fly.io status page and your own is-flyio-down history, (3) a simple external cron hitting your `/health` endpoint from a different provider entirely, so a Fly-wide incident does not also take down your monitoring.
🛠 Tools We Use & Recommend
Tested across our own infrastructure monitoring 200+ APIs daily
Uptime Monitoring & Incident Management
Used by 100,000+ websites
Monitors your APIs every 30 seconds. Instant alerts via Slack, email, SMS, and phone calls when something goes down.
“We use Better Stack to monitor every API on this site. It caught 23 outages last month before users reported them.”
Secrets Management & Developer Security
Trusted by 150,000+ businesses
Manage API keys, database passwords, and service tokens with CLI integration and automatic rotation.
“After covering dozens of outages caused by leaked credentials, we recommend every team use a secrets manager.”
SEO & Site Performance Monitoring
Used by 10M+ marketers
Track your site health, uptime, search rankings, and competitor movements from one dashboard.
“We use SEMrush to track how our API status pages rank and catch site health issues early.”