From e32a72634674214f94152f8be8154464fede5c6a Mon Sep 17 00:00:00 2001 From: Alex Leventer Date: Wed, 14 Oct 2026 20:49:40 -0700 Subject: [PATCH 1/3] Retitle blueprints for search and add meta descriptions 30 of the 37 blueprints had no meta description, so Google wrote its own snippet, and many titles were internal names ("Rollback Guide", "Resilient apps use multiple Machines") rather than what people search. Over the last 90 days the blueprints drew ~262k impressions but under 1% CTR, with several pages ranking top 10 at 0.1-0.3% CTR. Titles now lead with the searched term (HIPAA, zero-downtime deployments, sticky sessions, staging environment, work queues, n-tier architecture, roll back a deploy). sidebarTitle keeps the existing nav labels. The six blueprints already covered by #2557 and #2558 are left alone. Co-Authored-By: Claude Opus 5.5 --- blueprints/autoscale-machines.mdx | 4 +++- blueprints/autostart-internal-apps.mdx | 4 +++- blueprints/bridge-deployments-wireguard.mdx | 4 +++- blueprints/cell-based.mdx | 1 + blueprints/connect-private-network-wireguard/index.mdx | 4 +++- blueprints/connecting-to-user-machines.mdx | 4 +++- blueprints/custom-deploy-workflows.mdx | 4 +++- blueprints/deno-kv-litefs.mdx | 1 + blueprints/going-to-production-with-healthcare-apps.mdx | 4 +++- blueprints/index.mdx | 4 +++- blueprints/infra-automation-without-terraform.mdx | 1 + blueprints/long-running-tasks.mdx | 4 +++- blueprints/multi-region-fly-replay.mdx | 4 +++- blueprints/n-tier-architecture.mdx | 4 +++- blueprints/observability-for-user-apps.mdx | 4 +++- blueprints/opensshd.mdx | 4 +++- blueprints/per-user-dev-environments.mdx | 1 + blueprints/remote-mcp-servers.mdx | 2 ++ blueprints/resilient-apps-multiple-machines.mdx | 4 +++- blueprints/rollback-guide.mdx | 4 +++- blueprints/seamless-deployments.mdx | 4 +++- blueprints/setting-concurrency-limits.mdx | 1 + blueprints/staging-prod-isolation.mdx | 4 +++- blueprints/sticky-sessions.mdx | 4 +++- blueprints/using-base-images-for-faster-deployments.mdx | 4 +++- blueprints/using-the-fly-docker-registry.mdx | 1 + blueprints/volume-forking.mdx | 1 + blueprints/warm-pool-user-machines.mdx | 1 + blueprints/work-queues.mdx | 4 +++- blueprints/working-with-docker.mdx | 1 + 30 files changed, 71 insertions(+), 20 deletions(-) diff --git a/blueprints/autoscale-machines.mdx b/blueprints/autoscale-machines.mdx index 2105a27f4f..06e978ff6c 100644 --- a/blueprints/autoscale-machines.mdx +++ b/blueprints/autoscale-machines.mdx @@ -1,5 +1,7 @@ --- -title: Autoscale Machines +title: "Autoscale Fly Machines with fly-autoscaler" +sidebarTitle: "Autoscale Machines" +description: "Pair fly-autoscaler with Fly Proxy autostop/autostart to keep a fixed number of stopped Machines ready to start as traffic rises and falls through the day." source_url: https://fly.io/docs/blueprints/autoscale-machines/ --- diff --git a/blueprints/autostart-internal-apps.mdx b/blueprints/autostart-internal-apps.mdx index 2af0adbd98..a290bb4551 100644 --- a/blueprints/autostart-internal-apps.mdx +++ b/blueprints/autostart-internal-apps.mdx @@ -1,5 +1,7 @@ --- -title: Autostart and autostop private apps +title: "Autostart and autostop private apps with Flycast" +sidebarTitle: "Autostart and autostop private apps" +description: "Let Fly Proxy start and stop Machines for a private app on demand by giving it a Flycast address instead of public IPs, for new apps or existing ones." source_url: https://fly.io/docs/blueprints/autostart-internal-apps/ --- diff --git a/blueprints/bridge-deployments-wireguard.mdx b/blueprints/bridge-deployments-wireguard.mdx index 6ad3afe395..7beedd03f6 100644 --- a/blueprints/bridge-deployments-wireguard.mdx +++ b/blueprints/bridge-deployments-wireguard.mdx @@ -1,5 +1,7 @@ --- -title: Bridge your other deployments to Fly.io +title: "Connect AWS and other clouds to Fly.io with WireGuard" +sidebarTitle: "Bridge your other deployments to Fly.io" +description: "Join a server on AWS or another cloud to your Fly.io private network as a site-to-site WireGuard peer, so Machines and outside services talk privately." source_url: https://fly.io/docs/blueprints/bridge-deployments-wireguard/ --- diff --git a/blueprints/cell-based.mdx b/blueprints/cell-based.mdx index b326074815..b6f3022f39 100644 --- a/blueprints/cell-based.mdx +++ b/blueprints/cell-based.mdx @@ -1,5 +1,6 @@ --- title: Cell-based architecture +description: "Give each user of your app a dedicated Fly Machine that stops when idle and restarts on access, routed with fly-replay and fly-force-instance-id." source_url: https://fly.io/docs/blueprints/cell-based/ --- diff --git a/blueprints/connect-private-network-wireguard/index.mdx b/blueprints/connect-private-network-wireguard/index.mdx index 41dc599eb3..42288b348f 100644 --- a/blueprints/connect-private-network-wireguard/index.mdx +++ b/blueprints/connect-private-network-wireguard/index.mdx @@ -1,5 +1,7 @@ --- -title: Jack into your private network with WireGuard +title: "Connect to your Fly.io private network with WireGuard" +sidebarTitle: "Jack into your private network with WireGuard" +description: "Create a WireGuard peer with fly wireguard create and connect your laptop to your Fly.io organization's private network to reach apps and Flycast services." source_url: https://fly.io/docs/blueprints/connect-private-network-wireguard/ --- diff --git a/blueprints/connecting-to-user-machines.mdx b/blueprints/connecting-to-user-machines.mdx index 491336f3a2..8580320840 100644 --- a/blueprints/connecting-to-user-machines.mdx +++ b/blueprints/connecting-to-user-machines.mdx @@ -1,5 +1,7 @@ --- -title: Connecting to User Machines +title: "Route requests to per-user Fly Machines" +sidebarTitle: "Connecting to User Machines" +description: "Route HTTP requests to per-user Fly Machines through a router app with fly-replay, including port matching, authenticating replayed requests, and antipatterns." source_url: https://fly.io/docs/blueprints/connecting-to-user-machines/ --- diff --git a/blueprints/custom-deploy-workflows.mdx b/blueprints/custom-deploy-workflows.mdx index 65437aa8bb..052fe3d3fb 100644 --- a/blueprints/custom-deploy-workflows.mdx +++ b/blueprints/custom-deploy-workflows.mdx @@ -1,5 +1,7 @@ --- -title: Custom Deploy Workflows +title: "Custom deploy workflows: staggered and selective deploys" +sidebarTitle: "Custom Deploy Workflows" +description: "Roll out fly deploy to stopped Machines, one region, or one process group at a time, to deploy gradually without restarting Machines running long jobs." source_url: https://fly.io/docs/blueprints/custom-deploy-workflows/ --- diff --git a/blueprints/deno-kv-litefs.mdx b/blueprints/deno-kv-litefs.mdx index 6044fd5c5b..ecfe040516 100644 --- a/blueprints/deno-kv-litefs.mdx +++ b/blueprints/deno-kv-litefs.mdx @@ -1,5 +1,6 @@ --- title: Deno KV with LiteFS Cloud +description: "Back Deno KV with a SQLite database on LiteFS to run a Deno Deploy app on Fly.io. LiteFS Cloud has been sunset, so this guide is kept for reference." source_url: https://fly.io/docs/blueprints/deno-kv-litefs/ --- diff --git a/blueprints/going-to-production-with-healthcare-apps.mdx b/blueprints/going-to-production-with-healthcare-apps.mdx index b2cb23d64c..3e4a230449 100644 --- a/blueprints/going-to-production-with-healthcare-apps.mdx +++ b/blueprints/going-to-production-with-healthcare-apps.mdx @@ -1,5 +1,7 @@ --- -title: Going to Production with Healthcare Apps +title: "HIPAA-compliant app hosting on Fly.io" +sidebarTitle: "Going to Production with Healthcare Apps" +description: "Evaluate Fly.io for HIPAA: encryption in transit and at rest, network isolation, and access control. Then launch a pilot, sign a BAA, and deploy to production." source_url: https://fly.io/docs/blueprints/going-to-production-with-healthcare-apps/ --- diff --git a/blueprints/index.mdx b/blueprints/index.mdx index 16b1a0d085..f4138d99d3 100644 --- a/blueprints/index.mdx +++ b/blueprints/index.mdx @@ -1,5 +1,7 @@ --- -title: Guides (Blueprints) +title: "Fly.io Guides and Blueprints" +sidebarTitle: "Guides (Blueprints)" +description: "Architecture patterns and how-to guides for Fly.io: per-user Machines, AI agents, MCP servers, deployments, private networking, scaling, and background jobs." source_url: https://fly.io/docs/blueprints/ --- diff --git a/blueprints/infra-automation-without-terraform.mdx b/blueprints/infra-automation-without-terraform.mdx index c08d865a98..180e071703 100644 --- a/blueprints/infra-automation-without-terraform.mdx +++ b/blueprints/infra-automation-without-terraform.mdx @@ -1,5 +1,6 @@ --- title: Building Infrastructure Automation without Terraform +description: "Fly.io has no Terraform provider. Get repeatable deploys with flyctl and GitHub Actions, or call the Machines API directly for custom orchestration." source_url: https://fly.io/docs/blueprints/infra-automation-without-terraform/ --- diff --git a/blueprints/long-running-tasks.mdx b/blueprints/long-running-tasks.mdx index 0faac72af4..ca7830c9b2 100644 --- a/blueprints/long-running-tasks.mdx +++ b/blueprints/long-running-tasks.mdx @@ -1,5 +1,7 @@ --- -title: Long-running tasks and machine lifecycle +title: "Long-running tasks and auto_stop_machines" +sidebarTitle: "Long-running tasks and machine lifecycle" +description: "Why auto_stop_machines can stop a Machine that's still running background work, how Fly Proxy decides a Machine is idle, and two patterns that keep tasks alive." source_url: https://fly.io/docs/blueprints/long-running-tasks/ --- diff --git a/blueprints/multi-region-fly-replay.mdx b/blueprints/multi-region-fly-replay.mdx index 704cd45c5f..548cd67e0c 100644 --- a/blueprints/multi-region-fly-replay.mdx +++ b/blueprints/multi-region-fly-replay.mdx @@ -1,5 +1,7 @@ --- -title: Multi-region databases and fly-replay +title: "Multi-region databases with read replicas and fly-replay" +sidebarTitle: "Multi-region databases and fly-replay" +description: "Run your app with a primary database and regional read replicas on Fly.io, and use the fly-replay header to send write requests to the primary region." source_url: https://fly.io/docs/blueprints/multi-region-fly-replay/ --- diff --git a/blueprints/n-tier-architecture.mdx b/blueprints/n-tier-architecture.mdx index 9489d10a51..5d393a6b8a 100644 --- a/blueprints/n-tier-architecture.mdx +++ b/blueprints/n-tier-architecture.mdx @@ -1,5 +1,7 @@ --- -title: Getting Started with N-Tier Architecture +title: "N-tier architecture on Fly.io" +sidebarTitle: "Getting Started with N-Tier Architecture" +description: "What n-tier architecture is, how presentation, web, and data tiers map to Fly Machines, private networking, and Postgres, and how to deploy a multi-tier app." source_url: https://fly.io/docs/blueprints/n-tier-architecture/ --- diff --git a/blueprints/observability-for-user-apps.mdx b/blueprints/observability-for-user-apps.mdx index fb298c3f23..4e7182f43c 100644 --- a/blueprints/observability-for-user-apps.mdx +++ b/blueprints/observability-for-user-apps.mdx @@ -1,5 +1,7 @@ --- -title: Observability for User Apps +title: "Stream logs from user apps with NATS" +sidebarTitle: "Observability for User Apps" +description: "Monitor apps your users run on Fly.io: deploy the fly-telemetry forwarder, subscribe to the NATS log stream, and route each user app's logs back to that user." source_url: https://fly.io/docs/blueprints/observability-for-user-apps/ --- diff --git a/blueprints/opensshd.mdx b/blueprints/opensshd.mdx index 9c4872cc16..53d292497b 100644 --- a/blueprints/opensshd.mdx +++ b/blueprints/opensshd.mdx @@ -1,5 +1,7 @@ --- -title: Run an SSH server +title: "Run an SSH server on a Fly Machine" +sidebarTitle: "Run an SSH server" +description: "Install and run OpenSSH in your Fly.io app so rsync, scp, sshfs, VS Code Remote, Ansible, or Kamal can connect over SSH, with key setup and port 22 mapping." source_url: https://fly.io/docs/blueprints/opensshd/ --- diff --git a/blueprints/per-user-dev-environments.mdx b/blueprints/per-user-dev-environments.mdx index 0ddd097709..94d1dedcef 100644 --- a/blueprints/per-user-dev-environments.mdx +++ b/blueprints/per-user-dev-environments.mdx @@ -1,5 +1,6 @@ --- title: Per-User Dev Environments with Fly Machines +description: "Host isolated dev or code-execution environments for each user on Fly Machines, with one app per user, optional volumes, and a fly-replay router for subdomains." source_url: https://fly.io/docs/blueprints/per-user-dev-environments/ --- diff --git a/blueprints/remote-mcp-servers.mdx b/blueprints/remote-mcp-servers.mdx index 61b17b0c60..dd7c009d44 100644 --- a/blueprints/remote-mcp-servers.mdx +++ b/blueprints/remote-mcp-servers.mdx @@ -1,5 +1,7 @@ --- title: "Remote MCP Server Hosting: Deploy MCP Servers on Fly.io" +sidebarTitle: "Deploying Remote MCP Servers" +description: "Host a remote MCP server on a Fly Machine that any MCP client can reach over HTTP and that stops when idle, as a multi-tenant app or one app per user." source_url: https://fly.io/docs/blueprints/remote-mcp-servers/ --- diff --git a/blueprints/resilient-apps-multiple-machines.mdx b/blueprints/resilient-apps-multiple-machines.mdx index f3b210cc0b..bb05ead777 100644 --- a/blueprints/resilient-apps-multiple-machines.mdx +++ b/blueprints/resilient-apps-multiple-machines.mdx @@ -1,5 +1,7 @@ --- -title: Resilient apps use multiple Machines +title: "High availability on Fly.io: run multiple Machines" +sidebarTitle: "Resilient apps use multiple Machines" +description: "A Fly Machine runs on one host and won't move if that host fails. Run at least two Machines per process, using autostop/autostart or standbys to limit cost." source_url: https://fly.io/docs/blueprints/resilient-apps-multiple-machines/ --- diff --git a/blueprints/rollback-guide.mdx b/blueprints/rollback-guide.mdx index a5c57b446e..9c57bdbc85 100644 --- a/blueprints/rollback-guide.mdx +++ b/blueprints/rollback-guide.mdx @@ -1,5 +1,7 @@ --- -title: Rollback Guide +title: "Roll back a deploy on Fly.io" +sidebarTitle: "Rollback Guide" +description: "Undo a bad Fly.io deploy: find a previous release image with fly releases --image, redeploy it, tag images clearly, and handle database migrations separately." source_url: https://fly.io/docs/blueprints/rollback-guide/ --- diff --git a/blueprints/seamless-deployments.mdx b/blueprints/seamless-deployments.mdx index d0816614ed..ebd09e0030 100644 --- a/blueprints/seamless-deployments.mdx +++ b/blueprints/seamless-deployments.mdx @@ -1,5 +1,7 @@ --- -title: Seamless Deployments on Fly.io +title: "Zero-downtime deployments on Fly.io" +sidebarTitle: "Seamless Deployments on Fly.io" +description: "Get zero-downtime deploys on Fly.io with health checks that work, a rolling, canary, or bluegreen strategy, and release_command for migrations." source_url: https://fly.io/docs/blueprints/seamless-deployments/ --- diff --git a/blueprints/setting-concurrency-limits.mdx b/blueprints/setting-concurrency-limits.mdx index d0606b8cca..b7701a591b 100644 --- a/blueprints/setting-concurrency-limits.mdx +++ b/blueprints/setting-concurrency-limits.mdx @@ -1,5 +1,6 @@ --- title: Setting Hard and Soft Concurrency Limits on Fly.io +description: "Tune soft_limit and hard_limit for Fly Machines by load testing a copy of your app, then let autostop/autostart scale within those limits." source_url: https://fly.io/docs/blueprints/setting-concurrency-limits/ --- diff --git a/blueprints/staging-prod-isolation.mdx b/blueprints/staging-prod-isolation.mdx index 5302f0a121..08221e5515 100644 --- a/blueprints/staging-prod-isolation.mdx +++ b/blueprints/staging-prod-isolation.mdx @@ -1,5 +1,7 @@ --- -title: Staging and production isolation +title: "Separate staging and production environments on Fly.io" +sidebarTitle: "Staging and production isolation" +description: "Isolate production from staging on Fly.io by giving each environment its own organization, with separate members, apps, and fly.toml files." source_url: https://fly.io/docs/blueprints/staging-prod-isolation/ --- diff --git a/blueprints/sticky-sessions.mdx b/blueprints/sticky-sessions.mdx index cd0290b326..61633e9a92 100644 --- a/blueprints/sticky-sessions.mdx +++ b/blueprints/sticky-sessions.mdx @@ -1,5 +1,7 @@ --- -title: Session Affinity (a.k.a. Sticky Sessions) +title: "Sticky sessions (session affinity) on Fly.io" +sidebarTitle: "Session Affinity (a.k.a. Sticky Sessions)" +description: "Send a user's requests to the same Fly Machine with the fly-force-instance-id request header from the client or the fly-replay response header from your server." source_url: https://fly.io/docs/blueprints/sticky-sessions/ --- diff --git a/blueprints/using-base-images-for-faster-deployments.mdx b/blueprints/using-base-images-for-faster-deployments.mdx index d4bf91950f..6f5349a7de 100644 --- a/blueprints/using-base-images-for-faster-deployments.mdx +++ b/blueprints/using-base-images-for-faster-deployments.mdx @@ -1,5 +1,7 @@ --- -title: Using base images for faster deployments +title: "Use Docker base images for faster deploys" +sidebarTitle: "Using base images for faster deployments" +description: "Build a shared base image as its own Fly.io app, push it to the Fly registry, and use it in FROM so each deploy rebuilds only your app, not every dependency." source_url: https://fly.io/docs/blueprints/using-base-images-for-faster-deployments/ --- diff --git a/blueprints/using-the-fly-docker-registry.mdx b/blueprints/using-the-fly-docker-registry.mdx index 30886290fe..a4d8cc4b09 100644 --- a/blueprints/using-the-fly-docker-registry.mdx +++ b/blueprints/using-the-fly-docker-registry.mdx @@ -1,5 +1,6 @@ --- title: Managing Docker Images with Fly.io's Private Registry +description: "Tag and push Docker images to registry.fly.io, deploy them with fly deploy --image, and reuse images across apps in your Fly.io organization without fly launch." source_url: https://fly.io/docs/blueprints/using-the-fly-docker-registry/ --- diff --git a/blueprints/volume-forking.mdx b/blueprints/volume-forking.mdx index ef7ca86efc..b76f502b06 100644 --- a/blueprints/volume-forking.mdx +++ b/blueprints/volume-forking.mdx @@ -1,5 +1,6 @@ --- title: Using Fly Volume forks for faster startup times +description: "Preload ML models, SQLite databases, or other large files onto a Fly Volume once, then fork it so new Machines boot with the data already in place." source_url: https://fly.io/docs/blueprints/volume-forking/ --- diff --git a/blueprints/warm-pool-user-machines.mdx b/blueprints/warm-pool-user-machines.mdx index 9b4d34a275..c4c553d84b 100644 --- a/blueprints/warm-pool-user-machines.mdx +++ b/blueprints/warm-pool-user-machines.mdx @@ -1,5 +1,6 @@ --- title: Warm pools of user Machines +description: "Make per-user apps start instantly: keep a pool of pre-provisioned Fly apps, volumes, and booted Machines, then claim one and configure it when a user signs up." source_url: https://fly.io/docs/blueprints/warm-pool-user-machines/ --- diff --git a/blueprints/work-queues.mdx b/blueprints/work-queues.mdx index e8edf8bfd3..dca9346fde 100644 --- a/blueprints/work-queues.mdx +++ b/blueprints/work-queues.mdx @@ -1,5 +1,7 @@ --- -title: Deferring long-running tasks to a distributed work queue +title: "Background job queues with Celery, BullMQ, and Fly Machines" +sidebarTitle: "Deferring long-running tasks to a work queue" +description: "Move slow work like PDFs, emails, and API calls out of web requests into a work queue, using Celery for Python, BullMQ for Node, or on-demand Fly Machines." source_url: https://fly.io/docs/blueprints/work-queues/ --- diff --git a/blueprints/working-with-docker.mdx b/blueprints/working-with-docker.mdx index c30be05428..9503eed34c 100644 --- a/blueprints/working-with-docker.mdx +++ b/blueprints/working-with-docker.mdx @@ -1,5 +1,6 @@ --- title: Working with Docker on Fly.io +description: "How Fly.io turns Docker images into VMs: no Docker daemon, ephemeral filesystems, prebuilt images for faster deploys, image tags, and multi-container Machines." source_url: https://fly.io/docs/blueprints/working-with-docker/ --- From 1d78ff70dc437bafc9ab82b5fe548d3018749e95 Mon Sep 17 00:00:00 2001 From: Kristin Martin Date: Thu, 15 Oct 2026 20:55:33 +0000 Subject: [PATCH 2/3] Adjust blueprint titles after review Drop "on Fly.io" (Mintlify already appends " - Fly.io"), soften the HIPAA title, broaden the autoscale title, keep the original long-running tasks title, and match the blueprints index to the new titles. --- blueprints/autoscale-machines.mdx | 2 +- blueprints/bridge-deployments-wireguard.mdx | 2 +- .../index.mdx | 2 +- ...ing-to-production-with-healthcare-apps.mdx | 2 +- blueprints/index.mdx | 38 +++++++++---------- blueprints/long-running-tasks.mdx | 3 +- blueprints/n-tier-architecture.mdx | 2 +- .../resilient-apps-multiple-machines.mdx | 2 +- blueprints/rollback-guide.mdx | 2 +- blueprints/seamless-deployments.mdx | 2 +- blueprints/staging-prod-isolation.mdx | 2 +- blueprints/sticky-sessions.mdx | 2 +- 12 files changed, 30 insertions(+), 31 deletions(-) diff --git a/blueprints/autoscale-machines.mdx b/blueprints/autoscale-machines.mdx index 06e978ff6c..00a4662e70 100644 --- a/blueprints/autoscale-machines.mdx +++ b/blueprints/autoscale-machines.mdx @@ -1,5 +1,5 @@ --- -title: "Autoscale Fly Machines with fly-autoscaler" +title: "Autoscale Fly Machines with autostop or fly-autoscaler" sidebarTitle: "Autoscale Machines" description: "Pair fly-autoscaler with Fly Proxy autostop/autostart to keep a fixed number of stopped Machines ready to start as traffic rises and falls through the day." source_url: https://fly.io/docs/blueprints/autoscale-machines/ diff --git a/blueprints/bridge-deployments-wireguard.mdx b/blueprints/bridge-deployments-wireguard.mdx index 7beedd03f6..38adcc1c49 100644 --- a/blueprints/bridge-deployments-wireguard.mdx +++ b/blueprints/bridge-deployments-wireguard.mdx @@ -1,5 +1,5 @@ --- -title: "Connect AWS and other clouds to Fly.io with WireGuard" +title: "Connect AWS and other clouds with WireGuard" sidebarTitle: "Bridge your other deployments to Fly.io" description: "Join a server on AWS or another cloud to your Fly.io private network as a site-to-site WireGuard peer, so Machines and outside services talk privately." source_url: https://fly.io/docs/blueprints/bridge-deployments-wireguard/ diff --git a/blueprints/connect-private-network-wireguard/index.mdx b/blueprints/connect-private-network-wireguard/index.mdx index 42288b348f..07b547468f 100644 --- a/blueprints/connect-private-network-wireguard/index.mdx +++ b/blueprints/connect-private-network-wireguard/index.mdx @@ -1,5 +1,5 @@ --- -title: "Connect to your Fly.io private network with WireGuard" +title: "Connect to your private network with WireGuard" sidebarTitle: "Jack into your private network with WireGuard" description: "Create a WireGuard peer with fly wireguard create and connect your laptop to your Fly.io organization's private network to reach apps and Flycast services." source_url: https://fly.io/docs/blueprints/connect-private-network-wireguard/ diff --git a/blueprints/going-to-production-with-healthcare-apps.mdx b/blueprints/going-to-production-with-healthcare-apps.mdx index 3e4a230449..4a3c5ce1e5 100644 --- a/blueprints/going-to-production-with-healthcare-apps.mdx +++ b/blueprints/going-to-production-with-healthcare-apps.mdx @@ -1,5 +1,5 @@ --- -title: "HIPAA-compliant app hosting on Fly.io" +title: "Run HIPAA-compliant healthcare apps" sidebarTitle: "Going to Production with Healthcare Apps" description: "Evaluate Fly.io for HIPAA: encryption in transit and at rest, network isolation, and access control. Then launch a pilot, sign a BAA, and deploy to production." source_url: https://fly.io/docs/blueprints/going-to-production-with-healthcare-apps/ diff --git a/blueprints/index.mdx b/blueprints/index.mdx index f4138d99d3..a72d5e62d3 100644 --- a/blueprints/index.mdx +++ b/blueprints/index.mdx @@ -1,5 +1,5 @@ --- -title: "Fly.io Guides and Blueprints" +title: "Guides and Blueprints" sidebarTitle: "Guides (Blueprints)" description: "Architecture patterns and how-to guides for Fly.io: per-user Machines, AI agents, MCP servers, deployments, private networking, scaling, and background jobs." source_url: https://fly.io/docs/blueprints/ @@ -15,11 +15,11 @@ Guides for the structure your app on Fly.io. Layouts, tradeoffs, moving parts. - [Run Hermes Agent on Fly.io](/blueprints/hermes-agent-on-fly-io) NEW!! - [Warm pools of user Machines](/blueprints/warm-pool-user-machines) NEW!! - [Deploying Remote MCP Servers](/blueprints/remote-mcp-servers) -- [Resilient apps use multiple Machines](/blueprints/resilient-apps-multiple-machines) -- [Getting Started with N-Tier Architecture](/blueprints/n-tier-architecture) +- [High availability: run multiple Machines](/blueprints/resilient-apps-multiple-machines) +- [N-tier architecture](/blueprints/n-tier-architecture) - [Shared Nothing Architecture](/blueprints/shared-nothing) -- [Session Affinity (a.k.a. Sticky Sessions)](/blueprints/sticky-sessions) -- [Multi-region databases and fly-replay](/blueprints/multi-region-fly-replay) +- [Sticky sessions (session affinity)](/blueprints/sticky-sessions) +- [Multi-region databases with read replicas and fly-replay](/blueprints/multi-region-fly-replay) ## Deployment & Developer Workflow {#deployment-amp-developer-workflow} @@ -27,13 +27,13 @@ Guides for the structure your app on Fly.io. Layouts, tradeoffs, moving parts. Stuff you set up once and adjust when you ship code. Includes previews, base images, staging, and Docker wrangling. - [Working with Docker on Fly.io](/blueprints/working-with-docker) -- [Custom Deploy Workflows](/blueprints/custom-deploy-workflows) -- [Seamless Deployments on Fly.io](/blueprints/seamless-deployments) -- [Rollback Guide](/blueprints/rollback-guide) +- [Custom deploy workflows: staggered and selective deploys](/blueprints/custom-deploy-workflows) +- [Zero-downtime deployments](/blueprints/seamless-deployments) +- [Roll back a deploy](/blueprints/rollback-guide) - [Git Branch Preview Environments on Github](/blueprints/review-apps-guide) -- [Staging and production isolation](/blueprints/staging-prod-isolation) +- [Separate staging and production environments](/blueprints/staging-prod-isolation) - [Per-User Dev Environments with Fly Machines](/blueprints/per-user-dev-environments) -- [Using base images for faster deployments](/blueprints/using-base-images-for-faster-deployments) +- [Use Docker base images for faster deploys](/blueprints/using-base-images-for-faster-deployments) - [Managing Docker Images with Fly.io's Private Registry](/blueprints/using-the-fly-docker-registry) @@ -42,21 +42,21 @@ Stuff you set up once and adjust when you ship code. Includes previews, base ima Connecting things. Public apps, private services, bridging deployments, SSH, and WireGuard. - [Run private apps with Flycast](/blueprints/private-applications-flycast) -- [Jack into your private network with WireGuard](/blueprints/connect-private-network-wireguard) -- [Bridge your other deployments to Fly.io](/blueprints/bridge-deployments-wireguard) -- [Connecting to User Machines](/blueprints/connecting-to-user-machines) -- [Run an SSH server](/blueprints/opensshd) +- [Connect to your private network with WireGuard](/blueprints/connect-private-network-wireguard) +- [Connect AWS and other clouds with WireGuard](/blueprints/bridge-deployments-wireguard) +- [Route requests to per-user Fly Machines](/blueprints/connecting-to-user-machines) +- [Run an SSH server on a Fly Machine](/blueprints/opensshd) ## Scaling, Performance & Observability {#scaling-performance-amp-observability} Make it fast. Make it reliable. Monitor what's happening. -- [Observability for User Apps](/blueprints/observability-for-user-apps) -- [Autoscale Machines](/blueprints/autoscale-machines) -- [Autostart and autostop private apps](/blueprints/autostart-internal-apps) +- [Stream logs from user apps with NATS](/blueprints/observability-for-user-apps) +- [Autoscale Fly Machines with autostop or fly-autoscaler](/blueprints/autoscale-machines) +- [Autostart and autostop private apps with Flycast](/blueprints/autostart-internal-apps) - [Setting Hard and Soft Concurrency Limits](/blueprints/setting-concurrency-limits) - [Using Fly Volume forks for faster startup times](/blueprints/volume-forking) -- [Going to Production with Healthcare Apps](/blueprints/going-to-production-with-healthcare-apps) +- [Run HIPAA-compliant healthcare apps](/blueprints/going-to-production-with-healthcare-apps) ## Background Jobs & Automation {#background-jobs-amp-automation} @@ -65,6 +65,6 @@ How to run periodic tasks, long-running jobs, infrastructure automation, and the - [Long-running tasks and machine lifecycle](/blueprints/long-running-tasks) NEW!! - [Building Infrastructure Automation without Terraform](/blueprints/infra-automation-without-terraform) -- [Deferring long-running tasks to a distributed work queue](/blueprints/work-queues) +- [Background job queues with Celery, BullMQ, and Fly Machines](/blueprints/work-queues) - [Task scheduling guide with Cron Manager and friends](/blueprints/task-scheduling) - [Crontab with Supercronic](/blueprints/supercronic) diff --git a/blueprints/long-running-tasks.mdx b/blueprints/long-running-tasks.mdx index ca7830c9b2..f26e72a5d6 100644 --- a/blueprints/long-running-tasks.mdx +++ b/blueprints/long-running-tasks.mdx @@ -1,6 +1,5 @@ --- -title: "Long-running tasks and auto_stop_machines" -sidebarTitle: "Long-running tasks and machine lifecycle" +title: Long-running tasks and machine lifecycle description: "Why auto_stop_machines can stop a Machine that's still running background work, how Fly Proxy decides a Machine is idle, and two patterns that keep tasks alive." source_url: https://fly.io/docs/blueprints/long-running-tasks/ --- diff --git a/blueprints/n-tier-architecture.mdx b/blueprints/n-tier-architecture.mdx index 5d393a6b8a..f4d311194e 100644 --- a/blueprints/n-tier-architecture.mdx +++ b/blueprints/n-tier-architecture.mdx @@ -1,5 +1,5 @@ --- -title: "N-tier architecture on Fly.io" +title: "N-tier architecture" sidebarTitle: "Getting Started with N-Tier Architecture" description: "What n-tier architecture is, how presentation, web, and data tiers map to Fly Machines, private networking, and Postgres, and how to deploy a multi-tier app." source_url: https://fly.io/docs/blueprints/n-tier-architecture/ diff --git a/blueprints/resilient-apps-multiple-machines.mdx b/blueprints/resilient-apps-multiple-machines.mdx index bb05ead777..82fcca168d 100644 --- a/blueprints/resilient-apps-multiple-machines.mdx +++ b/blueprints/resilient-apps-multiple-machines.mdx @@ -1,5 +1,5 @@ --- -title: "High availability on Fly.io: run multiple Machines" +title: "High availability: run multiple Machines" sidebarTitle: "Resilient apps use multiple Machines" description: "A Fly Machine runs on one host and won't move if that host fails. Run at least two Machines per process, using autostop/autostart or standbys to limit cost." source_url: https://fly.io/docs/blueprints/resilient-apps-multiple-machines/ diff --git a/blueprints/rollback-guide.mdx b/blueprints/rollback-guide.mdx index 9c57bdbc85..7a0b90cda2 100644 --- a/blueprints/rollback-guide.mdx +++ b/blueprints/rollback-guide.mdx @@ -1,5 +1,5 @@ --- -title: "Roll back a deploy on Fly.io" +title: "Roll back a deploy" sidebarTitle: "Rollback Guide" description: "Undo a bad Fly.io deploy: find a previous release image with fly releases --image, redeploy it, tag images clearly, and handle database migrations separately." source_url: https://fly.io/docs/blueprints/rollback-guide/ diff --git a/blueprints/seamless-deployments.mdx b/blueprints/seamless-deployments.mdx index ebd09e0030..286a39baab 100644 --- a/blueprints/seamless-deployments.mdx +++ b/blueprints/seamless-deployments.mdx @@ -1,5 +1,5 @@ --- -title: "Zero-downtime deployments on Fly.io" +title: "Zero-downtime deployments" sidebarTitle: "Seamless Deployments on Fly.io" description: "Get zero-downtime deploys on Fly.io with health checks that work, a rolling, canary, or bluegreen strategy, and release_command for migrations." source_url: https://fly.io/docs/blueprints/seamless-deployments/ diff --git a/blueprints/staging-prod-isolation.mdx b/blueprints/staging-prod-isolation.mdx index 08221e5515..ff90ef9275 100644 --- a/blueprints/staging-prod-isolation.mdx +++ b/blueprints/staging-prod-isolation.mdx @@ -1,5 +1,5 @@ --- -title: "Separate staging and production environments on Fly.io" +title: "Separate staging and production environments" sidebarTitle: "Staging and production isolation" description: "Isolate production from staging on Fly.io by giving each environment its own organization, with separate members, apps, and fly.toml files." source_url: https://fly.io/docs/blueprints/staging-prod-isolation/ diff --git a/blueprints/sticky-sessions.mdx b/blueprints/sticky-sessions.mdx index 61633e9a92..6e7c0bd051 100644 --- a/blueprints/sticky-sessions.mdx +++ b/blueprints/sticky-sessions.mdx @@ -1,5 +1,5 @@ --- -title: "Sticky sessions (session affinity) on Fly.io" +title: "Sticky sessions (session affinity)" sidebarTitle: "Session Affinity (a.k.a. Sticky Sessions)" description: "Send a user's requests to the same Fly Machine with the fly-force-instance-id request header from the client or the fly-replay response header from your server." source_url: https://fly.io/docs/blueprints/sticky-sessions/ From e0c89a7067471e9bffc85046038152a805db98af Mon Sep 17 00:00:00 2001 From: Kristin Martin Date: Thu, 15 Oct 2026 20:56:45 +0000 Subject: [PATCH 3/3] Drop sidebarTitle so the sidebar matches the new titles --- blueprints/autoscale-machines.mdx | 1 - blueprints/autostart-internal-apps.mdx | 1 - blueprints/bridge-deployments-wireguard.mdx | 1 - blueprints/connect-private-network-wireguard/index.mdx | 1 - blueprints/connecting-to-user-machines.mdx | 1 - blueprints/custom-deploy-workflows.mdx | 1 - blueprints/going-to-production-with-healthcare-apps.mdx | 1 - blueprints/index.mdx | 1 - blueprints/multi-region-fly-replay.mdx | 1 - blueprints/n-tier-architecture.mdx | 1 - blueprints/observability-for-user-apps.mdx | 1 - blueprints/opensshd.mdx | 1 - blueprints/remote-mcp-servers.mdx | 1 - blueprints/resilient-apps-multiple-machines.mdx | 1 - blueprints/rollback-guide.mdx | 1 - blueprints/seamless-deployments.mdx | 1 - blueprints/staging-prod-isolation.mdx | 1 - blueprints/sticky-sessions.mdx | 1 - blueprints/using-base-images-for-faster-deployments.mdx | 1 - blueprints/work-queues.mdx | 1 - 20 files changed, 20 deletions(-) diff --git a/blueprints/autoscale-machines.mdx b/blueprints/autoscale-machines.mdx index 00a4662e70..ac508c5b8d 100644 --- a/blueprints/autoscale-machines.mdx +++ b/blueprints/autoscale-machines.mdx @@ -1,6 +1,5 @@ --- title: "Autoscale Fly Machines with autostop or fly-autoscaler" -sidebarTitle: "Autoscale Machines" description: "Pair fly-autoscaler with Fly Proxy autostop/autostart to keep a fixed number of stopped Machines ready to start as traffic rises and falls through the day." source_url: https://fly.io/docs/blueprints/autoscale-machines/ --- diff --git a/blueprints/autostart-internal-apps.mdx b/blueprints/autostart-internal-apps.mdx index a290bb4551..649520b068 100644 --- a/blueprints/autostart-internal-apps.mdx +++ b/blueprints/autostart-internal-apps.mdx @@ -1,6 +1,5 @@ --- title: "Autostart and autostop private apps with Flycast" -sidebarTitle: "Autostart and autostop private apps" description: "Let Fly Proxy start and stop Machines for a private app on demand by giving it a Flycast address instead of public IPs, for new apps or existing ones." source_url: https://fly.io/docs/blueprints/autostart-internal-apps/ --- diff --git a/blueprints/bridge-deployments-wireguard.mdx b/blueprints/bridge-deployments-wireguard.mdx index 38adcc1c49..1eb1ee0db8 100644 --- a/blueprints/bridge-deployments-wireguard.mdx +++ b/blueprints/bridge-deployments-wireguard.mdx @@ -1,6 +1,5 @@ --- title: "Connect AWS and other clouds with WireGuard" -sidebarTitle: "Bridge your other deployments to Fly.io" description: "Join a server on AWS or another cloud to your Fly.io private network as a site-to-site WireGuard peer, so Machines and outside services talk privately." source_url: https://fly.io/docs/blueprints/bridge-deployments-wireguard/ --- diff --git a/blueprints/connect-private-network-wireguard/index.mdx b/blueprints/connect-private-network-wireguard/index.mdx index 07b547468f..4092c6d46a 100644 --- a/blueprints/connect-private-network-wireguard/index.mdx +++ b/blueprints/connect-private-network-wireguard/index.mdx @@ -1,6 +1,5 @@ --- title: "Connect to your private network with WireGuard" -sidebarTitle: "Jack into your private network with WireGuard" description: "Create a WireGuard peer with fly wireguard create and connect your laptop to your Fly.io organization's private network to reach apps and Flycast services." source_url: https://fly.io/docs/blueprints/connect-private-network-wireguard/ --- diff --git a/blueprints/connecting-to-user-machines.mdx b/blueprints/connecting-to-user-machines.mdx index 8580320840..b2a93cca7d 100644 --- a/blueprints/connecting-to-user-machines.mdx +++ b/blueprints/connecting-to-user-machines.mdx @@ -1,6 +1,5 @@ --- title: "Route requests to per-user Fly Machines" -sidebarTitle: "Connecting to User Machines" description: "Route HTTP requests to per-user Fly Machines through a router app with fly-replay, including port matching, authenticating replayed requests, and antipatterns." source_url: https://fly.io/docs/blueprints/connecting-to-user-machines/ --- diff --git a/blueprints/custom-deploy-workflows.mdx b/blueprints/custom-deploy-workflows.mdx index 052fe3d3fb..36211cb894 100644 --- a/blueprints/custom-deploy-workflows.mdx +++ b/blueprints/custom-deploy-workflows.mdx @@ -1,6 +1,5 @@ --- title: "Custom deploy workflows: staggered and selective deploys" -sidebarTitle: "Custom Deploy Workflows" description: "Roll out fly deploy to stopped Machines, one region, or one process group at a time, to deploy gradually without restarting Machines running long jobs." source_url: https://fly.io/docs/blueprints/custom-deploy-workflows/ --- diff --git a/blueprints/going-to-production-with-healthcare-apps.mdx b/blueprints/going-to-production-with-healthcare-apps.mdx index 4a3c5ce1e5..9088ff8436 100644 --- a/blueprints/going-to-production-with-healthcare-apps.mdx +++ b/blueprints/going-to-production-with-healthcare-apps.mdx @@ -1,6 +1,5 @@ --- title: "Run HIPAA-compliant healthcare apps" -sidebarTitle: "Going to Production with Healthcare Apps" description: "Evaluate Fly.io for HIPAA: encryption in transit and at rest, network isolation, and access control. Then launch a pilot, sign a BAA, and deploy to production." source_url: https://fly.io/docs/blueprints/going-to-production-with-healthcare-apps/ --- diff --git a/blueprints/index.mdx b/blueprints/index.mdx index a72d5e62d3..d87dca2fb4 100644 --- a/blueprints/index.mdx +++ b/blueprints/index.mdx @@ -1,6 +1,5 @@ --- title: "Guides and Blueprints" -sidebarTitle: "Guides (Blueprints)" description: "Architecture patterns and how-to guides for Fly.io: per-user Machines, AI agents, MCP servers, deployments, private networking, scaling, and background jobs." source_url: https://fly.io/docs/blueprints/ --- diff --git a/blueprints/multi-region-fly-replay.mdx b/blueprints/multi-region-fly-replay.mdx index 548cd67e0c..b9f5672124 100644 --- a/blueprints/multi-region-fly-replay.mdx +++ b/blueprints/multi-region-fly-replay.mdx @@ -1,6 +1,5 @@ --- title: "Multi-region databases with read replicas and fly-replay" -sidebarTitle: "Multi-region databases and fly-replay" description: "Run your app with a primary database and regional read replicas on Fly.io, and use the fly-replay header to send write requests to the primary region." source_url: https://fly.io/docs/blueprints/multi-region-fly-replay/ --- diff --git a/blueprints/n-tier-architecture.mdx b/blueprints/n-tier-architecture.mdx index f4d311194e..642f94a0bd 100644 --- a/blueprints/n-tier-architecture.mdx +++ b/blueprints/n-tier-architecture.mdx @@ -1,6 +1,5 @@ --- title: "N-tier architecture" -sidebarTitle: "Getting Started with N-Tier Architecture" description: "What n-tier architecture is, how presentation, web, and data tiers map to Fly Machines, private networking, and Postgres, and how to deploy a multi-tier app." source_url: https://fly.io/docs/blueprints/n-tier-architecture/ --- diff --git a/blueprints/observability-for-user-apps.mdx b/blueprints/observability-for-user-apps.mdx index 4e7182f43c..c669756591 100644 --- a/blueprints/observability-for-user-apps.mdx +++ b/blueprints/observability-for-user-apps.mdx @@ -1,6 +1,5 @@ --- title: "Stream logs from user apps with NATS" -sidebarTitle: "Observability for User Apps" description: "Monitor apps your users run on Fly.io: deploy the fly-telemetry forwarder, subscribe to the NATS log stream, and route each user app's logs back to that user." source_url: https://fly.io/docs/blueprints/observability-for-user-apps/ --- diff --git a/blueprints/opensshd.mdx b/blueprints/opensshd.mdx index 53d292497b..2833507202 100644 --- a/blueprints/opensshd.mdx +++ b/blueprints/opensshd.mdx @@ -1,6 +1,5 @@ --- title: "Run an SSH server on a Fly Machine" -sidebarTitle: "Run an SSH server" description: "Install and run OpenSSH in your Fly.io app so rsync, scp, sshfs, VS Code Remote, Ansible, or Kamal can connect over SSH, with key setup and port 22 mapping." source_url: https://fly.io/docs/blueprints/opensshd/ --- diff --git a/blueprints/remote-mcp-servers.mdx b/blueprints/remote-mcp-servers.mdx index dd7c009d44..fa6e4a904d 100644 --- a/blueprints/remote-mcp-servers.mdx +++ b/blueprints/remote-mcp-servers.mdx @@ -1,6 +1,5 @@ --- title: "Remote MCP Server Hosting: Deploy MCP Servers on Fly.io" -sidebarTitle: "Deploying Remote MCP Servers" description: "Host a remote MCP server on a Fly Machine that any MCP client can reach over HTTP and that stops when idle, as a multi-tenant app or one app per user." source_url: https://fly.io/docs/blueprints/remote-mcp-servers/ --- diff --git a/blueprints/resilient-apps-multiple-machines.mdx b/blueprints/resilient-apps-multiple-machines.mdx index 82fcca168d..0dd81490d1 100644 --- a/blueprints/resilient-apps-multiple-machines.mdx +++ b/blueprints/resilient-apps-multiple-machines.mdx @@ -1,6 +1,5 @@ --- title: "High availability: run multiple Machines" -sidebarTitle: "Resilient apps use multiple Machines" description: "A Fly Machine runs on one host and won't move if that host fails. Run at least two Machines per process, using autostop/autostart or standbys to limit cost." source_url: https://fly.io/docs/blueprints/resilient-apps-multiple-machines/ --- diff --git a/blueprints/rollback-guide.mdx b/blueprints/rollback-guide.mdx index 7a0b90cda2..a0ee8644c6 100644 --- a/blueprints/rollback-guide.mdx +++ b/blueprints/rollback-guide.mdx @@ -1,6 +1,5 @@ --- title: "Roll back a deploy" -sidebarTitle: "Rollback Guide" description: "Undo a bad Fly.io deploy: find a previous release image with fly releases --image, redeploy it, tag images clearly, and handle database migrations separately." source_url: https://fly.io/docs/blueprints/rollback-guide/ --- diff --git a/blueprints/seamless-deployments.mdx b/blueprints/seamless-deployments.mdx index 286a39baab..edba370ae2 100644 --- a/blueprints/seamless-deployments.mdx +++ b/blueprints/seamless-deployments.mdx @@ -1,6 +1,5 @@ --- title: "Zero-downtime deployments" -sidebarTitle: "Seamless Deployments on Fly.io" description: "Get zero-downtime deploys on Fly.io with health checks that work, a rolling, canary, or bluegreen strategy, and release_command for migrations." source_url: https://fly.io/docs/blueprints/seamless-deployments/ --- diff --git a/blueprints/staging-prod-isolation.mdx b/blueprints/staging-prod-isolation.mdx index ff90ef9275..3720f88d95 100644 --- a/blueprints/staging-prod-isolation.mdx +++ b/blueprints/staging-prod-isolation.mdx @@ -1,6 +1,5 @@ --- title: "Separate staging and production environments" -sidebarTitle: "Staging and production isolation" description: "Isolate production from staging on Fly.io by giving each environment its own organization, with separate members, apps, and fly.toml files." source_url: https://fly.io/docs/blueprints/staging-prod-isolation/ --- diff --git a/blueprints/sticky-sessions.mdx b/blueprints/sticky-sessions.mdx index 6e7c0bd051..c06f3a1f4c 100644 --- a/blueprints/sticky-sessions.mdx +++ b/blueprints/sticky-sessions.mdx @@ -1,6 +1,5 @@ --- title: "Sticky sessions (session affinity)" -sidebarTitle: "Session Affinity (a.k.a. Sticky Sessions)" description: "Send a user's requests to the same Fly Machine with the fly-force-instance-id request header from the client or the fly-replay response header from your server." source_url: https://fly.io/docs/blueprints/sticky-sessions/ --- diff --git a/blueprints/using-base-images-for-faster-deployments.mdx b/blueprints/using-base-images-for-faster-deployments.mdx index 6f5349a7de..5f785b3251 100644 --- a/blueprints/using-base-images-for-faster-deployments.mdx +++ b/blueprints/using-base-images-for-faster-deployments.mdx @@ -1,6 +1,5 @@ --- title: "Use Docker base images for faster deploys" -sidebarTitle: "Using base images for faster deployments" description: "Build a shared base image as its own Fly.io app, push it to the Fly registry, and use it in FROM so each deploy rebuilds only your app, not every dependency." source_url: https://fly.io/docs/blueprints/using-base-images-for-faster-deployments/ --- diff --git a/blueprints/work-queues.mdx b/blueprints/work-queues.mdx index dca9346fde..cc1b3264df 100644 --- a/blueprints/work-queues.mdx +++ b/blueprints/work-queues.mdx @@ -1,6 +1,5 @@ --- title: "Background job queues with Celery, BullMQ, and Fly Machines" -sidebarTitle: "Deferring long-running tasks to a work queue" description: "Move slow work like PDFs, emails, and API calls out of web requests into a work queue, using Celery for Python, BullMQ for Node, or on-demand Fly Machines." source_url: https://fly.io/docs/blueprints/work-queues/ ---