Fly.io vs Railway
Two sides of the hosting decision: container platform and paaS. When each fits, what it costs, who moves from one to the other, and what makers who chose it say.
Which fits you
- Your users are spread across continents and the app runs in Docker
Use it whenYour app runs in Docker and should serve users in several regions.
Trade-offMore operations work than a PaaS.
- You have a long-running server, a background worker and a database to deploy together
Use it whenYour app is a server plus a database and a worker, and you want them in one project.
Trade-offUsage-based billing needs watching; fewer regions and compliance options than a hyperscaler.
At a glance
| Used by | 66 makers' products · 52 open-source projects | 112 makers' products |
|---|---|---|
| Cost at default usagerequests 5 million requests, data transfer out 100 GB, serverless function compute 100 GB-hours | $15/mo Pay As You Go | $45/mo Hobby |
| Moved to it on GitHubpull requests since Oct 2024 | 12 from Railway | 15 from Fly.io |
| Downloads | ||
| Pricing | Usage-based. · paid from $1.94/mo (shared-cpu-1x) | Usage-based with a small monthly minimum. · paid from $5/mo minimum usage |
| Free tier | No | No |
| Open source | No | No |
| Incidents, 90 daysfrom its status page | 25+ (11 major) | no public status feed |
Cost as you grow
At 100k requests Fly.io costs less ($13 vs $40); and still does at 500M requests ($213 vs $540). They're different kinds of tool — container platform and paaS — so the prices don't buy the same thing.
The numbers, plan by plan
| Requests per month | Fly.io | Railway |
|---|---|---|
| 0.1 | $13 Pay As You Go | $40 Hobby |
| 0.5 | $13 Pay As You Go | $41 Hobby |
| 1 | $13 Pay As You Go | $41 Hobby |
| 5 | $15 Pay As You Go | $45 Hobby |
| 10 | $17 Pay As You Go | $50 Hobby |
| 50 | $33 Pay As You Go | $90 Hobby |
| 100 | $53 Pay As You Go | $140 Hobby |
| 500 | $213 Pay As You Go | $540 Hobby |
Who moves from one to the other
Public pull requests on GitHub since Oct 2024 whose title says "Fly.io to Railway" or the reverse — real code changes, by developers in general rather than makers only.
- chore(docs): correct stale Railway infra references to Fly in agent runbooks + CLAUDEGetCollectRx/Collect-RX · 2026-07-21
- Repoint production API base from dead Railway backend to live Fly.io Braingenewgeorge76/gemini2 · 2026-07-15
- chore(deploy): migrate deployment and configuration from Railway to Fly.iomaru-story/wedding-ecosystem · 2026-07-10
- ops: switch deploy target from Railway to Fly.ioQuantum-Global-Group/sigma · 2026-05-16
- deploy: switch from Railway to Fly.io (Tokyo region)TripAndCode/transit-app · 2026-05-09
- chore: switch deployment target from Railway to Fly.ioChristopher-Crumley/ai-clinical-copilot · 2026-04-28
- fix(#216): update deploy workflow from Railway to fly.iowkliwk/recallth-backend · 2026-04-24
- Migrate from Railway to Fly.io for mTLS supportmyrobotaxi/telemetry · 2026-03-23
- chore: migrate sidecar deploy from Railway to Fly.ioboovines/forward · 2026-03-08
- Migrate deployment from Railway to Fly.ioenboxorg/enbox · 2026-02-16
- Cut over the public A2A gate from Fly to Railwaydlescanogithub/argentine-a2a · 2026-10-01
- feat(infra): migrate cloud production from Fly.io to Railwaykennygeiler/DeployAI · 2026-08-11
- Cut over marrow from Fly to Railway (CI smoke + docs)F0rge/f0rge · 2026-08-02
- Switch deployment from Fly.io to Railwayhedde-whatever/lumen · 2026-06-08
- fix: update API URL from fly.dev to Railwaymarcelrezkova/CarValueEngine · 2026-05-26
- chore(deploy): switch from Fly.io to Railway + tsx runtimedropdowner1/dropdowner1.github.io · 2026-05-19
- chore(deploy): migrate server from Fly.io to Railwayashlrai/ashlr-plugin · 2026-05-01
- Migrate backend from Fly.io to Railway; harden CORS parsingjonx0037/multimodal-financial-rag · 2026-04-18
- Move from Fly to Railway, and mongo to sqlitenoisebridge/nb.wtf · 2026-04-13
- chore(infra): migrate backend deployment from Fly.io to RailwayRatioraji/wiki-generator · 2026-03-23
What makers say
Makers on using it for hosting, from Product Hunt and Starter Story interviews, each linked to the source. Products with a page of their own and fuller notes first.
Machines on Fly made it easy to build SSL-secured proxies and backends for keeping cross-internet Pig automations safe and encrypted.
Shoutout to @flyDev - Deploying Mascotly globally was seamless thanks to Fly.io. It made it super easy to get our backend up and running close to users with minimal config. Fast, reliable, and developer-friendly - couldn’t ask for more! 🚀🌍
Fly’s setup process was smooth and intuitive. Hosting APIs globally with minimal configuration was a huge time-saver.
Railway makes deploying and scaling our backend effortless. Push to main, it's live. No Dockerfiles to debug, no infra to babysit. We went from zero to production in an afternoon.
🚀 Shoutout to Railway for making API deployment a breeze! As a frontend developer without much backend experience, their platform made it super easy to set up and deploy changes.
Railway is simple and handles deployment transitions really well. Old deployments drain cleanly while new ones come up, so users are never interrupted when we ship.
Loved and watch-outs
Themes that recur in makers' words and Hacker News comments, each linked to what it summarises.
- Platform-wide outages, including one when Google Cloud blocked Railway's account, took customer services down. HNHN 2HN 3HN 4
- It adds a middle layer on Google Cloud that controls your availability, features and security. HNHN 2
- API tokens grant every operation without clear warnings, which let an agent instantly delete a production database. HNHN 2

