diff --git a/.github/workflows/vale-docs-linter.yml b/.github/workflows/vale-docs-linter.yml index 18aab7dfc0..43404c4cf6 100644 --- a/.github/workflows/vale-docs-linter.yml +++ b/.github/workflows/vale-docs-linter.yml @@ -14,7 +14,8 @@ jobs: - name: get changed files id: changed-files - uses: tj-actions/changed-files@v44 + + uses: tj-actions/changed-files@v46.0.5 with: fetch_depth: 2 diff --git a/.vale.ini b/.vale.ini index a0226e3219..29d5c627a5 100644 --- a/.vale.ini +++ b/.vale.ini @@ -15,7 +15,7 @@ BasedOnStyles = Fly, Google, proselint, Vale, write-good Fly.Exclamation = NO Fly.Headings = NO Fly.Latin = NO -# Fly.Machine = NO # we can do an initial search and replace and then this rule will be less noisy and more useful +Fly.Machine = NO # we can do an initial search and replace and then this rule will be less noisy and more useful Fly.OxfordComma = NO Fly.SentenceLength = NO # turn on later; then reduce further? Fly.Us = NO @@ -78,4 +78,4 @@ Vale.Spelling = NO # replaced by Fly.Spelling # Vale.Terms = NO [formats] -markerb = md # maps our markerb file extension to md for linting \ No newline at end of file +markerb = md # maps our markerb file extension to md for linting diff --git a/about/billing.html.markerb b/about/billing.html.markerb index 0c010d067c..9dd7689ac7 100644 --- a/about/billing.html.markerb +++ b/about/billing.html.markerb @@ -6,6 +6,8 @@ nav: firecracker redirect_from: /docs/about/credit-cards/ --- +## Overview + Billing for Fly.io is monthly per organization. Organizations are administrative entities that enable you to add members, share app development environments, and manage billing. New customers and all new organizations (including those created by previously existing customers) are billed monthly for resource usage. Refer to our resource [Pricing page](/docs/about/pricing/) for details. @@ -20,13 +22,15 @@ To download a past invoice, click **View** for the relevant cycle. You'll be sen --- -## Legacy Plan billing +### Understand your invoice charges -
-Customers who received a $5 free trial usage credit when signing up for the $5/mo Hobby plan will be billed monthly after that credit is used up. -
+The prices of provisioned services are mostly fixed. If you provision Machines and leave them running all month, we’ll charge you a predictable amount for that Machine. -Legacy plan billing, and any included usage, is pro-rated over the month. For example, if you signed up for a Scale plan on September 15th, then you'd be charged $14.50 (half of the $29/mo plan cost) right away and you'll have $14.50 of usage included up to September 30th. Then you'll be charged $29 at the start of October and have $29/mo of usage included for that billing cycle. +A common reason for additional charges is extra RAM usage. + +For a breakdown of charges, check out your invoice in the Billing section of the [dashboard](https://fly.io/dashboard/personal/billing). + +We’re happy to discuss a refund if you do create compute resources by mistake, or if your app receives unexpected traffic due to an attack and generates a surprisingly large bill. Just send an email to billing@fly.io. --- @@ -34,7 +38,7 @@ Legacy plan billing, and any included usage, is pro-rated over the month. For ex Started Machines are billed per second that they're running (the time they spend in the `started` state), based on the price of a named CPU/RAM combination, plus the price of any additional RAM you specify. -For example, a Machine described in your dashboard as "shared-1x-cpu@1024MB" is the “shared-cpu-1x” Machine size preset, which comes with 256MB RAM, plus additional RAM (1024MB - 256MB = 768MB). For pricing and available CPU/RAM combinations, see [Compute pricing](/docs/about/pricing/#compute). +For example, a Machine described in your dashboard as "shared-1x-cpu@1024MB" is the “shared-cpu-1x” Machine size preset, which comes with 256MB RAM, plus additional RAM (1024MB - 256MB = 768MB). For pricing and available CPU/RAM combinations, read about [Compute pricing](/docs/about/pricing/#compute). Stopped and suspended Machines are billed based on their root file system (rootfs) usage per second (the time they spend in the `stopped` or `suspended` state) by $0.15 per GB per month. @@ -44,7 +48,7 @@ For example, a Machine described in your dashboard as having 1GB of rootfs stopp ## GPU billing -GPUs are billed per second that the attached Fly Machine is running (the time they spend in the `started` state), based on the per hour cost of the GPU card. See [pricing for GPUs](/docs/about/pricing/#gpus-and-fly-machines). +GPUs are billed per second that the attached Fly Machine is running (the time they spend in the `started` state), based on the per hour cost of the GPU card. Learn more about [pricing for GPUs](/docs/about/pricing/#gpus-and-fly-machines). You're also billed for the Fly Machine separately from the GPU. @@ -54,7 +58,19 @@ You're also billed for the Fly Machine separately from the GPU. Volume billing is pro-rated to the hour and we subtract the free allowances first for the Launch, Scale, and Enterprise plans (all of which are now discontinued for new customers). For details, see [Volume pricing](/docs/about/pricing/#persistent-storage-volumes). -If you create a volume, you will be charged for it. You’re billed for volumes that aren’t attached to Machines, and for volumes that are attached to Machines in any state, including stopped Machines. +If you create a volume, you will be charged for it. You're billed for volumes that aren't attached to Machines, and for volumes that are attached to Machines in any state, including stopped Machines. Volumes in `pending_destroy` state do not accrue charges. + +--- + +## Volume snapshot billing + +Volume snapshot billing is pro-rated to the hour and we subtract the free allowance first. For details, see [Volume Snapshots pricing](/docs/about/pricing/#volume-snapshots). + +If you create a snapshot of a volume (either manually or through automatic daily snapshots), you will be charged for the storage space it occupies. + +Snapshots are stored incrementally, so you're only charged for data that has changed since the previous snapshot for the volume. + +For example, if you have a 10GB volume with 2GB of actual data and 5 daily snapshots with minimal changes between them, you might be charged for around 2.5GB of total snapshot storage rather than 50GB (5 × 10GB). --- @@ -77,18 +93,20 @@ Unified billing allows you to consolidate billing for multiple organizations und You can either create a new Linked Organization or link an existing one: -##### New Organization +#### New Organization A **Linked Organization** can be created from the [new organization page](/organizations/new). When creating a new organization, you can choose an existing Organization to link it to. -##### Link an existing Organization +#### Link an existing Organization An existing organization can be converted to a **Linked Organization** from the organization's billing page by clicking the "Link billing to another Organization" button. - Only admins can link an organization to another organization. - We recommend saving any invoices you may need for account purposes before linking an organization. -### Some things to consider +--- + +## Some things to consider - Each organization has its own [private network](/docs/networking/private-networking/). Organizations are isolated from each other, which might be advantageous from a security standpoint. @@ -97,12 +115,6 @@ be advantageous from a security standpoint. --- -## Free resource allowances - -Fly.io has deprecated plans as of October 7, 2024, but is still honoring them for users who purchased them prior to that date. If your plan includes [free allowances](https://fly.io/docs/about/pricing/#free-allowances), we subtract them off the top of your usage total. Once your usage exceeds the free allowance on any given resource, we start metering usage of that resource for billing purposes. - ---- - ## Payment options We process payments through Stripe. Monthly invoicing requires a credit card or credits. @@ -127,18 +139,6 @@ You can't use a prepaid card as a default (or saved) payment method. You can, ho --- -## Understand charges beyond the free allowances - -The prices of provisioned services are mostly fixed. If you provision Machines and leave them running all month, we’ll charge you a predictable amount for that Machine. - -A common reason for additional charges is extra RAM usage. - -For a breakdown of charges, check out your invoice in the Billing section of the [dashboard](https://fly.io/dashboard/personal/billing). - -We’re happy to discuss a refund if you do create compute resources by mistake, or if your app receives unexpected traffic due to an attack and generates a surprisingly large bill. Just send an email to billing@fly.io. - ---- - ## Delete your account To delete your Fly.io account, go to Account > Settings > [Delete Account](https://fly.io/user/deactivate) in your dashboard. You'll see a list of clean-up tasks that need to be done before you can delete the account, including: @@ -149,3 +149,19 @@ To delete your Fly.io account, go to Account > Settings > [Delete Account](https - Remove extensions to ensure that you don't get billed by partners when you can no longer access your account. When you've completed the clean-up tasks, click **Delete** to permanently delete your Fly.io account. + +--- + +## Discontinued/legacy plans + +### Legacy Plan billing + +
+Customers who received a $5 free trial usage credit when signing up for the $5/mo Hobby plan will be billed monthly after that credit is used up. +
+ +Legacy plan billing, and any included usage, is pro-rated over the month. For example, if you signed up for a Scale plan on September 15th, then you'd be charged $14.50 (half of the $29/mo plan cost) right away and you'll have $14.50 of usage included up to September 30th. Then you'll be charged $29 at the start of October and have $29/mo of usage included for that billing cycle. + +### Free resource allowances for Legacy Plan users + +Fly.io has deprecated plans as of October 7, 2024, but is still honoring them for users who purchased them prior to that date. If your plan includes [free allowances](/docs/about/pricing/#legacy-free-allowances), we subtract them off the top of your usage total. Once your usage exceeds the free allowance for any given resource, we start metering usage of that resource for billing purposes. \ No newline at end of file diff --git a/about/cost-management.html.md b/about/cost-management.html.md new file mode 100644 index 0000000000..8b6002655a --- /dev/null +++ b/about/cost-management.html.md @@ -0,0 +1,64 @@ +--- +title: Cost Management on Fly.io +layout: docs +nav: firecracker +author: kcmartin +date: 2025-10-23 +--- + +## Predicting your Fly.io bill and avoiding surprises + +We’ve done our best to make billing on Fly.io something you can reason about. Machines don’t appear out of nowhere. If something is running, it’s because you launched it, or you configured something that did. In general, when we talk about **autoscaling**, we mean starting or stopping machines you’ve already defined. We don’t quietly spin up extras in the background that turn into mystery charges on your bill. The idea is that your bill should always be traceable to something you can see, name, and plausibly explain when someone asks. If it’s not, we’re happy to help you sort it out. + +
+**Need more help understanding your bill?** Reach out to us at [billing@fly.io](mailto:billing@fly.io). +
+ +## A few examples + +So when you’re budgeting, you can look at what you’ve provisioned and do some quick math. Let’s say you’ve deployed three “shared-1x 1GB” machines in `sjc`. That’s $20.37/month, tops. If you let them stop when idle, you might only pay for a few hours of compute—but the worst-case scenario is still capped at that monthly rate. + +Here are a few more grounded examples: + +- A **staging app** running in the `sjc` region with one `shared-1x 256MB` machine that auto-stops when idle might cost less than **$1/month**. If you leave it running full-time, it’s still only **$2.32/month**. +- A **queue worker** (also in `sjc`) that uses metrics-based autoscaling on `shared-1x 512MB` machines might average 3–5 machines running during busy hours. If those stay up for 50% of the month, you’re looking at **$5.72–9.52/month**, worst-case around **$19 month** if they all run 24/7. + +We recommend budgeting for the “always-on” cost. You can get under that number with auto-stop or bursty usage, but don’t depend on it to hit your budget. + +If your estimate seems high, the most predictable way to save money isn’t fiddling with auto-stop/start settings (since any random request might spin a machine up again), but by just…running fewer machines. Or smaller ones. + +
+**Want to play with numbers?** Try the [Fly.io pricing calculator](https://fly.io/calculator) to get a rough sense of what your setup might cost. For the full breakdown, here’s our [pricing page](/docs/about/pricing/). +
+ +## Metrics-based autoscaling can affect costs + +There is one important exception to the rule that Fly.io doesn’t create machines on your behalf. If you use the **metrics-based autoscaler**, for example to scale a background worker based on queue depth, it _can_ create or destroy machines automatically. + +**When can the metrics-based autoscaler create machines?** When you deploy and configure the [**Fly Autoscaler**](/docs/launch/autoscale-by-metric/), and use `FAS_CREATED_MACHINE_COUNT` instead of `FAS_STARTED_MACHINE_COUNT`, you're giving it permission to create and destroy machines on your behalf. It still uses the machine sizes and regions you specify, and anything it spins up counts toward your bill. [Read more in the docs](/docs/launch/autoscale-by-metric/). + +## Other Stuff to Watch For + +A few more things that can quietly run up your bill if you're not paying attention: + +- **Bandwidth costs can add up.** Outbound data transfer is billed at $0.02/GB in North America and Europe, with higher rates in some other regions. Ingress is free. If you're serving media, syncing large datasets, or replicating across regions, bandwidth can quietly become a big line item. [Learn about data transfer pricing.](/docs/about/pricing/#data-transfer-pricing) +- **Volumes don’t stop billing when your machines do.** Persistent volumes are billed hourly, whether or not your machine is running. That 3GB volume you forgot about in `fra`? It's still costing you. [Read about storage pricing here](/docs/about/pricing/#volumes). +- **Volume snapshots will start billing in January 2026.** If you're using automatic volume snapshots as part of your backup strategy, just be aware: starting next year, they’ll be a billable feature. [We’ve announced the change](https://community.fly.io/t/we-are-going-to-start-charging-for-volume-snapshots-from-january-2026/26202) and will share more details well ahead of time. +- **Managed services live outside your apps.** Fly's [Managed Postgres](/docs/mpg/overview/) (MPG), [Upstash Redis](/docs/upstash/redis/), and [Tigris object storage](/docs/tigris/) don’t get deleted when you delete your apps. You’ll find them in your Dashboard. If you're cleaning up, double-check there too. We've seen people get surprised by bills from leftover services and databases they thought were gone. +- **Dedicated public IPv4 addresses aren’t free.** Each http app gets billed $2/month if you assign it a dedicated public IPv4. If you’ve got a bunch of apps or deploy previews per branch, this can sneak up on you. +- **Internal-only apps still count.** Just because a Fly app doesn’t serve web traffic doesn’t mean it’s free. Background workers, queue processors, cron jobs: they all run machines, and those still cost money. + +## Understanding Free Usage and Overages + +- **Free allowances don’t cap your bill.** We may give you free credits and usage allowances, especially when you’re starting out or have a legacy billing plan. But there’s no soft ceiling. If you go over, we’ll bill you. We don't support billing alerts (yet), so budget accordingly. +- **There is no "free account/free tier" on Fly.io.** We do have a Free Trial program, which you can read about [here](/docs/about/free-trial/). +- **Check your dashboard often.** To spot ballooning costs and overages before they become an issue, check the "current month to date bill" item in your dashboard. + +## Related Reading + +Want to go deeper on scaling strategies, autoscaling configuration, or controlling concurrency? These docs walk through the mechanics: + +- [Autoscale Fly Machines](/docs/blueprints/autoscale-machines/) A practical guide to getting basic autoscaling working with Fly Machines. Covers HTTP-based scaling triggers. +- [Metrics-based Autoscaling](/docs/launch/autoscale-by-metric/) This is the one that _can_ create machines automatically, based on queue depth or another metric you specify. Use it wisely. +- [Setting Concurrency Limits](/docs/blueprints/setting-concurrency-limits/) Shows how to keep your app from getting overwhelmed by too many concurrent requests. Especially useful if you’re scaling horizontally. + diff --git a/about/free-trial.html.md b/about/free-trial.html.md new file mode 100644 index 0000000000..2c97fa4cf1 --- /dev/null +++ b/about/free-trial.html.md @@ -0,0 +1,51 @@ +--- +title: Fly.io Free Trial +layout: docs +nav: firecracker +author: kcmartin +date: 2025-10-27 +--- + +**Fly.io runs your apps close to your users. This page explains how our free trial works and what resources you can use before you need to add a payment method.** + +## Free Trial overview + +A free trial on Fly.io includes 2 hours of machine runtime or 7 days of access, whichever comes first. That’s just enough to get a real app up and running before you decide if it’s a fit for you. + +
If you hit any of the limits below before your 7 days are up, **your trial is considered exhausted**, and your apps will stop until you add a payment method.
+ +Here’s what’s **included** during the trial: + +- **2 total VM hours** (Shared across any machines you launch)
**Note: Trial Machines are set to automatically stop after running for 5 minutes** +- **10 machines max** +- **20GB of volume storage** +- Up to **2 vCPUs per machine** +- **4GB memory per machine** + +These are **not included** in the free trial: + +- Dedicated IPv4 addresses +- Access to performance-optimized vCPUs +- GPU machines + +
You can add a credit card from the dashboard at any time during the trial. This lifts the resource limits and keeps your apps running without interruption. **Note: adding a card ends the free trial** and your usage starts counting toward your bill from that point on.
+ +## Checking usage + +You can see what you’ve used and what’s left under **“Trial Status”** in the Fly.io dashboard. Machines usage (including memory) is tracked per second, while Volumes and Machine count are tracked per hour. + +The free trial is meant for kicking the tires. Spin something up, poke around, deploy a real app or two. If Fly.io fits your use case, great! Add a credit card to keep going. If not, no hard feelings. + +## What happens when the free trial ends? + +If you don’t add a payment method by the end of your 7-day trial, or if you use up the included resources, your apps will stop running. You won’t be able to launch new machines, attach volumes, or deploy changes until billing is set up. + +Whether you're testing the waters or gearing up to launch something real, the free trial gives you room to get started. If Fly.io feels like a fit, adding a payment method from the Dashboard is all it takes to keep going. No surprises, no downtime, no pressure. + +--- + +## Related Reading + +- [Pricing Overview](/docs/about/pricing/) +- [How Billing Works](/docs/about/billing/) +- [Fly.io Pricing Calculator](https://fly.io/calculator) diff --git a/about/index.html.markerb b/about/index.html.markerb index 3f97f3b373..e3d8d44840 100644 --- a/about/index.html.markerb +++ b/about/index.html.markerb @@ -14,13 +14,19 @@ More details about using and working with the Fly.io platform. * **[Pricing](/docs/about/pricing/):** Pricing for compute, storage, and all the Fly.io platform services. -* **[Billing](/docs/about/billing/):** How billing works on Fly.io. +* **[Billing](/docs/about/billing/):** Learn how billing works on Fly.io. -* **[Healthcare](/docs/about/healthcare/):** Controls relevant to running healthcare apps on Fly.io. +* **[Cost Management](/docs/about/cost-management/):** Read this guide to learn how Fly.io billing really works, how to estimate your costs, and what to watch out for, complete with real examples and gotchas. + +* **[Free Trial](/docs/about/free-trial/):** Find out about Fly.io's Free Trial. * **[Support](/docs/about/support):** Who to contact and where to go when you need Fly.io support. -* **[Extensions program](/docs/about/extensions/) and [Extensions API](/docs/reference/extensions_api/):** Learn about becoming an extensions partner. +* **[Healthcare](/docs/about/healthcare/):** Controls relevant to running healthcare apps on Fly.io. + +* **[Engineering Jobs and Hiring](/docs/about/extensions/):** Learm more about our hiring process. + +* **[Open Source](/docs/about/open-source/):** How we help those OSS projects that help us. * **[Open Source](/docs/about/open-source/):** How we help those OSS projects that help us. diff --git a/about/merch.html.markerb b/about/merch.html.markerb new file mode 100644 index 0000000000..858effd3c3 --- /dev/null +++ b/about/merch.html.markerb @@ -0,0 +1,28 @@ +--- +title: Fly.io Merchandise +layout: docs +nav: firecracker +--- + +
+ Fly.io Frankie Merchandise +
+ +## Fly.io Merchandise + +Looking for some superfly swag? We have some Fly merch available in our Redbubble shop. Enjoy! + +Visit our [Redbubble shop](https://www.redbubble.com/people/annieruygt/shop) to check out our latest merchandise. + +## Available Items + +Our Redbubble shop features a variety of Fly.io branded items including: +- T-shirts +- Hoodies +- Stickers +- Mugs +- And more! + +## Contact + +For any questions about our merchandise, please contact us at [annie@fly.io](mailto:annie@fly.io). diff --git a/about/pricing.html.markerb b/about/pricing.html.markerb index fb500c95ff..f243365603 100644 --- a/about/pricing.html.markerb +++ b/about/pricing.html.markerb @@ -25,39 +25,6 @@ We charge for started and stopped Machines differently. Attached GPUs are charge ### Started Fly Machines -<% if Time.now.utc < '2024-11-01T00:00:00Z' %> -
- **Machines pricing is changing!** - -

- On July 1st, we're beginning a phased roll-out of per-region pricing. For the first month, prices will remain the same, but the lines on your invoice will be broken down by region. Each subsequent month, prices will be increase by 25% of the difference between the price in iad and the price listed for the region, until the listed price is reached in November. -

- -

- - -
- - -<% end %> -