Deploy a website — Fly.io
Put a running app online — server, database, logins and all — at a live link anyone can open. Reach for Fly when your thing isn't a flat page: it needs a backend, stores data, runs a job, or logs people in. The link is public the moment it's live; the recipient just clicks. When idle, the app sleeps to $0, so a low-traffic share costs pennies.
Skip it for a plain static page — a dashboard with no backend, a one-page tool. Netlify or Cloudflare Pages host those free, no card on file.
Last verified: 2026-06-07 · checked against fly.io/docs + pricing · Confidence: high on the real-app affordances, card requirement, region choice, and sleep-to-zero; pricing is usage-based (figures below).
It allows you to
- Run a real app, not just files. A Python/Node/Go server, an API, scheduled jobs — Fly builds your container and keeps it running. The one host here that does this.
[confirmed] - Give it a database that persists. Logins, a form people fill in, records that survive a restart — a static host holds none of that.
[confirmed] - Add a login wall when you want one. Public by default, but you can gate it — see Who can get in.
[confirmed] - Pick where it lives. Choose the region (London, Frankfurt, Virginia…) — a real data-residency lever, on any plan.
[confirmed] - The shared wins — one public link, no recipient account, update in place — are on the Deploy a website overview; below is just what Fly adds.
Ideal for
- A forecasting tool that recomputes on its own and serves a live link — like AgilePredict, an electricity-price forecaster on Fly: a model, a database, an API, forecasts refreshing through the day — a server doing real work, not a page that could be a PDF.
- A small app that logs people in — an internal grant-review tool or survey portal where each reviewer sees only their own queue. Needs a session and a database; a static deploy can't.
- A scheduled or long-running job behind a URL — a model that recomputes nightly, or a webhook a partner org calls. It stays up; you don't babysit a laptop.
- An EU/UK app where data must stay in Europe — pin it to London or Frankfurt so personal data never leaves the region, no enterprise tier needed.
[confirmed]
Who can get in
- Public by default. A freshly deployed app answers anyone with the
*.fly.devlink — no members-only default. Treat the link as the access control until you add a login.[confirmed] - Gate it by adding a login. A login wall is your app's job, not a host toggle — and the way to hold "named people only". → Gated website.
[confirmed] - Keys stay out of the link and the code. API keys and database URLs go in as encrypted secrets, never baked into files you share.
[confirmed]
Which rungs it can hold. Out of the box, anyone with the link / the whole internet; add a login in your app and it reaches named people / org-only. → Who can see it? [confirmed]
Handing data to the host. Fly runs your app and often its database, so users' records sit on Fly's servers — but Fly says app contents are yours, staff don't look inside, nothing is fed to AI, and the data stays in the region you pick. A DPA is available on request. Detail: Fly company entry. → Can you trust the company? [confirmed]
What you do to set it up
Tell Claude Code, in the folder that holds your app:
Log me into Fly, pause for the browser step, then run fly launch in the
London (lhr) region and give me the live URL.
Your agent installs flyctl, pauses for the one browser approval, then fly launch scans your code, builds a container, and ships it — a https://your-app.fly.dev link in a minute or two. Every deploy after that is one sentence ("run fly deploy"). Full walkthrough and the sleep-to-zero setting: Deploy to Fly. [confirmed]
- One-time, in order:
- Set up Claude Code — runs everything below, ~10 min once.
- A free Fly account — your agent can't click signup. ~3 min once.
[estimate] - A card on file — needed to deploy past the short free trial (a sleeping app isn't charged); your agent can't enter it. The real cost here.
[confirmed]
- Rather click? flyctl from a plain terminal — install,
fly auth signup,fly launch— no agent needed → tutorial.[confirmed]
What the other person does
Same as any deployed site — click, it runs, no account, free to view (overview). Two Fly wrinkles:
- First hit after idle is slow. If the app slept to save money, the first visitor waits a second or two while it wakes; after that, instant. (fine print)
[estimate] - If you added a login, they sign in the way your app asks — an email link, a password, Google. → Gated website.
[confirmed]
Other ways to share
- The thing callers hit is a computed answer, not a page — a score, a lookup, a forecast? → a live API is that shape, and Fly is its default home.
- Just a flat page or static dashboard, no backend? → Netlify (deploys before you even log in, no card) or Cloudflare Pages. Fly is overkill — and the only one of the four asking for a card.
- Named-people-only without writing the login, or weighing the hosts? → a Gated website bolts a Google sign-in wall on; the Deploy a website overview compares all four.
Sources
- Fly.io pricing — pay-as-you-go; smallest
shared-cpu-1x256 MB ≈ $2.02/mo; egress $0.02/GB (NA/EU); "All organizations… require a credit card on file" - App secrets —
fly secrets set, encrypted, injected at runtime - Regions reference — region codes (
lhrLondon,fraFrankfurt,iadVirginia,nrtTokyo) fly auth login— browser login flow- In-the-wild example: AgilePredict — a live forecasting app (model + database + API) on Fly
- Setup how-to: Deploy to Fly · Host data handling: Fly company entry · Pricing & sleep detail: the fine print
Good to know
- No permanent free tier, and a card is required. A free trial of 2 machine-hours or 7 days, whichever ends first, then usage bills to a card on file.
[confirmed] - Cheap to run, free when idle. Smallest always-on machine ≈ $2.02/month; set it to sleep when idle and a low-traffic share drops toward $0 — the trade is a ~1–2 s cold-start on the first hit after idle.
[confirmed][estimate] - The rest of the fine print — exact trial limits, the sleep-to-zero config, in-memory-state caveat, and re-checking the live pricing — is on the pricing & sleep detail page.