diff --git a/blueprints/autoscale-machines.mdx b/blueprints/autoscale-machines.mdx index 2105a27f4f..ac508c5b8d 100644 --- a/blueprints/autoscale-machines.mdx +++ b/blueprints/autoscale-machines.mdx @@ -1,5 +1,6 @@ --- -title: Autoscale Machines +title: "Autoscale Fly Machines with autostop or fly-autoscaler" +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..649520b068 100644 --- a/blueprints/autostart-internal-apps.mdx +++ b/blueprints/autostart-internal-apps.mdx @@ -1,5 +1,6 @@ --- -title: Autostart and autostop private apps +title: "Autostart and autostop private apps with Flycast" +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..1eb1ee0db8 100644 --- a/blueprints/bridge-deployments-wireguard.mdx +++ b/blueprints/bridge-deployments-wireguard.mdx @@ -1,5 +1,6 @@ --- -title: Bridge your other deployments to Fly.io +title: "Connect AWS and other clouds with WireGuard" +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..4092c6d46a 100644 --- a/blueprints/connect-private-network-wireguard/index.mdx +++ b/blueprints/connect-private-network-wireguard/index.mdx @@ -1,5 +1,6 @@ --- -title: Jack into your private network with WireGuard +title: "Connect to 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..b2a93cca7d 100644 --- a/blueprints/connecting-to-user-machines.mdx +++ b/blueprints/connecting-to-user-machines.mdx @@ -1,5 +1,6 @@ --- -title: Connecting to User Machines +title: "Route requests to per-user Fly 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..36211cb894 100644 --- a/blueprints/custom-deploy-workflows.mdx +++ b/blueprints/custom-deploy-workflows.mdx @@ -1,5 +1,6 @@ --- -title: Custom Deploy Workflows +title: "Custom deploy workflows: staggered and selective deploys" +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..9088ff8436 100644 --- a/blueprints/going-to-production-with-healthcare-apps.mdx +++ b/blueprints/going-to-production-with-healthcare-apps.mdx @@ -1,5 +1,6 @@ --- -title: Going to Production with Healthcare Apps +title: "Run HIPAA-compliant 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..d87dca2fb4 100644 --- a/blueprints/index.mdx +++ b/blueprints/index.mdx @@ -1,5 +1,6 @@ --- -title: Guides (Blueprints) +title: "Guides and 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/ --- @@ -13,11 +14,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} @@ -25,13 +26,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) @@ -40,21 +41,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} @@ -63,6 +64,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/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..f26e72a5d6 100644 --- a/blueprints/long-running-tasks.mdx +++ b/blueprints/long-running-tasks.mdx @@ -1,5 +1,6 @@ --- 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/multi-region-fly-replay.mdx b/blueprints/multi-region-fly-replay.mdx index 704cd45c5f..b9f5672124 100644 --- a/blueprints/multi-region-fly-replay.mdx +++ b/blueprints/multi-region-fly-replay.mdx @@ -1,5 +1,6 @@ --- -title: Multi-region databases and fly-replay +title: "Multi-region databases with read replicas 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..642f94a0bd 100644 --- a/blueprints/n-tier-architecture.mdx +++ b/blueprints/n-tier-architecture.mdx @@ -1,5 +1,6 @@ --- -title: Getting Started with N-Tier Architecture +title: "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..c669756591 100644 --- a/blueprints/observability-for-user-apps.mdx +++ b/blueprints/observability-for-user-apps.mdx @@ -1,5 +1,6 @@ --- -title: Observability for User Apps +title: "Stream logs from user apps with NATS" +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..2833507202 100644 --- a/blueprints/opensshd.mdx +++ b/blueprints/opensshd.mdx @@ -1,5 +1,6 @@ --- -title: Run an SSH server +title: "Run an SSH server on a Fly Machine" +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..fa6e4a904d 100644 --- a/blueprints/remote-mcp-servers.mdx +++ b/blueprints/remote-mcp-servers.mdx @@ -1,5 +1,6 @@ --- title: "Remote MCP Server Hosting: Deploy MCP Servers on Fly.io" +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..0dd81490d1 100644 --- a/blueprints/resilient-apps-multiple-machines.mdx +++ b/blueprints/resilient-apps-multiple-machines.mdx @@ -1,5 +1,6 @@ --- -title: Resilient apps use multiple Machines +title: "High availability: run 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..a0ee8644c6 100644 --- a/blueprints/rollback-guide.mdx +++ b/blueprints/rollback-guide.mdx @@ -1,5 +1,6 @@ --- -title: Rollback Guide +title: "Roll back a deploy" +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..edba370ae2 100644 --- a/blueprints/seamless-deployments.mdx +++ b/blueprints/seamless-deployments.mdx @@ -1,5 +1,6 @@ --- -title: Seamless Deployments on Fly.io +title: "Zero-downtime deployments" +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..3720f88d95 100644 --- a/blueprints/staging-prod-isolation.mdx +++ b/blueprints/staging-prod-isolation.mdx @@ -1,5 +1,6 @@ --- -title: Staging and production isolation +title: "Separate staging and production environments" +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..c06f3a1f4c 100644 --- a/blueprints/sticky-sessions.mdx +++ b/blueprints/sticky-sessions.mdx @@ -1,5 +1,6 @@ --- -title: Session Affinity (a.k.a. Sticky Sessions) +title: "Sticky sessions (session affinity)" +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..5f785b3251 100644 --- a/blueprints/using-base-images-for-faster-deployments.mdx +++ b/blueprints/using-base-images-for-faster-deployments.mdx @@ -1,5 +1,6 @@ --- -title: Using base images for faster deployments +title: "Use Docker base images for faster deploys" +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..cc1b3264df 100644 --- a/blueprints/work-queues.mdx +++ b/blueprints/work-queues.mdx @@ -1,5 +1,6 @@ --- -title: Deferring long-running tasks to a distributed work queue +title: "Background job queues with Celery, BullMQ, and Fly Machines" +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/ ---