BlogIs Fly.io Down?

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.

Last updated: July 17, 20266 min read
⏱️

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.

Staff Pick

📡 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.

Start Free →

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.

Machines APICore

Core compute layer — starts, stops, and schedules Fly Machines

Fly PostgresData

Managed Postgres clusters running on Fly Machines

Fly VolumesData

Persistent block storage attached to machines

Anycast Network / EdgeNetwork

Global edge network routing requests to the nearest healthy region

flyctl / APIControl Plane

CLI and REST API used for deploys and management

Builder (remote builds)Build

Remote Docker image builds used by `fly deploy`

📡
Recommended

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.

1

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 Page
2

Run 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.

3

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.

4

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.

5

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.

Root CauseHealth check never passes
SymptomDeploy hangs at "Waiting for..." indefinitely
FixVerify the health check endpoint returns 200 and the app listens on the fly.toml internal_port
Root CauseRelease command hanging
SymptomMigrations or seed script never finishes
FixAdd a timeout to release_command and check its logs separately via `fly logs`
Root CauseRemote builder stalled
SymptomBuild step stuck at "Building image"
FixRetry with `fly deploy --local-only` to build on your own machine instead
Root CauseOut of memory during build or boot
SymptomMachine restarts in a loop right after deploy
FixIncrease VM memory with `fly scale memory` or optimize the build/runtime footprint
Root CauseRegional API incident
Symptomflyctl commands time out or return 5xx
FixCheck status.flyio.net; wait for the incident to resolve, then retry the deploy

Alert Pro

14-day free trial

Stop 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

Better StackBest for API Teams

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.

Free tier · Paid from $24/moStart Free Monitoring
1PasswordBest for Credential Security

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.

SEMrushBest for SEO

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.

From $129.95/moTry SEMrush Free
View full comparison & more tools →Affiliate links — we earn a commission at no extra cost to you
← Back to BlogCheck Fly.io Live Status →