# Fly.io - [Getting started](https://docs.fly.io/getting-started/index.md) - [Sign up and sign in to Fly.io](https://docs.fly.io/getting-started/sign-up-sign-in.md) - [Quickstart: Launch your app](https://docs.fly.io/getting-started/launch.md) - [Launch a demo app](https://docs.fly.io/getting-started/launch-demo.md) - [Deep dive demo](https://docs.fly.io/deep-dive/index.md) - [Launch the demo](https://docs.fly.io/deep-dive/launch-deep-dive.md) - [Your Fly App](https://docs.fly.io/deep-dive/application.md) - [Deep Dive: PostgreSQL](https://docs.fly.io/deep-dive/postgresql.md) - [Tigris](https://docs.fly.io/deep-dive/tigris.md) - [Upstash Redis](https://docs.fly.io/deep-dive/redis.md) - [Whisper](https://docs.fly.io/deep-dive/whisper.md) - [Recap](https://docs.fly.io/deep-dive/recap.md) - [Django demo reference](https://docs.fly.io/deep-dive/django.md) - [Next.js demo reference](https://docs.fly.io/deep-dive/nextjs.md) - [Node.js demo reference](https://docs.fly.io/deep-dive/nodejs.md) - [Phoenix demo reference](https://docs.fly.io/deep-dive/phoenix.md) - [Rails demo reference](https://docs.fly.io/deep-dive/rails.md) - [Get started with your language or framework](https://docs.fly.io/getting-started/get-started-by-framework.md) - [Fly.io essentials](https://docs.fly.io/getting-started/essentials.md) - [Migrate from Heroku](https://docs.fly.io/getting-started/migrate-from-heroku.md) - [Troubleshoot your deployment](https://docs.fly.io/getting-started/troubleshooting.md) - [Guides and Examples](https://docs.fly.io/guides.md) - [Containers](https://docs.fly.io/containers.md) - [Guides (Blueprints)](https://docs.fly.io/blueprints/index.md) - [Deploy OpenClaw on Fly.io](https://docs.fly.io/blueprints/deploy-openclaw.md) - [Run Hermes Agent on Fly.io](https://docs.fly.io/blueprints/hermes-agent-on-fly-io.md) - [Warm pools of user Machines](https://docs.fly.io/blueprints/warm-pool-user-machines.md) - [Remote MCP Server Hosting: Deploy MCP Servers on Fly.io](https://docs.fly.io/blueprints/remote-mcp-servers.md) - [Resilient apps use multiple Machines](https://docs.fly.io/blueprints/resilient-apps-multiple-machines.md) - [Getting Started with N-Tier Architecture](https://docs.fly.io/blueprints/n-tier-architecture.md) - [Shared Nothing Architecture](https://docs.fly.io/blueprints/shared-nothing.md): Scale a Rails app as a shared-nothing monolith on Fly.io, with per-tenant SQLite on volumes, Phusion Passenger, Fly-Replay routing, and backups. - [Session Affinity (a.k.a. Sticky Sessions)](https://docs.fly.io/blueprints/sticky-sessions.md) - [Multi-region databases and fly-replay](https://docs.fly.io/blueprints/multi-region-fly-replay.md) - [Cell-based architecture](https://docs.fly.io/blueprints/cell-based.md) - [Working with Docker on Fly.io](https://docs.fly.io/blueprints/working-with-docker.md) - [Custom Deploy Workflows](https://docs.fly.io/blueprints/custom-deploy-workflows.md) - [Seamless Deployments on Fly.io](https://docs.fly.io/blueprints/seamless-deployments.md) - [Rollback Guide](https://docs.fly.io/blueprints/rollback-guide.md) - [Git Branch Preview Environments on Github](https://docs.fly.io/blueprints/review-apps-guide.md) - [Staging and production isolation](https://docs.fly.io/blueprints/staging-prod-isolation.md) - [Per-User Dev Environments with Fly Machines](https://docs.fly.io/blueprints/per-user-dev-environments.md) - [Using base images for faster deployments](https://docs.fly.io/blueprints/using-base-images-for-faster-deployments.md) - [Managing Docker Images with Fly.io's Private Registry](https://docs.fly.io/blueprints/using-the-fly-docker-registry.md) - [Run private apps with Flycast](https://docs.fly.io/blueprints/private-applications-flycast.md) - [Jack into your private network with WireGuard](https://docs.fly.io/blueprints/connect-private-network-wireguard/index.md) - [Bridge your other deployments to Fly.io](https://docs.fly.io/blueprints/bridge-deployments-wireguard.md) - [Connecting to User Machines](https://docs.fly.io/blueprints/connecting-to-user-machines.md) - [Run an SSH server](https://docs.fly.io/blueprints/opensshd.md) - [Observability for User Apps](https://docs.fly.io/blueprints/observability-for-user-apps.md) - [Autoscale Machines](https://docs.fly.io/blueprints/autoscale-machines.md) - [Autostart and autostop private apps](https://docs.fly.io/blueprints/autostart-internal-apps.md) - [Setting Hard and Soft Concurrency Limits on Fly.io](https://docs.fly.io/blueprints/setting-concurrency-limits.md) - [Using Fly Volume forks for faster startup times](https://docs.fly.io/blueprints/volume-forking.md) - [Going to Production with Healthcare Apps](https://docs.fly.io/blueprints/going-to-production-with-healthcare-apps.md) - [Long-running tasks and machine lifecycle](https://docs.fly.io/blueprints/long-running-tasks.md) - [Building Infrastructure Automation without Terraform](https://docs.fly.io/blueprints/infra-automation-without-terraform.md) - [Deferring long-running tasks to a distributed work queue](https://docs.fly.io/blueprints/work-queues.md) - [Task scheduling guide with Cron Manager and friends](https://docs.fly.io/blueprints/task-scheduling.md) - [Crontab with Supercronic](https://docs.fly.io/blueprints/supercronic.md) - [Deno KV with LiteFS Cloud](https://docs.fly.io/blueprints/deno-kv-litefs.md) - [Model Context Protocol](https://docs.fly.io/model-context-protocol/index.md) - [Launch an MCP Server with fly mcp launch](https://docs.fly.io/model-context-protocol/launch.md) - [Deploy with](https://docs.fly.io/model-context-protocol/deploy-with.md) - [Deploy an MCP Server with fly launch](https://docs.fly.io/model-context-protocol/deploy-with/fly-launch.md): Deploy an MCP server with fly launch on Fly.io from a short Dockerfile, use --flycast for private access, and redeploy changes to fly.toml with fly deploy. - [fly machines run](https://docs.fly.io/model-context-protocol/deploy-with/flyctl-machines.md): Deploy an MCP server with fly machine run on Fly.io: create the app, allocate IPs, add a volume, and start a Machine that uses fly mcp wrap as its entrypoint. - [Deploy an MCP Server with the Machines API](https://docs.fly.io/model-context-protocol/deploy-with/machines-api.md): Deploy an MCP server with the Machines API on Fly.io using curl and an org token to create the app, IP addresses, volume and Machine through REST calls. - [Deploy on](https://docs.fly.io/model-context-protocol/deploy-on.md) - [A Fly Machine](https://docs.fly.io/model-context-protocol/deploy-on/fly-machine.md): Run a remote MCP server on a Fly Machine: launch the flyio/mcp filesystem image on Fly.io, test it in the MCP inspector, and connect Claude Desktop. - [Your application](https://docs.fly.io/model-context-protocol/deploy-on/your-app.md): Run an MCP server inside your own Phoenix or Rails app on Fly.io with Tidewave, then point Cursor or another MCP client at it through mcp.json. - [MCP Transports](https://docs.fly.io/model-context-protocol/transports.md) - [SSE](https://docs.fly.io/model-context-protocol/transports/sse.md): Deploy an SSE MCP server on Fly.io as is: expose its port, disable smoke checks in fly launch, and connect the MCP inspector or Cursor to the /sse URL. - [stdio](https://docs.fly.io/model-context-protocol/transports/stdio.md): Run a stdio MCP server remotely on Fly.io by wrapping it with fly mcp wrap in the Dockerfile and connecting from Claude Desktop through fly mcp proxy. - [Streaming HTTP](https://docs.fly.io/model-context-protocol/transports/streaming-http.md): Deploy a Streamable HTTP MCP server on Fly.io unchanged: expose port 3001, launch without smoke checks, and connect the MCP inspector or Cursor to the /mcp URL. - [Access Control](https://docs.fly.io/model-context-protocol/access-control.md) - [Wireguard tunnels and Flycast](https://docs.fly.io/model-context-protocol/access-control/flycast.md): Keep an MCP server off the public internet on Fly.io with a private IPv6 address and Flycast, then reach it with fly mcp proxy using .internal or .flycast URLs. - [HTTP Authorization](https://docs.fly.io/model-context-protocol/access-control/http-authorization.md): Protect an MCP server on Fly.io with basic or bearer HTTP authorization: set FLY_MCP secrets on the app and pass matching flags to fly mcp proxy. - [flyctl mcp server](https://docs.fly.io/model-context-protocol/flyctl-server.md) - [Examples](https://docs.fly.io/model-context-protocol/examples.md) - [Chat: A 6PN Example with NATS](https://docs.fly.io/app-guides/6pndemochat.md) - [EdgeDB on Fly](https://docs.fly.io/app-guides/edgedb.md) - [Fauna and Fly.io](https://docs.fly.io/app-guides/fauna.md) - [Appkata: Gogs - standalone Git Server](https://docs.fly.io/app-guides/git-gogs-server.md) - [Run an NGINX proxy on Fly](https://docs.fly.io/app-guides/global-nginx-proxy.md) - [Apollo GraphQL + Edge Caching](https://docs.fly.io/app-guides/graphql-edge-caching-apollo.md) - [GraphQL on Fly with Hasura](https://docs.fly.io/app-guides/graphql-on-fly-with-hasura.md) - [Deploy gRPC and gRPC-Web Services](https://docs.fly.io/app-guides/grpc-and-grpc-web-services.md) - [Deploy Livebook on Fly.io](https://docs.fly.io/app-guides/livebook.md) - [Deploy MinIO Object Storage to Fly.io](https://docs.fly.io/app-guides/minio.md) - [Appkata: MQTT - Event driven messaging](https://docs.fly.io/app-guides/mqtt.md) - [Use a MySQL Database](https://docs.fly.io/app-guides/mysql-on-fly.md) - [Global NATS Cluster](https://docs.fly.io/app-guides/nats-cluster.md) - [Appkata: Node-RED - Flow Programming](https://docs.fly.io/app-guides/node-red.md) - [OpenResty: NGINX + Lua](https://docs.fly.io/app-guides/openresty-nginx-plus-lua.md) - [Fly.io and PlanetScale](https://docs.fly.io/app-guides/planetscale.md) - [Postgres: A single server deployment for Fly](https://docs.fly.io/app-guides/postgres.md) - [Puppeteer JS Renderer](https://docs.fly.io/app-guides/puppeteer-js-renderer.md) - [Redis - standalone Redis Server](https://docs.fly.io/app-guides/redis.md) - [Appkata: Redistls - Redis Server with TLS](https://docs.fly.io/app-guides/redistls.md) - [Global Image Processing Service](https://docs.fly.io/app-guides/run-a-global-image-service.md) - [Run A Private DNS Over HTTPS Service](https://docs.fly.io/app-guides/run-a-private-dns-over-https-service.md) - [Smokescreen - Sanitize outbound web requests](https://docs.fly.io/app-guides/smokescreen.md) - [VS Code - Remote Server over SSH](https://docs.fly.io/app-guides/vscode-remote.md) - [Apps on Fly.io](https://docs.fly.io/apps/index.md) - [Fly Apps overview](https://docs.fly.io/apps/overview.md) - [Get information about an app](https://docs.fly.io/apps/info.md) - [Restart apps or Machines](https://docs.fly.io/apps/restart.md) - [Delete an app](https://docs.fly.io/apps/delete.md) - [Move an app between organizations](https://docs.fly.io/apps/move-app-org.md) - [Fly Launch](https://docs.fly.io/launch/index.md) - [Create an app with Fly Launch](https://docs.fly.io/launch/create.md) - [Deploy an app](https://docs.fly.io/launch/deploy.md) - [Scale Machine CPU and RAM](https://docs.fly.io/launch/scale-machine.md) - [Scale the Number of Machines](https://docs.fly.io/launch/scale-count.md) - [Autostop/autostart Machines](https://docs.fly.io/launch/autostop-autostart.md) - [Autoscale based on metrics](https://docs.fly.io/launch/autoscale-by-metric.md) - [Add volume storage to a Fly Launch app](https://docs.fly.io/launch/volume-storage.md) - [Run multiple process groups in an app](https://docs.fly.io/launch/processes.md) - [Continuous Deployment with Fly.io and GitHub Actions](https://docs.fly.io/launch/continuous-deployment-with-github-actions.md) - [Monorepo and multi-environment deployments](https://docs.fly.io/launch/monorepo.md) - [Troubleshoot apps when a host is unavailable](https://docs.fly.io/apps/trouble-host-unavailable.md) - [App configuration (fly.toml)](https://docs.fly.io/reference/configuration.md) - [Secrets and Fly Apps](https://docs.fly.io/apps/secrets.md) - [Build Secrets](https://docs.fly.io/apps/build-secrets.md) - [Going to production checklist](https://docs.fly.io/apps/going-to-production.md) - [App Availability and Resiliency](https://docs.fly.io/apps/app-availability.md) - [Tips to fine-tune your app on Fly.io](https://docs.fly.io/apps/fine-tune-apps.md) - [App handover guide](https://docs.fly.io/apps/app-handover-guide.md) - [Guidelines for concurrency settings](https://docs.fly.io/apps/concurrency.md) - [Language & Framework Guides](https://docs.fly.io/languages-and-frameworks/index.md) - [Elixir on Fly.io](https://docs.fly.io/elixir/index.md) - [Deploy a Phoenix App](https://docs.fly.io/elixir/getting-started/index.md): Deploy an Elixir Phoenix app to Fly.io with Postgres. Generate the app, configure it with fly launch, and ship it with fly deploy. - [Migrate an Elixir App from Heroku](https://docs.fly.io/elixir/getting-started/migrate-from-heroku.md) - [Deploy an Existing Elixir App](https://docs.fly.io/elixir/getting-started/existing.md): Move an existing Elixir or Phoenix app to Fly.io: launch with fly launch, attach Postgres, deploy, and troubleshoot your first release. - [Legacy pre v1.6.3 Phoenix App](https://docs.fly.io/elixir/getting-started/legacy.md): Deploy a Phoenix app generated before v1.6.3 to Fly.io: configure releases and IPv6, add a Dockerfile, set secrets, and attach a Fly Postgres database. - [Elixir: The Basics](https://docs.fly.io/elixir/the-basics.md) - [IEx into Your Running App](https://docs.fly.io/elixir/the-basics/iex-into-running-app.md): Open an IEx shell into a running Elixir app on Fly.io with fly ssh console and the --pty flag, and wrap the command in a short shell script for quick access. - [Clustering Your Application](https://docs.fly.io/elixir/the-basics/clustering.md): Cluster Elixir nodes on Fly.io with dns_cluster and node names built from the app name and private IPv6 address, then scale across regions with a static cookie. - [Troubleshooting](https://docs.fly.io/elixir/the-basics/troubleshooting.md): Troubleshoot Elixir deploys on Fly.io: test releases and Docker builds locally, check IPv6 config, tune connection limits, and debug clustering. - [Elixir: Advanced Guides](https://docs.fly.io/elixir/advanced-guides.md) - [GitHub Actions for Elixir CI/CD](https://docs.fly.io/elixir/advanced-guides/github-actions-elixir-ci-cd.md): Set up a GitHub Actions CI workflow for an Elixir project with a Postgres service, dependency caching, and retries, then auto-deploy it to Fly.io. - [Connecting Observer to Your App in Production](https://docs.fly.io/elixir/advanced-guides/connect-observer-to-your-app.md): Run Erlang Observer locally and connect it to a production Elixir app on Fly.io over a WireGuard tunnel to inspect and kill processes, with a helper script. - [Connecting Livebook to Your App in Production](https://docs.fly.io/elixir/advanced-guides/connect-livebook-to-your-app.md): Connect a local Livebook to your production Elixir app on Fly.io over WireGuard, covering Elixir version requirements, the node name, and the shared cookie. - [Explore Your Production App with Livebook](https://docs.fly.io/elixir/advanced-guides/interesting-things-with-livebook.md): Use Livebook connected to your Elixir app on Fly.io for business intelligence, querying production data and charting it with VegaLite and Kino. - [Easy Clustering from Home to Fly.io](https://docs.fly.io/elixir/advanced-guides/clustering-from-home-to-your-app-in-fly.md): Cluster a local Elixir node with an Elixir app running on Fly.io over WireGuard, with cookie and IPv6 setup plus a bash script that automates the connection. - [Elixir: SQLite3](https://docs.fly.io/elixir/advanced-guides/sqlite3.md): Run a Phoenix app with SQLite3 on Fly.io by storing the database on a volume, running migrations on startup, and copying data over from Postgres or MySQL. - [Rails on Fly.io](https://docs.fly.io/rails/index.md) - [Deploy a Rails App](https://docs.fly.io/rails/getting-started/index.md): Deploy a Rails app to Fly.io. Generate a new app, run fly launch to create a Dockerfile and fly.toml, and deploy it in a few minutes. - [Deploy an Existing Rails App](https://docs.fly.io/rails/getting-started/existing.md): Move an existing Rails app to Fly.io: provision Postgres and Redis, launch with fly launch, deploy, and troubleshoot common issues. - [Dockerfiles and fly.toml](https://docs.fly.io/rails/getting-started/dockerfiles.md) - [Experimental Fly Rails Gem](https://docs.fly.io/rails/getting-started/fly-rails.md) - [Rails: The Basics](https://docs.fly.io/rails/the-basics.md) - [Environment Configuration](https://docs.fly.io/rails/the-basics/configuration.md): Configure a Rails app on Fly.io with secrets, non-sensitive env vars in fly.toml, and encrypted credentials files unlocked by setting RAILS_MASTER_KEY. - [Deployments](https://docs.fly.io/rails/the-basics/deployments.md): Deploy a Rails app to Fly.io with fly deploy, view release history, debug failed deploys with fly logs, and control how database migrations run on deploy. - [Active Record](https://docs.fly.io/rails/the-basics/active-record.md): Build a Rails app with a scaffolded Postgres table and deploy it to Fly.io with fly launch, which detects the app needs Postgres and provisions it. - [Active Storage](https://docs.fly.io/rails/the-basics/active-storage.md): Set up Rails Active Storage on Fly.io with a Tigris bucket, automatically through fly launch or with fly storage create and the dockerfile-rails generator. - [Turbo Streams & Action Cable](https://docs.fly.io/rails/the-basics/turbo-streams-and-action-cable.md): Deploy Rails Turbo Streams and Action Cable on Fly.io by creating an Upstash Redis database, setting REDIS_URL, and testing live updates across browsers. - [Sidekiq Background Workers](https://docs.fly.io/rails/the-basics/sidekiq.md): Run Sidekiq background workers for a Rails app on Fly.io as a separate process group in fly.toml, backed by Redis, and scale app and worker counts. - [Running Tasks & Consoles](https://docs.fly.io/rails/the-basics/run-tasks-and-consoles.md): Open a Rails console, an interactive shell, or run rake and custom Rails tasks on a production app on Fly.io using fly ssh console with the pty flag. - [Rails: Advanced Guides](https://docs.fly.io/rails/advanced-guides.md) - [AnyCable](https://docs.fly.io/rails/advanced-guides/anycable.md): Replace Action Cable with AnyCable in a Rails app on Fly.io, adding anycable-go, nginx and foreman to the Dockerfile and running everything on one 512MB VM. - [Rails: Multiple Fly Applications](https://docs.fly.io/rails/advanced-guides/multiple-applications.md): Run extra services like Redis alongside a Rails project as separate Fly.io apps, each in its own subfolder with its own fly.toml, deployed on its own. - [LiteFS](https://docs.fly.io/rails/advanced-guides/litefs.md): Replicate a Rails app's SQLite database across regions with LiteFS on Fly.io, using the dockerfile-rails generator and fly machine clone to add a replica. - [Machine API](https://docs.fly.io/rails/advanced-guides/machine.md): Launch Fly Machines from a Rails Active Job using the fly.io-rails gem, running each background task on its own Machine and deleting it when it exits on Fly.io. - [Multi-region Deployments](https://docs.fly.io/rails/advanced-guides/multi-region.md): Run a Rails app in multiple regions on Fly.io, with pointers to the fly-ruby gem, global Redis for caching and Action Cable, and Postgres read replicas. - [Rails: SQLite3](https://docs.fly.io/rails/advanced-guides/sqlite3.md): Use SQLite3 as the database for a Rails app on Fly.io by creating a volume, mounting it in fly.toml, and pointing DATABASE_URL at a file on the volume. - [Phusion Passenger](https://docs.fly.io/rails/advanced-guides/phusion-passenger.md): Replace Puma with nginx and Phusion Passenger in a Rails app on Fly.io using the passenger-full Docker image, plus nginx site and environment variable config. - [Cookbooks](https://docs.fly.io/rails/cookbooks/index.md) - [Minimal Rails application](https://docs.fly.io/rails/cookbooks/minimal.md) - [Rails with Databases](https://docs.fly.io/rails/cookbooks/databases.md) - [Rails with Node.js](https://docs.fly.io/rails/cookbooks/node.md) - [Rails API-only Applications](https://docs.fly.io/rails/cookbooks/api.md) - [Copy source](https://docs.fly.io/rails/cookbooks/sources.md) - [Optimizing your build](https://docs.fly.io/rails/cookbooks/build.md) - [Optimizing your deployment](https://docs.fly.io/rails/cookbooks/deploy.md) - [Laravel on Fly.io](https://docs.fly.io/laravel/index.md) - [Laravel: The Basics](https://docs.fly.io/laravel/the-basics.md) - [PHP and Node Versions](https://docs.fly.io/laravel/the-basics/php-node-version.md): Set the PHP and Node.js versions for a Laravel app on Fly.io with build args in fly.toml or --build-arg flags on fly deploy, and see the default versions. - [Customizing Deployments](https://docs.fly.io/laravel/the-basics/customizing-deployments.md): Customize Laravel deployments on Fly.io with startup scripts in .fly/scripts and a release_command for migrations, and detect release runs with RELEASE_COMMAND. - [Post Deployment](https://docs.fly.io/laravel/the-basics/post-deployment.md): Manage a deployed Laravel app on Fly.io: open a shell with fly ssh console, view logs with fly logs or the dashboard, and keep log files on a volume. - [Logging Stack Traces](https://docs.fly.io/laravel/the-basics/logging-stack-traces.md): Get full stack traces in Laravel logs on Fly.io by adding includeStacktraces to the stderr channel's formatter_with settings in config/logging.php. - [Cron and Queues](https://docs.fly.io/laravel/the-basics/cron-and-queues.md): Run Laravel's scheduler and queue workers on Fly.io by adding cron and worker process groups to fly.toml alongside the app process that serves web traffic. - [Persisting the Storage Folder](https://docs.fly.io/laravel/the-basics/laravel-volume-storage.md): Persist the Laravel storage folder on Fly.io by creating a volume for each Machine, mounting it in fly.toml, and re-initializing the folder at startup. - [Tigris for CDN File Storage](https://docs.fly.io/laravel/the-basics/laravel-tigris-file-storage.md): Store Laravel files in a Tigris bucket on Fly.io: create it with fly storage create, map its credentials to the S3 driver, and serve public files. - [Database guides](https://docs.fly.io/laravel/database-guides.md) - [Laravel and MySQL](https://docs.fly.io/laravel/database-guides/laravel-mysql.md): Connect a Laravel app on Fly.io to MySQL running as a Fly app or on PlanetScale, using .internal addresses, secrets, and fly proxy for local access. - [Laravel and PostgreSQL](https://docs.fly.io/laravel/database-guides/laravel-pgsql.md): Connect a Laravel app on Fly.io to Postgres with fly postgres attach or manual setup, set DB_URL for Laravel 11, and connect from your local machine. - [Laravel and Redis](https://docs.fly.io/laravel/database-guides/laravel-redis.md): Connect a Laravel app on Fly.io to Redis, either a self-hosted Redis Fly app with a volume and password or Upstash Redis, from production and locally. - [Laravel and SQlite](https://docs.fly.io/laravel/database-guides/laravel-sqlite.md): Use SQLite as the database for a Laravel app on Fly.io: set DB_CONNECTION in fly.toml, keep the file on a volume, and look to LiteFS for multiple Machines. - [Laravel Database Migration](https://docs.fly.io/laravel/database-guides/laravel-db-migrations.md): Run php artisan migrate for a Laravel app on Fly.io four ways: a release_command in fly.toml, a startup script, or two fly ssh console methods. - [Laravel: Advanced Guides](https://docs.fly.io/laravel/advanced-guides.md) - [Laravel: Multiple Fly Applications](https://docs.fly.io/laravel/advanced-guides/multiple-applications.md): Run a Redis server as a separate Fly.io app inside your Laravel project folder, with its own fly.toml, password secret, and volume, reached over .internal DNS. - [Laravel Multi-SQLite: LiteFS](https://docs.fly.io/laravel/advanced-guides/global-sqlite-litefs.md): Replicate a Laravel app's SQLite database across Fly.io Machines with LiteFS, including litefs.yml and FUSE setup and fly-replay middleware for writes. - [Laravel GitHub Actions: CICD](https://docs.fly.io/laravel/advanced-guides/github-actions.md): Auto-deploy a Laravel app to Fly.io from GitHub Actions: launch the app, push it to a GitHub repo, and add a deploy token and the flyctl-actions workflow. - [Using Symfony](https://docs.fly.io/laravel/advanced-guides/using-symfony.md): Deploy a Symfony app on Fly.io by letting fly launch treat it as Laravel, then disabling the .env requirement and trusting the Fly Proxy in Symfony config. - [Using Inertia SSR](https://docs.fly.io/laravel/advanced-guides/using-inertia-ssr.md): Deploy a Laravel Inertia app with server-side rendering on Fly.io by adding Node to the Dockerfile and running the SSR server as its own process group. - [Customizing the Dockerfile](https://docs.fly.io/laravel/advanced-guides/customizing-dockerfile.md): Customize the Laravel Dockerfile that fly launch generates on Fly.io, from skipping the static asset build to installing SQL Server PHP extensions before COPY. - [Django on Fly.io](https://docs.fly.io/django/index.md) - [Deploy a Django App](https://docs.fly.io/django/getting-started/index.md): Deploy a Django app to Fly.io. Build a sample app, generate a Dockerfile with fly launch, serve it with Gunicorn, and add Postgres. - [Deploy an Existing Django App](https://docs.fly.io/django/getting-started/existing.md): Move an existing Django app to Fly.io: configure settings, launch with fly launch, attach Postgres, and troubleshoot your first deploy. - [Django: Advanced Guides](https://docs.fly.io/django/advanced-guides.md) - [Staging environments with GitHub actions](https://docs.fly.io/django/advanced-guides/staging-environments-with-github-actions.md): Create a Django staging environment for each pull request on Fly.io with GitHub Actions and fly-pr-review-apps, optionally using a staging Postgres cluster. - [Python on Fly.io](https://docs.fly.io/python/index.md) - [Python: The Basics](https://docs.fly.io/python/the-basics.md) - [Setting up a Python Environment](https://docs.fly.io/python/the-basics/initial-setup.md): Set up a local Python environment with Poetry and virtual environments before deploying to Fly.io, with uv, pip, Pipenv and pyenv listed as alternatives. - [Multi-stage Builds](https://docs.fly.io/python/the-basics/multi-stage-builds.md): Write a multi-stage Dockerfile for Python apps on Fly.io that builds dependencies with Poetry in a full image and copies them into a slim runtime image. - [Python Framework Guides](https://docs.fly.io/python/frameworks.md) - [Deploy a FastAPI App](https://docs.fly.io/python/frameworks/fastapi.md): Deploy a FastAPI app to Fly.io. fly launch detects FastAPI, generates a Dockerfile and fly.toml, and deploys your Python API to a Fly Machine. - [Deploy a Flask App](https://docs.fly.io/python/frameworks/flask.md): Deploy a Flask app to Fly.io. fly launch detects Flask, generates a Dockerfile that serves it with Gunicorn, and deploys it to a Fly Machine. - [Deploy a Streamlit App](https://docs.fly.io/python/frameworks/streamlit.md): Deploy a Streamlit app to Fly.io. fly launch detects Streamlit, generates a Dockerfile and fly.toml, and deploys your data app to a Fly Machine. - [Do More](https://docs.fly.io/python/do-more.md) - [Add Postgres](https://docs.fly.io/python/do-more/add-postgres.md): Connect a Python app on Fly.io to Fly Postgres with a DATABASE_URL secret, query it with asyncpg, and run a local Postgres in Docker for development. - [Add Object Storage](https://docs.fly.io/python/do-more/add-object-storage.md): Add S3-compatible object storage to a Python app on Fly.io: create a Tigris bucket with flyctl, then list and use buckets from your code with boto3. - [Add Ollama](https://docs.fly.io/python/do-more/add-ollama.md): Connect a Python app on Fly.io to an Ollama server over Flycast, set OLLAMA_HOST as a secret, and generate llama3.1 responses with the ollama AsyncClient. - [JavaScript on Fly.io](https://docs.fly.io/js/index.md) - [JavaScript: The Basics](https://docs.fly.io/js/the-basics.md) - [Dockerfiles](https://docs.fly.io/js/the-basics/dockerfiles.md): Deploy Node.js, Bun, and Deno apps on Fly.io with a Dockerfile, either your own or one generated by fly launch and adjusted with dockerfile-node options. - [Dependencies](https://docs.fly.io/js/the-basics/dependencies.md): Fix Node.js and Bun dependency problems when deploying to Fly.io, including missing, miscategorized, legacy peer, and native npm modules, using dockerfile-node. - [Databases](https://docs.fly.io/js/the-basics/database.md): Connect a JavaScript app on Fly.io to a database through DATABASE_URL with Prisma, Drizzle, Knex, pg, sqlite3, or MongoDB, plus SSL and migration advice. - [JavaScript: Volumes](https://docs.fly.io/js/the-basics/volumes.md): Persist files and SQLite data for a JavaScript app on Fly.io by creating a volume for each Machine, mounting it in fly.toml, and writing to the mount path. - [Object Storage](https://docs.fly.io/js/the-basics/object-storage.md): Add Tigris S3-compatible object storage to a JavaScript app on Fly.io with fly storage create, then access the bucket from S3Client with no extra configuration. - [Listening Ports](https://docs.fly.io/js/the-basics/listening-ports.md): Make a Node.js app reachable on Fly.io by matching internal_port in fly.toml to your app port, listening on 0.0.0.0, and adding services for extra ports. - [Secrets](https://docs.fly.io/js/the-basics/secrets.md): Set production secrets for a JavaScript app on Fly.io with fly secrets set or by importing a dotenv file, then read them via process.env, Deno.env, or Bun.env. - [Scaling](https://docs.fly.io/js/the-basics/scaling.md): Scale a JavaScript app on Fly.io by choosing memory and swap, using the Node.js cluster module for multiple CPU cores, and adding more Machines. - [Deploy a Shopify App](https://docs.fly.io/js/shopify.md): Deploy and host a Shopify app on Fly.io. fly launch reads your Shopify app config, sets secrets and env vars, and deploys it in one command. - [JS Framework Guides](https://docs.fly.io/js/frameworks.md) - [Deploy an Astro App](https://docs.fly.io/js/frameworks/astro.md): Deploy an Astro app to Fly.io, static or SSR. fly launch detects Astro, generates a Dockerfile and fly.toml, and deploys it in a few commands. - [Deploy a Deno App](https://docs.fly.io/js/frameworks/deno.md): Deploy a Deno app to Fly.io. Package a Deno server in a Docker image, configure it with fly launch, and deploy it to a Fly Machine. - [Deploy a Meteor App](https://docs.fly.io/js/frameworks/meteor.md): Deploy a Meteor app to Fly.io. fly launch detects Meteor, generates a Dockerfile and fly.toml, and deploys your app to a Fly Machine. - [Deploy a Next.js App](https://docs.fly.io/js/frameworks/nextjs.md): Deploy a Next.js app to Fly.io. fly launch detects Next.js and generates a Dockerfile and fly.toml, with standalone builds for smaller images. - [Deploy a Nuxt App](https://docs.fly.io/js/frameworks/nuxtjs.md): Deploy a Nuxt app to Fly.io. fly launch generates a Dockerfile and fly.toml for your Nuxt project and deploys it to a Fly Machine. - [Deploy a RedwoodJS App](https://docs.fly.io/js/frameworks/redwood.md): Deploy a RedwoodJS app to Fly.io. fly launch generates a Dockerfile and fly.toml for your Redwood project and deploys it to a Fly Machine. - [Deploy a Remix App](https://docs.fly.io/js/frameworks/remix.md): Deploy a Remix app to Fly.io. fly launch detects Remix, generates a Dockerfile and fly.toml, and deploys your app to a Fly Machine. - [Deploy a SvelteKit App](https://docs.fly.io/js/frameworks/svelte.md): Deploy a SvelteKit app to Fly.io. fly launch generates a Dockerfile and fly.toml for your SvelteKit project and deploys it to a Fly Machine. - [Prisma](https://docs.fly.io/js/prisma/index.md) - [Sqlite](https://docs.fly.io/js/prisma/sqlite.md) - [Prisma with PostgreSQL](https://docs.fly.io/js/prisma/postgres.md) - [Rust on Fly.io](https://docs.fly.io/rust/index.md) - [Rust: The Basics](https://docs.fly.io/rust/the-basics.md) - [Cargo Chef](https://docs.fly.io/rust/the-basics/cargo-chef.md): Build Rust apps for Fly.io with a cargo-chef Dockerfile that caches dependency builds in a separate layer and ships the binary in a slim Debian runtime image. - [Rust Framework Guides](https://docs.fly.io/rust/frameworks.md) - [Deploy an Axum App](https://docs.fly.io/rust/frameworks/axum.md): Deploy an Axum app to Fly.io. Clone our Axum template or serve your own Router on port 8080, and fly launch generates a cargo-chef Dockerfile. - [Deploy an Actix Web App](https://docs.fly.io/rust/frameworks/actix-web.md): Deploy an Actix Web app to Fly.io. Clone our template or bind your own HttpServer to 0.0.0.0:8080, then fly launch builds it with cargo-chef. - [Deploy a Warp App](https://docs.fly.io/rust/frameworks/warp.md): Deploy a Warp server to Fly.io. Clone our Warp template or create one with cargo new, serve it on port 8080, and ship it with fly launch and cargo-chef. - [Deploy a Rocket App](https://docs.fly.io/rust/frameworks/rocket.md): Deploy a Rocket app to Fly.io. Clone our Rocket template or build a new app with cargo, and fly launch creates a cargo-chef Dockerfile for small images. - [Deploy a Poem App](https://docs.fly.io/rust/frameworks/poem.md): Deploy a Poem web app to Fly.io. Start from our Poem template or a new cargo project, listen on 0.0.0.0:8080, and fly launch handles the Dockerfile. - [Deploy a Dioxus Liveview App](https://docs.fly.io/rust/frameworks/dioxus-liveview.md): Deploy a Dioxus Liveview app to Fly.io. Serve server-rendered Rust UI over WebSockets with Axum, then fly launch builds and ships it to a Fly Machine. - [Deploy a Static Website](https://docs.fly.io/languages-and-frameworks/static.md): Deploy and host a static website on Fly.io. Serve your HTML, CSS, and JavaScript with nginx in a small Docker image and deploy it with flyctl. - [Deploy a .NET App](https://docs.fly.io/languages-and-frameworks/dotnet.md): Deploy a .NET app to Fly.io. Create an ASP.NET Core web app, configure it with fly launch, and deploy it to a Fly Machine with fly deploy. - [Deploy a Go App](https://docs.fly.io/languages-and-frameworks/golang.md): Deploy a Go app to Fly.io. fly launch detects Go, generates a Dockerfile and fly.toml for your web server, and deploys it to a Fly Machine. - [Deploy with a Dockerfile](https://docs.fly.io/languages-and-frameworks/dockerfile.md) - [Deploy a Crystal App](https://docs.fly.io/languages-and-frameworks/crystal.md): Deploy a Crystal app to Fly.io and connect it to Postgres. Configure the app with fly launch and ship it with fly deploy. - [Deploy WordPress](https://docs.fly.io/languages-and-frameworks/wordpress.md): Deploy WordPress to Fly.io using the official WordPress Docker image and a MySQL database, configured and launched with fly launch. - [Deploy a Ruby App](https://docs.fly.io/languages-and-frameworks/ruby.md): Deploy a Ruby app to Fly.io. Any Rack app with a Gemfile and config.ru, like Sinatra, can be launched with fly launch and shipped with fly deploy. - [Fly Machines](https://docs.fly.io/machines/index.md) - [An introduction to Fly Machines](https://docs.fly.io/machines/overview.md) - [Machines API](https://docs.fly.io/machines/api/index.md) - [Working with the Machines API](https://docs.fly.io/machines/api/working-with-machines-api.md): Connect to the Fly Machines API on Fly.io: choose the public or internal base URL, authenticate with a bearer token, and review response codes and rate limits. - [Apps](https://docs.fly.io/machines/api/apps-resource.md) - [Certificates](https://docs.fly.io/machines/api/certificates-resource.md) - [Machines](https://docs.fly.io/machines/api/machines-resource.md) - [Tokens](https://docs.fly.io/machines/api/tokens-resource.md) - [Volumes](https://docs.fly.io/machines/api/volumes-resource.md) - [Run a new Machine](https://docs.fly.io/machines/flyctl/fly-machine-run.md): Run a new Fly Machine on Fly.io with fly machine run: build or pull an image, pick a region, set resources, env vars and services, or open a temporary shell. - [Update a Machine](https://docs.fly.io/machines/flyctl/fly-machine-update.md): Update an existing Fly Machine with fly machine update to change its image, CMD, resources, services, env vars, mounts, files or standby status on Fly.io. - [Machines Guides and Examples](https://docs.fly.io/machines/guides-examples.md): Browse guides and examples for Fly Machines, the fast-launching VMs on Fly.io, and find practical ways to put Machines to work in your own projects. - [Run Machines with flyctl](https://docs.fly.io/machines/guides-examples/machines-app-using-flyctl.md) - [Managing Machines with the Machines API](https://docs.fly.io/machines/guides-examples/managing-machines-with-the-api.md) - [Machine Placement and Regional Capacity](https://docs.fly.io/machines/guides-examples/machine-placement.md) - [Machine restart policy](https://docs.fly.io/machines/guides-examples/machine-restart-policy.md) - [Machine Sizing](https://docs.fly.io/machines/guides-examples/machine-sizing.md) - [Multi-container Machines](https://docs.fly.io/machines/guides-examples/multi-container-machines.md) - [Network Policies](https://docs.fly.io/machines/guides-examples/network-policies.md) - [Run User Code on Fly Machines](https://docs.fly.io/machines/guides-examples/functions-with-machines.md) - [One App Per Customer - Why?](https://docs.fly.io/machines/guides-examples/one-app-per-user-why.md) - [Machine states and lifecycle](https://docs.fly.io/machines/machine-states.md) - [The Machine Runtime Environment](https://docs.fly.io/machines/runtime-environment.md) - [CPU Performance](https://docs.fly.io/machines/cpu-performance.md) - [Managed Postgres](https://docs.fly.io/postgres/index.md) - [Create and Connect to a Managed Postgres Cluster](https://docs.fly.io/postgres/create-and-connect.md) - [Connect Your Client](https://docs.fly.io/postgres/client-configuration.md) - [Cluster configuration options](https://docs.fly.io/postgres/cluster-configuration.md) - [Phoenix with Managed Postgres](https://docs.fly.io/postgres/guides-examples/phoenix-guide.md) - [Monitoring and Metrics](https://docs.fly.io/postgres/metrics.md) - [Import data from another postgres cluster](https://docs.fly.io/postgres/import.md) - [Supported Postgres Extensions](https://docs.fly.io/postgres/extensions.md) - [Fly Postgres (Unmanaged)](https://docs.fly.io/unmanaged-postgres/index.md) - [Databases and storage](https://docs.fly.io/database-storage-guides.md) - [Fly Managed Postgres](https://docs.fly.io/links/mpg.md) - [Tigris Global Object Storage](https://docs.fly.io/tigris/index.md) - [Upstash for Redis®*](https://docs.fly.io/upstash/redis.md) - [Supabase Postgres](https://docs.fly.io/supabase/index.md) - [Upstash Vector](https://docs.fly.io/upstash/vector.md) - [Fly Volumes](https://docs.fly.io/volumes/index.md) - [Fly Volumes overview](https://docs.fly.io/volumes/overview.md) - [Create and manage volumes](https://docs.fly.io/volumes/volume-manage.md) - [Manage volume snapshots](https://docs.fly.io/volumes/snapshots.md) - [Volume states](https://docs.fly.io/volumes/volume-states.md) - [Fly Kubernetes](https://docs.fly.io/kubernetes/index.md) - [Fly Kubernetes Quickstart](https://docs.fly.io/kubernetes/fks-quickstart.md) - [Fly Kubernetes features](https://docs.fly.io/kubernetes/fks-features.md) - [Create an FKS cluster](https://docs.fly.io/kubernetes/clusters.md) - [Connect to an FKS cluster](https://docs.fly.io/kubernetes/connect-clusters.md) - [Configure FKS Services](https://docs.fly.io/kubernetes/services.md) - [Using volumes with FKS](https://docs.fly.io/kubernetes/using-volumes.md) - [Networking](https://docs.fly.io/networking/index.md) - [Connect to an App Service](https://docs.fly.io/networking/app-services.md) - [Public Network Services](https://docs.fly.io/networking/services.md) - [Private Networking](https://docs.fly.io/networking/private-networking.md) - [Custom private networks](https://docs.fly.io/networking/custom-private-networks.md) - [Flycast - Private Fly Proxy services](https://docs.fly.io/networking/flycast.md) - [Egress IP addresses](https://docs.fly.io/networking/egress-ips.md) - [Dynamic Request Routing with fly-replay](https://docs.fly.io/networking/dynamic-request-routing.md) - [Custom domains](https://docs.fly.io/networking/custom-domain.md) - [Understanding Cloudflare](https://docs.fly.io/networking/understanding-cloudflare.md) - [Request headers](https://docs.fly.io/networking/request-headers.md) - [Running apps on UDP and TCP](https://docs.fly.io/networking/udp-and-tcp.md) - [TLS Support](https://docs.fly.io/networking/tls.md) - [Monitoring on Fly.io](https://docs.fly.io/monitoring/index.md) - [Logging overview](https://docs.fly.io/monitoring/logging-overview.md) - [Metrics on Fly.io](https://docs.fly.io/monitoring/metrics.md) - [Application Monitoring by Sentry](https://docs.fly.io/monitoring/sentry.md) - [Live tail logs](https://docs.fly.io/monitoring/live-tail-logs.md) - [Logs API options for programmatic access](https://docs.fly.io/monitoring/logs-api-options.md) - [Search logs](https://docs.fly.io/monitoring/search-logs.md) - [Export logs](https://docs.fly.io/monitoring/exporting-logs.md): Export logs from Fly.io apps to Datadog, S3, Logtail and other services with the Fly Log Shipper, a Vector-based app you can filter by app or region. - [Error codes and troubleshooting](https://docs.fly.io/monitoring/error-codes.md) - [Security](https://docs.fly.io/security/index.md) - [Organization Roles and Permissions](https://docs.fly.io/security/org-roles-permissions.md) - [Single sign-on for organizations](https://docs.fly.io/security/sso.md) - [Remove a member from your organization](https://docs.fly.io/security/remove-org-member.md) - [TLS termination by Fly Proxy](https://docs.fly.io/security/tls-termination.md) - [Application Security by Arcjet](https://docs.fly.io/security/arcjet.md) - [Access tokens](https://docs.fly.io/security/tokens.md) - [OpenID Connect](https://docs.fly.io/security/openid-connect.md) - [Shared responsibility model](https://docs.fly.io/security/shared-responsibility.md) - [Fly.io security practices and compliance](https://docs.fly.io/security/security-at-fly-io.md) - [Fly.io reference](https://docs.fly.io/reference/index.md) - [flyctl - The Fly.io CLI](https://docs.fly.io/flyctl/index.md) - [Install flyctl](https://docs.fly.io/flyctl/install.md) - [Integrating flyctl](https://docs.fly.io/flyctl/integrating.md) - [fly](https://docs.fly.io/flyctl/cmd/fly_help.md) - [fly agent](https://docs.fly.io/flyctl/cmd/fly_agent.md) - [fly agent ping](https://docs.fly.io/flyctl/cmd/fly_agent_ping.md) - [fly agent restart](https://docs.fly.io/flyctl/cmd/fly_agent_restart.md) - [fly agent run](https://docs.fly.io/flyctl/cmd/fly_agent_run.md) - [fly agent start](https://docs.fly.io/flyctl/cmd/fly_agent_start.md) - [fly agent stop](https://docs.fly.io/flyctl/cmd/fly_agent_stop.md) - [fly apps](https://docs.fly.io/flyctl/cmd/fly_apps.md) - [fly apps create](https://docs.fly.io/flyctl/cmd/fly_apps_create.md) - [fly apps destroy](https://docs.fly.io/flyctl/cmd/fly_apps_destroy.md) - [fly apps errors](https://docs.fly.io/flyctl/cmd/fly_apps_errors.md) - [fly apps list](https://docs.fly.io/flyctl/cmd/fly_apps_list.md) - [fly apps move](https://docs.fly.io/flyctl/cmd/fly_apps_move.md) - [fly apps open](https://docs.fly.io/flyctl/cmd/fly_apps_open.md) - [fly apps releases](https://docs.fly.io/flyctl/cmd/fly_apps_releases.md) - [fly apps restart](https://docs.fly.io/flyctl/cmd/fly_apps_restart.md) - [fly auth](https://docs.fly.io/flyctl/cmd/fly_auth.md) - [fly auth docker](https://docs.fly.io/flyctl/cmd/fly_auth_docker.md) - [fly auth login](https://docs.fly.io/flyctl/cmd/fly_auth_login.md) - [fly auth logout](https://docs.fly.io/flyctl/cmd/fly_auth_logout.md) - [fly auth signup](https://docs.fly.io/flyctl/cmd/fly_auth_signup.md) - [fly auth whoami](https://docs.fly.io/flyctl/cmd/fly_auth_whoami.md) - [fly certs](https://docs.fly.io/flyctl/cmd/fly_certs.md) - [fly certs add](https://docs.fly.io/flyctl/cmd/fly_certs_add.md) - [fly certs check](https://docs.fly.io/flyctl/cmd/fly_certs_check.md) - [fly certs import](https://docs.fly.io/flyctl/cmd/fly_certs_import.md) - [fly certs list](https://docs.fly.io/flyctl/cmd/fly_certs_list.md) - [fly certs remove](https://docs.fly.io/flyctl/cmd/fly_certs_remove.md) - [fly certs setup](https://docs.fly.io/flyctl/cmd/fly_certs_setup.md) - [fly checks](https://docs.fly.io/flyctl/cmd/fly_checks.md) - [fly checks list](https://docs.fly.io/flyctl/cmd/fly_checks_list.md) - [fly config](https://docs.fly.io/flyctl/cmd/fly_config.md) - [fly config env](https://docs.fly.io/flyctl/cmd/fly_config_env.md) - [fly config save](https://docs.fly.io/flyctl/cmd/fly_config_save.md) - [fly config show](https://docs.fly.io/flyctl/cmd/fly_config_show.md) - [fly config validate](https://docs.fly.io/flyctl/cmd/fly_config_validate.md) - [fly console](https://docs.fly.io/flyctl/cmd/fly_console.md) - [fly consul](https://docs.fly.io/flyctl/cmd/fly_consul.md) - [fly consul attach](https://docs.fly.io/flyctl/cmd/fly_consul_attach.md) - [fly consul detach](https://docs.fly.io/flyctl/cmd/fly_consul_detach.md) - [fly dashboard](https://docs.fly.io/flyctl/cmd/fly_dashboard.md) - [fly dashboard metrics](https://docs.fly.io/flyctl/cmd/fly_dashboard_metrics.md) - [fly deploy](https://docs.fly.io/flyctl/cmd/fly_deploy.md) - [fly dig](https://docs.fly.io/flyctl/cmd/fly_dig.md) - [fly docs](https://docs.fly.io/flyctl/cmd/fly_docs.md) - [fly doctor](https://docs.fly.io/flyctl/cmd/fly_doctor.md) - [fly doctor diag](https://docs.fly.io/flyctl/cmd/fly_doctor_diag.md) - [fly extensions](https://docs.fly.io/flyctl/cmd/fly_extensions.md) - [fly extensions arcjet](https://docs.fly.io/flyctl/cmd/fly_extensions_arcjet.md) - [fly extensions arcjet create](https://docs.fly.io/flyctl/cmd/fly_extensions_arcjet_create.md) - [fly extensions arcjet dashboard](https://docs.fly.io/flyctl/cmd/fly_extensions_arcjet_dashboard.md) - [fly extensions arcjet destroy](https://docs.fly.io/flyctl/cmd/fly_extensions_arcjet_destroy.md) - [fly extensions arcjet list](https://docs.fly.io/flyctl/cmd/fly_extensions_arcjet_list.md) - [fly extensions arcjet status](https://docs.fly.io/flyctl/cmd/fly_extensions_arcjet_status.md) - [fly extensions kubernetes](https://docs.fly.io/flyctl/cmd/fly_extensions_kubernetes.md) - [fly extensions kubernetes create](https://docs.fly.io/flyctl/cmd/fly_extensions_kubernetes_create.md) - [fly extensions kubernetes destroy](https://docs.fly.io/flyctl/cmd/fly_extensions_kubernetes_destroy.md) - [fly extensions kubernetes list](https://docs.fly.io/flyctl/cmd/fly_extensions_kubernetes_list.md) - [fly extensions kubernetes save-kubeconfig](https://docs.fly.io/flyctl/cmd/fly_extensions_kubernetes_save-kubeconfig.md) - [fly extensions sentry](https://docs.fly.io/flyctl/cmd/fly_extensions_sentry.md) - [fly extensions sentry create](https://docs.fly.io/flyctl/cmd/fly_extensions_sentry_create.md) - [fly extensions sentry dashboard](https://docs.fly.io/flyctl/cmd/fly_extensions_sentry_dashboard.md) - [fly extensions sentry destroy](https://docs.fly.io/flyctl/cmd/fly_extensions_sentry_destroy.md) - [fly extensions sentry list](https://docs.fly.io/flyctl/cmd/fly_extensions_sentry_list.md) - [fly extensions storage](https://docs.fly.io/flyctl/cmd/fly_extensions_storage.md) - [fly extensions storage create](https://docs.fly.io/flyctl/cmd/fly_extensions_storage_create.md) - [fly extensions storage dashboard](https://docs.fly.io/flyctl/cmd/fly_extensions_storage_dashboard.md) - [fly extensions storage destroy](https://docs.fly.io/flyctl/cmd/fly_extensions_storage_destroy.md) - [fly extensions storage list](https://docs.fly.io/flyctl/cmd/fly_extensions_storage_list.md) - [fly extensions storage status](https://docs.fly.io/flyctl/cmd/fly_extensions_storage_status.md) - [fly extensions storage update](https://docs.fly.io/flyctl/cmd/fly_extensions_storage_update.md) - [fly extensions vector](https://docs.fly.io/flyctl/cmd/fly_extensions_vector.md) - [fly extensions vector create](https://docs.fly.io/flyctl/cmd/fly_extensions_vector_create.md) - [fly extensions vector dashboard](https://docs.fly.io/flyctl/cmd/fly_extensions_vector_dashboard.md) - [fly extensions vector destroy](https://docs.fly.io/flyctl/cmd/fly_extensions_vector_destroy.md) - [fly extensions vector list](https://docs.fly.io/flyctl/cmd/fly_extensions_vector_list.md) - [fly extensions vector status](https://docs.fly.io/flyctl/cmd/fly_extensions_vector_status.md) - [fly extensions wafris](https://docs.fly.io/flyctl/cmd/fly_extensions_wafris.md) - [fly extensions wafris create](https://docs.fly.io/flyctl/cmd/fly_extensions_wafris_create.md) - [fly extensions wafris dashboard](https://docs.fly.io/flyctl/cmd/fly_extensions_wafris_dashboard.md) - [fly extensions wafris destroy](https://docs.fly.io/flyctl/cmd/fly_extensions_wafris_destroy.md) - [fly image](https://docs.fly.io/flyctl/cmd/fly_image.md) - [fly image show](https://docs.fly.io/flyctl/cmd/fly_image_show.md) - [fly image update](https://docs.fly.io/flyctl/cmd/fly_image_update.md) - [fly incidents](https://docs.fly.io/flyctl/cmd/fly_incidents.md) - [fly incidents hosts](https://docs.fly.io/flyctl/cmd/fly_incidents_hosts.md) - [fly incidents hosts list](https://docs.fly.io/flyctl/cmd/fly_incidents_hosts_list.md) - [fly incidents list](https://docs.fly.io/flyctl/cmd/fly_incidents_list.md) - [fly ips](https://docs.fly.io/flyctl/cmd/fly_ips.md) - [fly ips allocate](https://docs.fly.io/flyctl/cmd/fly_ips_allocate.md) - [fly ips allocate-egress](https://docs.fly.io/flyctl/cmd/fly_ips_allocate-egress.md) - [fly ips allocate-v4](https://docs.fly.io/flyctl/cmd/fly_ips_allocate-v4.md) - [fly ips allocate-v6](https://docs.fly.io/flyctl/cmd/fly_ips_allocate-v6.md) - [fly ips list](https://docs.fly.io/flyctl/cmd/fly_ips_list.md) - [fly ips private](https://docs.fly.io/flyctl/cmd/fly_ips_private.md) - [fly ips release](https://docs.fly.io/flyctl/cmd/fly_ips_release.md) - [fly ips release-egress](https://docs.fly.io/flyctl/cmd/fly_ips_release-egress.md) - [fly jobs](https://docs.fly.io/flyctl/cmd/fly_jobs.md) - [fly jobs open](https://docs.fly.io/flyctl/cmd/fly_jobs_open.md) - [fly launch](https://docs.fly.io/flyctl/cmd/fly_launch.md) - [fly logs](https://docs.fly.io/flyctl/cmd/fly_logs.md) - [fly machine](https://docs.fly.io/flyctl/cmd/fly_machine.md) - [fly machine api-proxy](https://docs.fly.io/flyctl/cmd/fly_machine_api-proxy.md) - [fly machine clone](https://docs.fly.io/flyctl/cmd/fly_machine_clone.md) - [fly machine cordon](https://docs.fly.io/flyctl/cmd/fly_machine_cordon.md) - [fly machine create](https://docs.fly.io/flyctl/cmd/fly_machine_create.md) - [fly machine destroy](https://docs.fly.io/flyctl/cmd/fly_machine_destroy.md) - [fly machine exec](https://docs.fly.io/flyctl/cmd/fly_machine_exec.md) - [fly machine kill](https://docs.fly.io/flyctl/cmd/fly_machine_kill.md) - [fly machine leases](https://docs.fly.io/flyctl/cmd/fly_machine_leases.md) - [fly machine leases clear](https://docs.fly.io/flyctl/cmd/fly_machine_leases_clear.md) - [fly machine leases view](https://docs.fly.io/flyctl/cmd/fly_machine_leases_view.md) - [fly machine list](https://docs.fly.io/flyctl/cmd/fly_machine_list.md) - [fly machine place](https://docs.fly.io/flyctl/cmd/fly_machine_place.md) - [fly machine restart](https://docs.fly.io/flyctl/cmd/fly_machine_restart.md) - [fly machine run](https://docs.fly.io/flyctl/cmd/fly_machine_run.md) - [fly machine start](https://docs.fly.io/flyctl/cmd/fly_machine_start.md) - [fly machine status](https://docs.fly.io/flyctl/cmd/fly_machine_status.md) - [fly machine stop](https://docs.fly.io/flyctl/cmd/fly_machine_stop.md) - [fly machine suspend](https://docs.fly.io/flyctl/cmd/fly_machine_suspend.md) - [fly machine uncordon](https://docs.fly.io/flyctl/cmd/fly_machine_uncordon.md) - [fly machine update](https://docs.fly.io/flyctl/cmd/fly_machine_update.md) - [fly machine wait](https://docs.fly.io/flyctl/cmd/fly_machine_wait.md) - [fly mcp](https://docs.fly.io/flyctl/cmd/fly_mcp.md) - [fly mcp add](https://docs.fly.io/flyctl/cmd/fly_mcp_add.md) - [fly mcp destroy](https://docs.fly.io/flyctl/cmd/fly_mcp_destroy.md) - [fly mcp inspect](https://docs.fly.io/flyctl/cmd/fly_mcp_inspect.md) - [fly mcp launch](https://docs.fly.io/flyctl/cmd/fly_mcp_launch.md) - [fly mcp list](https://docs.fly.io/flyctl/cmd/fly_mcp_list.md) - [fly mcp logs](https://docs.fly.io/flyctl/cmd/fly_mcp_logs.md) - [fly mcp proxy](https://docs.fly.io/flyctl/cmd/fly_mcp_proxy.md) - [fly mcp remove](https://docs.fly.io/flyctl/cmd/fly_mcp_remove.md) - [fly mcp server](https://docs.fly.io/flyctl/cmd/fly_mcp_server.md) - [fly mcp wrap](https://docs.fly.io/flyctl/cmd/fly_mcp_wrap.md) - [fly mpg](https://docs.fly.io/flyctl/cmd/fly_mpg.md) - [fly mpg attach](https://docs.fly.io/flyctl/cmd/fly_mpg_attach.md) - [fly mpg backup](https://docs.fly.io/flyctl/cmd/fly_mpg_backup.md) - [fly mpg backup create](https://docs.fly.io/flyctl/cmd/fly_mpg_backup_create.md) - [fly mpg backup list](https://docs.fly.io/flyctl/cmd/fly_mpg_backup_list.md) - [fly mpg connect](https://docs.fly.io/flyctl/cmd/fly_mpg_connect.md) - [fly mpg create](https://docs.fly.io/flyctl/cmd/fly_mpg_create.md) - [fly mpg databases](https://docs.fly.io/flyctl/cmd/fly_mpg_databases.md) - [fly mpg databases create](https://docs.fly.io/flyctl/cmd/fly_mpg_databases_create.md) - [fly mpg databases extensions](https://docs.fly.io/flyctl/cmd/fly_mpg_databases_extensions.md) - [fly mpg databases extensions disable](https://docs.fly.io/flyctl/cmd/fly_mpg_databases_extensions_disable.md) - [fly mpg databases extensions enable](https://docs.fly.io/flyctl/cmd/fly_mpg_databases_extensions_enable.md) - [fly mpg databases extensions list](https://docs.fly.io/flyctl/cmd/fly_mpg_databases_extensions_list.md) - [fly mpg databases list](https://docs.fly.io/flyctl/cmd/fly_mpg_databases_list.md) - [fly mpg destroy](https://docs.fly.io/flyctl/cmd/fly_mpg_destroy.md) - [fly mpg detach](https://docs.fly.io/flyctl/cmd/fly_mpg_detach.md) - [fly mpg list](https://docs.fly.io/flyctl/cmd/fly_mpg_list.md) - [fly mpg proxy](https://docs.fly.io/flyctl/cmd/fly_mpg_proxy.md) - [fly mpg restore](https://docs.fly.io/flyctl/cmd/fly_mpg_restore.md) - [fly mpg status](https://docs.fly.io/flyctl/cmd/fly_mpg_status.md) - [fly mpg users](https://docs.fly.io/flyctl/cmd/fly_mpg_users.md) - [fly mpg users create](https://docs.fly.io/flyctl/cmd/fly_mpg_users_create.md) - [fly mpg users delete](https://docs.fly.io/flyctl/cmd/fly_mpg_users_delete.md) - [fly mpg users list](https://docs.fly.io/flyctl/cmd/fly_mpg_users_list.md) - [fly mpg users set-role](https://docs.fly.io/flyctl/cmd/fly_mpg_users_set-role.md) - [fly orgs](https://docs.fly.io/flyctl/cmd/fly_orgs.md) - [fly orgs create](https://docs.fly.io/flyctl/cmd/fly_orgs_create.md) - [fly orgs cross-network-replays](https://docs.fly.io/flyctl/cmd/fly_orgs_cross-network-replays.md) - [fly orgs cross-network-replays disable](https://docs.fly.io/flyctl/cmd/fly_orgs_cross-network-replays_disable.md) - [fly orgs cross-network-replays enable](https://docs.fly.io/flyctl/cmd/fly_orgs_cross-network-replays_enable.md) - [fly orgs cross-network-replays status](https://docs.fly.io/flyctl/cmd/fly_orgs_cross-network-replays_status.md) - [fly orgs delete](https://docs.fly.io/flyctl/cmd/fly_orgs_delete.md) - [fly orgs invite](https://docs.fly.io/flyctl/cmd/fly_orgs_invite.md) - [fly orgs list](https://docs.fly.io/flyctl/cmd/fly_orgs_list.md) - [fly orgs remove](https://docs.fly.io/flyctl/cmd/fly_orgs_remove.md) - [fly orgs replay-sources](https://docs.fly.io/flyctl/cmd/fly_orgs_replay-sources.md) - [fly orgs replay-sources add](https://docs.fly.io/flyctl/cmd/fly_orgs_replay-sources_add.md) - [fly orgs replay-sources list](https://docs.fly.io/flyctl/cmd/fly_orgs_replay-sources_list.md) - [fly orgs replay-sources remove](https://docs.fly.io/flyctl/cmd/fly_orgs_replay-sources_remove.md) - [fly orgs show](https://docs.fly.io/flyctl/cmd/fly_orgs_show.md) - [fly ping](https://docs.fly.io/flyctl/cmd/fly_ping.md) - [fly platform](https://docs.fly.io/flyctl/cmd/fly_platform.md) - [fly platform regions](https://docs.fly.io/flyctl/cmd/fly_platform_regions.md) - [fly platform status](https://docs.fly.io/flyctl/cmd/fly_platform_status.md) - [fly platform vm-sizes](https://docs.fly.io/flyctl/cmd/fly_platform_vm-sizes.md) - [fly postgres](https://docs.fly.io/flyctl/cmd/fly_postgres.md) - [fly postgres attach](https://docs.fly.io/flyctl/cmd/fly_postgres_attach.md) - [fly postgres backup](https://docs.fly.io/flyctl/cmd/fly_postgres_backup.md) - [fly postgres backup config](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_config.md) - [fly postgres backup config show](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_config_show.md) - [fly postgres backup config update](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_config_update.md) - [fly postgres backup create](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_create.md) - [fly postgres backup enable](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_enable.md) - [fly postgres backup list](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_list.md) - [fly postgres backup restore](https://docs.fly.io/flyctl/cmd/fly_postgres_backup_restore.md) - [fly postgres config](https://docs.fly.io/flyctl/cmd/fly_postgres_config.md) - [fly postgres config show](https://docs.fly.io/flyctl/cmd/fly_postgres_config_show.md) - [fly postgres config update](https://docs.fly.io/flyctl/cmd/fly_postgres_config_update.md) - [fly postgres connect](https://docs.fly.io/flyctl/cmd/fly_postgres_connect.md) - [fly postgres create](https://docs.fly.io/flyctl/cmd/fly_postgres_create.md) - [fly postgres db](https://docs.fly.io/flyctl/cmd/fly_postgres_db.md) - [fly postgres db list](https://docs.fly.io/flyctl/cmd/fly_postgres_db_list.md) - [fly postgres detach](https://docs.fly.io/flyctl/cmd/fly_postgres_detach.md) - [fly postgres events](https://docs.fly.io/flyctl/cmd/fly_postgres_events.md) - [fly postgres events list](https://docs.fly.io/flyctl/cmd/fly_postgres_events_list.md) - [fly postgres failover](https://docs.fly.io/flyctl/cmd/fly_postgres_failover.md) - [fly postgres import](https://docs.fly.io/flyctl/cmd/fly_postgres_import.md) - [fly postgres list](https://docs.fly.io/flyctl/cmd/fly_postgres_list.md) - [fly postgres renew-certs](https://docs.fly.io/flyctl/cmd/fly_postgres_renew-certs.md) - [fly postgres restart](https://docs.fly.io/flyctl/cmd/fly_postgres_restart.md) - [fly postgres users](https://docs.fly.io/flyctl/cmd/fly_postgres_users.md) - [fly postgres users list](https://docs.fly.io/flyctl/cmd/fly_postgres_users_list.md) - [fly proxy](https://docs.fly.io/flyctl/cmd/fly_proxy.md) - [fly redis](https://docs.fly.io/flyctl/cmd/fly_redis.md) - [fly redis connect](https://docs.fly.io/flyctl/cmd/fly_redis_connect.md) - [fly redis create](https://docs.fly.io/flyctl/cmd/fly_redis_create.md) - [fly redis dashboard](https://docs.fly.io/flyctl/cmd/fly_redis_dashboard.md) - [fly redis destroy](https://docs.fly.io/flyctl/cmd/fly_redis_destroy.md) - [fly redis list](https://docs.fly.io/flyctl/cmd/fly_redis_list.md) - [fly redis plans](https://docs.fly.io/flyctl/cmd/fly_redis_plans.md) - [fly redis proxy](https://docs.fly.io/flyctl/cmd/fly_redis_proxy.md) - [fly redis reset](https://docs.fly.io/flyctl/cmd/fly_redis_reset.md) - [fly redis status](https://docs.fly.io/flyctl/cmd/fly_redis_status.md) - [fly redis update](https://docs.fly.io/flyctl/cmd/fly_redis_update.md) - [fly releases](https://docs.fly.io/flyctl/cmd/fly_releases.md) - [fly scale](https://docs.fly.io/flyctl/cmd/fly_scale.md) - [fly scale count](https://docs.fly.io/flyctl/cmd/fly_scale_count.md) - [fly scale memory](https://docs.fly.io/flyctl/cmd/fly_scale_memory.md) - [fly scale show](https://docs.fly.io/flyctl/cmd/fly_scale_show.md) - [fly scale vm](https://docs.fly.io/flyctl/cmd/fly_scale_vm.md) - [fly secrets](https://docs.fly.io/flyctl/cmd/fly_secrets.md) - [fly secrets deploy](https://docs.fly.io/flyctl/cmd/fly_secrets_deploy.md) - [fly secrets import](https://docs.fly.io/flyctl/cmd/fly_secrets_import.md) - [fly secrets list](https://docs.fly.io/flyctl/cmd/fly_secrets_list.md) - [fly secrets set](https://docs.fly.io/flyctl/cmd/fly_secrets_set.md) - [fly secrets sync](https://docs.fly.io/flyctl/cmd/fly_secrets_sync.md) - [fly secrets unset](https://docs.fly.io/flyctl/cmd/fly_secrets_unset.md) - [fly services](https://docs.fly.io/flyctl/cmd/fly_services.md) - [fly services list](https://docs.fly.io/flyctl/cmd/fly_services_list.md) - [fly settings](https://docs.fly.io/flyctl/cmd/fly_settings.md) - [fly settings analytics](https://docs.fly.io/flyctl/cmd/fly_settings_analytics.md) - [fly settings analytics disable](https://docs.fly.io/flyctl/cmd/fly_settings_analytics_disable.md) - [fly settings analytics enable](https://docs.fly.io/flyctl/cmd/fly_settings_analytics_enable.md) - [fly settings autoupdate](https://docs.fly.io/flyctl/cmd/fly_settings_autoupdate.md) - [fly settings autoupdate disable](https://docs.fly.io/flyctl/cmd/fly_settings_autoupdate_disable.md) - [fly settings autoupdate enable](https://docs.fly.io/flyctl/cmd/fly_settings_autoupdate_enable.md) - [fly settings synthetics](https://docs.fly.io/flyctl/cmd/fly_settings_synthetics.md) - [fly settings synthetics disable](https://docs.fly.io/flyctl/cmd/fly_settings_synthetics_disable.md) - [fly settings synthetics enable](https://docs.fly.io/flyctl/cmd/fly_settings_synthetics_enable.md) - [fly sftp](https://docs.fly.io/flyctl/cmd/fly_sftp.md) - [fly sftp find](https://docs.fly.io/flyctl/cmd/fly_sftp_find.md) - [fly sftp get](https://docs.fly.io/flyctl/cmd/fly_sftp_get.md) - [fly sftp put](https://docs.fly.io/flyctl/cmd/fly_sftp_put.md) - [fly sftp shell](https://docs.fly.io/flyctl/cmd/fly_sftp_shell.md) - [fly ssh](https://docs.fly.io/flyctl/cmd/fly_ssh.md) - [fly ssh console](https://docs.fly.io/flyctl/cmd/fly_ssh_console.md) - [fly ssh issue](https://docs.fly.io/flyctl/cmd/fly_ssh_issue.md) - [fly ssh log](https://docs.fly.io/flyctl/cmd/fly_ssh_log.md) - [fly ssh sftp](https://docs.fly.io/flyctl/cmd/fly_ssh_sftp.md) - [fly ssh sftp find](https://docs.fly.io/flyctl/cmd/fly_ssh_sftp_find.md) - [fly ssh sftp get](https://docs.fly.io/flyctl/cmd/fly_ssh_sftp_get.md) - [fly ssh sftp put](https://docs.fly.io/flyctl/cmd/fly_ssh_sftp_put.md) - [fly ssh sftp shell](https://docs.fly.io/flyctl/cmd/fly_ssh_sftp_shell.md) - [fly status](https://docs.fly.io/flyctl/cmd/fly_status.md) - [fly storage](https://docs.fly.io/flyctl/cmd/fly_storage.md) - [fly storage create](https://docs.fly.io/flyctl/cmd/fly_storage_create.md) - [fly storage dashboard](https://docs.fly.io/flyctl/cmd/fly_storage_dashboard.md) - [fly storage destroy](https://docs.fly.io/flyctl/cmd/fly_storage_destroy.md) - [fly storage list](https://docs.fly.io/flyctl/cmd/fly_storage_list.md) - [fly storage status](https://docs.fly.io/flyctl/cmd/fly_storage_status.md) - [fly storage update](https://docs.fly.io/flyctl/cmd/fly_storage_update.md) - [fly synthetics](https://docs.fly.io/flyctl/cmd/fly_synthetics.md) - [fly synthetics agent](https://docs.fly.io/flyctl/cmd/fly_synthetics_agent.md) - [fly tokens](https://docs.fly.io/flyctl/cmd/fly_tokens.md) - [fly tokens 3p](https://docs.fly.io/flyctl/cmd/fly_tokens_3p.md) - [fly tokens 3p add](https://docs.fly.io/flyctl/cmd/fly_tokens_3p_add.md) - [fly tokens 3p add-discharge](https://docs.fly.io/flyctl/cmd/fly_tokens_3p_add-discharge.md) - [fly tokens 3p discharge](https://docs.fly.io/flyctl/cmd/fly_tokens_3p_discharge.md) - [fly tokens 3p ticket](https://docs.fly.io/flyctl/cmd/fly_tokens_3p_ticket.md) - [fly tokens attenuate](https://docs.fly.io/flyctl/cmd/fly_tokens_attenuate.md) - [fly tokens create](https://docs.fly.io/flyctl/cmd/fly_tokens_create.md) - [fly tokens create deploy](https://docs.fly.io/flyctl/cmd/fly_tokens_create_deploy.md) - [fly tokens create machine-exec](https://docs.fly.io/flyctl/cmd/fly_tokens_create_machine-exec.md) - [fly tokens create org](https://docs.fly.io/flyctl/cmd/fly_tokens_create_org.md) - [fly tokens create readonly](https://docs.fly.io/flyctl/cmd/fly_tokens_create_readonly.md) - [fly tokens create ssh](https://docs.fly.io/flyctl/cmd/fly_tokens_create_ssh.md) - [fly tokens create wireguard](https://docs.fly.io/flyctl/cmd/fly_tokens_create_wireguard.md) - [fly tokens debug](https://docs.fly.io/flyctl/cmd/fly_tokens_debug.md) - [fly tokens list](https://docs.fly.io/flyctl/cmd/fly_tokens_list.md) - [fly tokens revoke](https://docs.fly.io/flyctl/cmd/fly_tokens_revoke.md) - [fly tokens revoke supplied](https://docs.fly.io/flyctl/cmd/fly_tokens_revoke_supplied.md) - [fly version](https://docs.fly.io/flyctl/cmd/fly_version.md) - [fly version upgrade](https://docs.fly.io/flyctl/cmd/fly_version_upgrade.md) - [fly volumes](https://docs.fly.io/flyctl/cmd/fly_volumes.md) - [fly volumes create](https://docs.fly.io/flyctl/cmd/fly_volumes_create.md) - [fly volumes destroy](https://docs.fly.io/flyctl/cmd/fly_volumes_destroy.md) - [fly volumes extend](https://docs.fly.io/flyctl/cmd/fly_volumes_extend.md) - [fly volumes fork](https://docs.fly.io/flyctl/cmd/fly_volumes_fork.md) - [fly volumes list](https://docs.fly.io/flyctl/cmd/fly_volumes_list.md) - [fly volumes show](https://docs.fly.io/flyctl/cmd/fly_volumes_show.md) - [fly volumes snapshots](https://docs.fly.io/flyctl/cmd/fly_volumes_snapshots.md) - [fly volumes snapshots create](https://docs.fly.io/flyctl/cmd/fly_volumes_snapshots_create.md) - [fly volumes snapshots list](https://docs.fly.io/flyctl/cmd/fly_volumes_snapshots_list.md) - [fly volumes update](https://docs.fly.io/flyctl/cmd/fly_volumes_update.md) - [fly wireguard](https://docs.fly.io/flyctl/cmd/fly_wireguard.md) - [fly wireguard create](https://docs.fly.io/flyctl/cmd/fly_wireguard_create.md) - [fly wireguard list](https://docs.fly.io/flyctl/cmd/fly_wireguard_list.md) - [fly wireguard remove](https://docs.fly.io/flyctl/cmd/fly_wireguard_remove.md) - [fly wireguard reset](https://docs.fly.io/flyctl/cmd/fly_wireguard_reset.md) - [fly wireguard websockets](https://docs.fly.io/flyctl/cmd/fly_wireguard_websockets.md) - [App configuration (fly.toml)](https://docs.fly.io/reference/configuration.md) - [The Fly.io Architecture](https://docs.fly.io/reference/architecture.md) - [Autoscaling](https://docs.fly.io/reference/autoscaling.md) - [Migrating from AWS to Fly.io Overview](https://docs.fly.io/reference/aws-to-fly-guide.md) - [Builders and Fly.io](https://docs.fly.io/reference/builders.md) - [Content Encoding with the Fly Proxy](https://docs.fly.io/reference/content-encoding.md) - [Fly Launch overview](https://docs.fly.io/reference/fly-launch.md) - [Health Checks](https://docs.fly.io/reference/health-checks.md) - [Load Balancing](https://docs.fly.io/reference/load-balancing.md) - [Machine migration](https://docs.fly.io/reference/machine-migration.md) - [Multiple processes inside a Fly.io app](https://docs.fly.io/app-guides/multiple-processes.md) - [Fly Proxy](https://docs.fly.io/reference/fly-proxy.md) - [Fly Proxy autostop/autostart](https://docs.fly.io/reference/fly-proxy-autostop-autostart.md) - [Regions](https://docs.fly.io/reference/regions.md) - [Machine Suspend and Resume](https://docs.fly.io/reference/suspend-resume.md) - [About Fly.io](https://docs.fly.io/about/index.md) - [Discontinued Plans](https://docs.fly.io/about/discontinued-plans.md) - [Fly.io Resource Pricing](https://docs.fly.io/about/pricing.md) - [Fly.io Billing](https://docs.fly.io/about/billing.md) - [Cost Management on Fly.io](https://docs.fly.io/about/cost-management.md) - [Fly.io Free Trial](https://docs.fly.io/about/free-trial.md) - [Support](https://docs.fly.io/about/support.md) - [Join Our Team](https://docs.fly.io/hiring/index.md) - [Our Stack](https://docs.fly.io/hiring/stack.md) - [Our Roles](https://docs.fly.io/hiring/roles.md) - [Our Levels](https://docs.fly.io/hiring/company-levels.md) - [Our Hiring Process](https://docs.fly.io/hiring/hiring.md) - [How To Ask Us Questions](https://docs.fly.io/hiring/questions.md) - [Working at Fly.io](https://docs.fly.io/hiring/working.md) - [Our Engineering Levels](https://docs.fly.io/hiring/levels.md) - [Healthcare apps on Fly](https://docs.fly.io/about/healthcare.md) - [Fly.io Extensions Program](https://docs.fly.io/about/extensions.md) - [Provisioning Fly.io Extensions](https://docs.fly.io/reference/extensions_api.md) - [Fly.io Merchandise](https://docs.fly.io/about/merch.md) - [Fly.io and Open Source](https://docs.fly.io/about/open-source.md) - [Using Our Brand](https://docs.fly.io/about/brand.md): Download Fly.io logos in color and monochrome landscape, portrait, and brandmark formats, and review the trademark usage agreement for using them. - [LiteFS - Distributed SQLite](https://docs.fly.io/litefs/index.md) - [Speedrun: Add LiteFS to your app](https://docs.fly.io/litefs/speedrun.md) - [Getting Started with LiteFS on Fly.io](https://docs.fly.io/litefs/getting-started-fly.md) - [Getting Started with LiteFS in Docker](https://docs.fly.io/litefs/getting-started-docker.md) - [How LiteFS Works](https://docs.fly.io/litefs/how-it-works.md) - [LiteFS FAQ](https://docs.fly.io/litefs/faq.md) - [LiteFS Releases](https://docs.fly.io/litefs/releases.md) - [Built-in HTTP Proxy](https://docs.fly.io/litefs/proxy.md) - [Running database migrations](https://docs.fly.io/litefs/migrations.md) - [Backing up your LiteFS cluster](https://docs.fly.io/litefs/backup.md) - [Determining the LiteFS primary](https://docs.fly.io/litefs/primary.md) - [Tracking LiteFS replication position](https://docs.fly.io/litefs/position.md) - [Reading the LiteFS event stream](https://docs.fly.io/litefs/events.md) - [Using LiteFS Cloud for Backups](https://docs.fly.io/litefs/cloud-backups.md) - [Restoring from a LiteFS Cloud Backup](https://docs.fly.io/litefs/cloud-restore.md) - [Disaster Recovery from LiteFS Cloud](https://docs.fly.io/litefs/disaster-recovery.md) - [LiteFS Export Command](https://docs.fly.io/litefs/export.md) - [LiteFS Import Command](https://docs.fly.io/litefs/import.md) - [LiteFS Mount Command](https://docs.fly.io/litefs/mount.md) - [LiteFS Run Command](https://docs.fly.io/litefs/run.md) - [LiteFS Config Reference](https://docs.fly.io/litefs/config.md) - [Overview](https://docs.fly.io/api/machines/index.md) - [List Apps](https://docs.fly.io/api/machines/apps/list-apps.md): List all apps with the ability to filter by organization slug. - [Create App](https://docs.fly.io/api/machines/apps/create-app.md): Create an app with the specified details in the request body. - [Get App](https://docs.fly.io/api/machines/apps/get-app.md): Retrieve details about a specific app by its name. - [Destroy App](https://docs.fly.io/api/machines/apps/destroy-app.md): Delete an app by its name. - [Create App deploy token](https://docs.fly.io/api/machines/apps/create-app-deploy-token.md) - [List IP assignments for app](https://docs.fly.io/api/machines/apps/list-ip-assignments-for-app.md) - [Assign new IP address to app](https://docs.fly.io/api/machines/apps/assign-new-ip-address-to-app.md) - [Remove IP assignment from app](https://docs.fly.io/api/machines/apps/remove-ip-assignment-from-app.md) - [List Machines](https://docs.fly.io/api/machines/machines/list-machines.md): List all Machines associated with a specific app, with optional filters for including deleted Machines and filtering by region. - [Create Machine](https://docs.fly.io/api/machines/machines/create-machine.md): Create a Machine within a specific app using the details provided in the request body. - [Get Machine](https://docs.fly.io/api/machines/machines/get-machine.md): Get details of a specific Machine within an app by the Machine ID. - [Update Machine](https://docs.fly.io/api/machines/machines/update-machine.md): Update a Machine's configuration using the details provided in the request body. - [Destroy Machine](https://docs.fly.io/api/machines/machines/destroy-machine.md): Delete a specific Machine within an app by Machine ID, with an optional force parameter to force kill the Machine if it's running. - [Cordon Machine](https://docs.fly.io/api/machines/machines/cordon-machine.md): “Cordoning” a Machine refers to disabling its services, so the Fly Proxy won’t route requests to it. In flyctl this is used by blue/green deployments; one set of Machines is started up with services disabled, and when they are all healthy, the services are enabled on the new Machines and disabled on… - [List Events](https://docs.fly.io/api/machines/machines/list-events.md): List all events associated with a specific Machine within an app. - [Execute Command](https://docs.fly.io/api/machines/machines/execute-command.md): Execute a command on a specific Machine and return the raw command output bytes. - [Get Lease](https://docs.fly.io/api/machines/machines/get-lease.md): Retrieve the current lease of a specific Machine within an app. Machine leases can be used to obtain an exclusive lock on modifying a Machine. - [Create Lease](https://docs.fly.io/api/machines/machines/create-lease.md): Create a lease for a specific Machine within an app using the details provided in the request body. Machine leases can be used to obtain an exclusive lock on modifying a Machine. - [Release Lease](https://docs.fly.io/api/machines/machines/release-lease.md): Release the lease of a specific Machine within an app. Machine leases can be used to obtain an exclusive lock on modifying a Machine. - [Get Machine Memory](https://docs.fly.io/api/machines/machines/get-machine-memory.md): Get current memory limit and available capacity for a machine - [Set Machine Memory Limit](https://docs.fly.io/api/machines/machines/set-machine-memory-limit.md): Set the memory limit for a machine using the balloon device - [Reclaim Machine Memory](https://docs.fly.io/api/machines/machines/reclaim-machine-memory.md): Trigger the balloon device to reclaim memory from a machine - [Get Metadata](https://docs.fly.io/api/machines/machines/get-metadata.md): Retrieve metadata for a specific Machine within an app. - [Update Metadata (deprecated PUT alias of PATCH)](https://docs.fly.io/api/machines/machines/update-metadata-deprecated-put-alias-of-patch.md): Deprecated: use `PATCH` on the same path, which this is identical to. + Despite the method, this does not replace the metadata: keys that are not in the request are left untouched. Null values and empty strings remove keys. + If `machine_version` is provided and no longer matches the current machine… - [Update Metadata (set/remove multiple keys)](https://docs.fly.io/api/machines/machines/update-metadata-setremove-multiple-keys.md): Update multiple metadata keys at once. Keys that are not in the request are left untouched. Null values and empty strings remove keys. + If `machine_version` is provided and no longer matches the current machine version, returns 412 Precondition Failed. - [Get Metadata Value](https://docs.fly.io/api/machines/machines/get-metadata-value.md): Get the value of a specific metadata key - [Upsert Metadata Key](https://docs.fly.io/api/machines/machines/upsert-metadata-key.md): Update metadata for a specific machine within an app by providing a metadata key. - [Delete Metadata](https://docs.fly.io/api/machines/machines/delete-metadata.md): Delete metadata for a specific Machine within an app by providing a metadata key. - [List Processes](https://docs.fly.io/api/machines/machines/list-processes.md): List all processes running on a specific Machine within an app, with optional sorting parameters. - [Restart Machine](https://docs.fly.io/api/machines/machines/restart-machine.md): Restart a specific Machine within an app, with an optional timeout parameter. - [Signal Machine](https://docs.fly.io/api/machines/machines/signal-machine.md): Send a signal to a specific Machine within an app using the details provided in the request body. - [Start Machine](https://docs.fly.io/api/machines/machines/start-machine.md): Start a specific Machine within an app. - [Stop Machine](https://docs.fly.io/api/machines/machines/stop-machine.md): Stop a specific Machine within an app, with an optional request body to specify signal and timeout. - [Suspend Machine](https://docs.fly.io/api/machines/machines/suspend-machine.md): Suspend a specific Machine within an app. The next start operation will attempt (but is not guaranteed) to resume the Machine from a snapshot taken at suspension time, rather than performing a cold boot. - [Uncordon Machine](https://docs.fly.io/api/machines/machines/uncordon-machine.md): “Cordoning” a Machine refers to disabling its services, so the Fly Proxy won’t route requests to it. In flyctl this is used by blue/green deployments; one set of Machines is started up with services disabled, and when they are all healthy, the services are enabled on the new Machines and disabled on… - [List Versions](https://docs.fly.io/api/machines/machines/list-versions.md): List all versions of the configuration for a specific Machine within an app. - [Wait for State](https://docs.fly.io/api/machines/machines/wait-for-state.md): Wait for a Machine to reach a specific state. Specify the desired state with the state parameter. See the [Machine states table](https://fly.io/docs/machines/working-with-machines/#machine-states) for a list of possible states. The default for this parameter is `started`. - [List Volumes](https://docs.fly.io/api/machines/volumes/list-volumes.md): List all volumes associated with a specific app. - [Create Volume](https://docs.fly.io/api/machines/volumes/create-volume.md): Create a volume for a specific app using the details provided in the request body. - [Get Volume](https://docs.fly.io/api/machines/volumes/get-volume.md): Retrieve details about a specific volume by its ID within an app. - [Update Volume](https://docs.fly.io/api/machines/volumes/update-volume.md): Update a volume's configuration using the details provided in the request body. - [Destroy Volume](https://docs.fly.io/api/machines/volumes/destroy-volume.md): Delete a specific volume within an app by volume ID. - [Extend Volume](https://docs.fly.io/api/machines/volumes/extend-volume.md): Extend a volume's size within an app using the details provided in the request body. - [List Snapshots](https://docs.fly.io/api/machines/volumes/list-snapshots.md): List all snapshots for a specific volume within an app. - [Create Snapshot](https://docs.fly.io/api/machines/volumes/create-snapshot.md): Create a snapshot for a specific volume within an app. - [List Postgres Clusters](https://docs.fly.io/api/machines/postgres-clusters/list-postgres-clusters.md): List Managed Postgres clusters for an organization. - [Create Postgres Cluster](https://docs.fly.io/api/machines/postgres-clusters/create-postgres-cluster.md): Create a Managed Postgres cluster for the organization named in the request body. Provisioning is asynchronous: poll `GET /v1/postgres/{id}` until `status == ready` before calling database, user, extension, or credential endpoints. - [Get Postgres Cluster](https://docs.fly.io/api/machines/postgres-clusters/get-postgres-cluster.md): Get details of a specific Managed Postgres cluster. - [Delete Postgres Cluster](https://docs.fly.io/api/machines/postgres-clusters/delete-postgres-cluster.md): Delete a Managed Postgres cluster. The cluster is marked for deletion and removed asynchronously. - [Attach Cluster to App](https://docs.fly.io/api/machines/postgres-clusters/attach-cluster-to-app.md): Record an attachment between a cluster and a Fly app. This endpoint records the relationship but does not set DATABASE_URL or other app secrets; configure the connection string separately. The attachment is created if it does not already exist. - [Detach Cluster from App](https://docs.fly.io/api/machines/postgres-clusters/detach-cluster-from-app.md): Detach a specific cluster from a Fly app. - [List Backups](https://docs.fly.io/api/machines/postgres-clusters/list-backups.md): List all backups associated with a specific cluster. - [Create Backup](https://docs.fly.io/api/machines/postgres-clusters/create-backup.md): Create a backup for a specific cluster. The backup runs asynchronously and is rejected if one is already in progress. - [List Databases](https://docs.fly.io/api/machines/postgres-clusters/list-databases.md): List all databases within a specific cluster. - [Create Database](https://docs.fly.io/api/machines/postgres-clusters/create-database.md): Create a database within a specific cluster. - [Drop Database](https://docs.fly.io/api/machines/postgres-clusters/drop-database.md): Delete a specific database within a cluster, along with objects that depend on it. - [List Extensions](https://docs.fly.io/api/machines/postgres-clusters/list-extensions.md): List all extensions available within a specific database, indicating which are installed. - [Enable Extension](https://docs.fly.io/api/machines/postgres-clusters/enable-extension.md): Enable a Postgres extension within a specific database. PostGIS extensions require a PostGIS-enabled cluster. - [Disable Extension](https://docs.fly.io/api/machines/postgres-clusters/disable-extension.md): Disable a specific Postgres extension within a database, optionally dropping objects that depend on it. System extensions cannot be disabled. - [Fork Cluster to New Cluster](https://docs.fly.io/api/machines/postgres-clusters/fork-cluster-to-new-cluster.md): Fork a ready Managed Postgres cluster into a new cluster that inherits the source's settings. The source cluster is left unchanged, and the fork is provisioned asynchronously. - [List Active Queries](https://docs.fly.io/api/machines/postgres-clusters/list-active-queries.md): List active queries in the supplied database. The database query parameter is required and must not be empty or whitespace-only. Returns full query text and durations in seconds. - [List Slow Queries](https://docs.fly.io/api/machines/postgres-clusters/list-slow-queries.md): List the top 20 queries by cumulative total execution time, excluding the postgres database. Uses the latest available metrics within the lookback range; statistics are cumulative PostgreSQL counters, not deltas over that range. Returns full query text and execution times in seconds. - [Restore Backup or Point in Time to New Cluster](https://docs.fly.io/api/machines/postgres-clusters/restore-backup-or-point-in-time-to-new-cluster.md): Restore a backup, or a point in time within the cluster's PITR recovery window, into a new Managed Postgres cluster. The source cluster is left unchanged, and a new cluster is provisioned asynchronously. - [List Users](https://docs.fly.io/api/machines/postgres-clusters/list-users.md): List all Postgres users within a specific cluster. - [Create User](https://docs.fly.io/api/machines/postgres-clusters/create-user.md): Create a Postgres user within a specific cluster. Fetch the generated password from the credentials endpoint. - [Delete User](https://docs.fly.io/api/machines/postgres-clusters/delete-user.md): Delete a specific Postgres user within a cluster. - [Update User Role](https://docs.fly.io/api/machines/postgres-clusters/update-user-role.md): Update a specific Postgres user's role within a cluster. - [Get User Credentials](https://docs.fly.io/api/machines/postgres-clusters/get-user-credentials.md): Get the connection credentials for a specific Postgres user within a cluster. - [Rotate User Password](https://docs.fly.io/api/machines/postgres-clusters/rotate-user-password.md): Rotate a specific Postgres user's password within a cluster, optionally terminating the user's existing sessions. - [List secret keys belonging to an app](https://docs.fly.io/api/machines/secrets/list-secret-keys-belonging-to-an-app.md) - [Get an app's secret key](https://docs.fly.io/api/machines/secrets/get-an-apps-secret-key.md) - [Create or update a secret key](https://docs.fly.io/api/machines/secrets/create-or-update-a-secret-key.md) - [Delete an app's secret key](https://docs.fly.io/api/machines/secrets/delete-an-apps-secret-key.md) - [Decrypt with a secret key](https://docs.fly.io/api/machines/secrets/decrypt-with-a-secret-key.md) - [Encrypt with a secret key](https://docs.fly.io/api/machines/secrets/encrypt-with-a-secret-key.md) - [Generate a random secret key](https://docs.fly.io/api/machines/secrets/generate-a-random-secret-key.md) - [Sign with a secret key](https://docs.fly.io/api/machines/secrets/sign-with-a-secret-key.md) - [Verify with a secret key](https://docs.fly.io/api/machines/secrets/verify-with-a-secret-key.md) - [List app secrets belonging to an app](https://docs.fly.io/api/machines/secrets/list-app-secrets-belonging-to-an-app.md) - [Update app secrets belonging to an app](https://docs.fly.io/api/machines/secrets/update-app-secrets-belonging-to-an-app.md) - [Get an app secret](https://docs.fly.io/api/machines/secrets/get-an-app-secret.md) - [Create or update Secret](https://docs.fly.io/api/machines/secrets/create-or-update-secret.md) - [Delete an app secret](https://docs.fly.io/api/machines/secrets/delete-an-app-secret.md) - [List certificates for app](https://docs.fly.io/api/machines/tls-certificates/list-certificates-for-app.md) - [Request ACME certificate](https://docs.fly.io/api/machines/tls-certificates/request-acme-certificate.md) - [Upload custom certificate](https://docs.fly.io/api/machines/tls-certificates/upload-custom-certificate.md) - [Get certificate details](https://docs.fly.io/api/machines/tls-certificates/get-certificate-details.md) - [Remove certificate](https://docs.fly.io/api/machines/tls-certificates/remove-certificate.md) - [Remove ACME certificates](https://docs.fly.io/api/machines/tls-certificates/remove-acme-certificates.md) - [Check DNS and re-validate certificate](https://docs.fly.io/api/machines/tls-certificates/check-dns-and-re-validate-certificate.md) - [Remove custom certificate](https://docs.fly.io/api/machines/tls-certificates/remove-custom-certificate.md) - [Authenticate token header](https://docs.fly.io/api/machines/tokens/authenticate-token-header.md): Verify a token header without checking resource access. - [Authorize token for resource access](https://docs.fly.io/api/machines/tokens/authorize-token-for-resource-access.md): Verify a token header and validate it against a requested access scope. - [Get Current Token Information](https://docs.fly.io/api/machines/tokens/get-current-token-information.md): Get information about the current macaroon token(s), including organizations, apps, user identity hashes, and machine restrictions - [Request a Petsem token for accessing KMS](https://docs.fly.io/api/machines/tokens/request-a-petsem-token-for-accessing-kms.md) - [Request an OIDC token](https://docs.fly.io/api/machines/tokens/request-an-oidc-token.md): Request an Open ID Connect token for your machine. Customize the audience claim with the `aud` parameter. This returns a JWT token. Learn more about [using OpenID Connect](/docs/reference/openid-connect/) on Fly.io. - [List All Machines](https://docs.fly.io/api/machines/organizations/list-all-machines.md): List all Machines associated with a specific organization. Machines are sorted by their `updated_at` timestamps, oldest to newest. - [List All Volumes](https://docs.fly.io/api/machines/organizations/list-all-volumes.md): List all volumes for an organization with optional filters and cursor-based pagination. - [Get Placements](https://docs.fly.io/api/machines/platform/get-placements.md): Simulates placing the specified number of machines into regions, depending on available capacity and limits. - [Get Regions](https://docs.fly.io/api/machines/platform/get-regions.md): List all regions on the platform with their details. - [Models](https://docs.fly.io/api/machines/models.md): Schema reference for every object in the Fly Machines API. - [Sprites Overview](https://docs.fly.io/sprites/index.md) - [Quickstart](https://docs.fly.io/sprites/quickstart.md) - [Working with Sprites](https://docs.fly.io/sprites/working-with-sprites.md) - [Keeping a Sprite Running](https://docs.fly.io/sprites/keeping-sprites-running.md) - [Sprite Maintenance](https://docs.fly.io/sprites/sprite-maintenance.md) - [Checkpoints](https://docs.fly.io/sprites/concepts/checkpoints.md) - [Connectors](https://docs.fly.io/sprites/concepts/connectors.md) - [Lifecycle and Persistence](https://docs.fly.io/sprites/concepts/lifecycle.md) - [Networking](https://docs.fly.io/sprites/concepts/networking.md) - [Services](https://docs.fly.io/sprites/concepts/services.md) - [CLI Installation](https://docs.fly.io/sprites/cli/installation.md) - [CLI Authentication](https://docs.fly.io/sprites/cli/authentication.md) - [CLI Commands Reference](https://docs.fly.io/sprites/cli/commands.md) - [Integrations](https://docs.fly.io/sprites/integrations/index.md) - [Remote MCP Server](https://docs.fly.io/sprites/integrations/remote-mcp.md) - [Agent plugins](https://docs.fly.io/sprites/integrations/agent-plugins.md) - [SDKs and frameworks](https://docs.fly.io/sprites/integrations/agent-sdks.md) - [Claude Managed Agents](https://docs.fly.io/sprites/integrations/claude-managed-agents.md) - [Cursor Cloud Agents](https://docs.fly.io/sprites/integrations/cursor-cloud-agents.md) - [Cortex Code](https://docs.fly.io/sprites/integrations/cortex-code.md) - [Platform integrations](https://docs.fly.io/sprites/integrations/platform-integrations.md) - [List connectors](https://docs.fly.io/sprites/api/connectors/list-connectors.md): List connectors configured for the authenticated organization. - [Create an API-key connector](https://docs.fly.io/sprites/api/connectors/create-an-api-key-connector.md): Create a connector from a user-provided API key for providers that support key validation. - [Provision a connector](https://docs.fly.io/sprites/api/connectors/provision-a-connector.md): Provision a system-managed connector for providers that support platform-managed keys. - [Get a connector](https://docs.fly.io/sprites/api/connectors/get-a-connector.md): Get a single connector by ID. - [Update a connector](https://docs.fly.io/sprites/api/connectors/update-a-connector.md): Update a connector access policy. - [Delete a connector](https://docs.fly.io/sprites/api/connectors/delete-a-connector.md): Delete a connector and its encrypted credentials. - [Update a connector](https://docs.fly.io/sprites/api/connectors/update-a-connector-1.md): Update a connector access policy. - [Authorize an OAuth connector](https://docs.fly.io/sprites/api/connectors/authorize-an-oauth-connector.md): Create an OAuth authorization URL for a provider. Use this to start a browser-based consent flow. - [Complete OAuth authorization](https://docs.fly.io/sprites/api/connectors/complete-oauth-authorization.md): Exchange an OAuth authorization code for an encrypted connector. - [List sprites](https://docs.fly.io/sprites/api/sprites/list-sprites.md): List all sprites for the authenticated organization - [Create a sprite](https://docs.fly.io/sprites/api/sprites/create-a-sprite.md): Create a new sprite with a unique name in your organization - [Get a sprite](https://docs.fly.io/sprites/api/sprites/get-a-sprite.md): Get details for a specific sprite - [Update a sprite](https://docs.fly.io/sprites/api/sprites/update-a-sprite.md): Update sprite settings such as URL authentication - [Delete a sprite](https://docs.fly.io/sprites/api/sprites/delete-a-sprite.md): Delete a sprite and all associated resources - [Create Checkpoint](https://docs.fly.io/sprites/api/checkpoints/create-checkpoint.md): Create a new checkpoint of the current sprite state. Returns streaming NDJSON progress. - [List Checkpoints](https://docs.fly.io/sprites/api/checkpoints/list-checkpoints.md): List all checkpoints. - [Get Checkpoint](https://docs.fly.io/sprites/api/checkpoints/get-checkpoint.md): Get details of a specific checkpoint. - [Restore Checkpoint](https://docs.fly.io/sprites/api/checkpoints/restore-checkpoint.md): Restore to a specific checkpoint. Returns streaming NDJSON progress. - [List Exec Sessions](https://docs.fly.io/sprites/api/exec/list-exec-sessions.md): List active exec sessions. - [Execute Command](https://docs.fly.io/sprites/api/exec/execute-command.md): Execute a command via simple HTTP POST (non-TTY only). Simpler alternative for exec for environments that can't handle websockets. - [Kill Exec Session](https://docs.fly.io/sprites/api/exec/kill-exec-session.md): Kill an exec session by session ID. Returns streaming NDJSON with kill progress. - [Change File Mode](https://docs.fly.io/sprites/api/filesystem/change-file-mode.md): Change file or directory permissions. - [Change File Owner](https://docs.fly.io/sprites/api/filesystem/change-file-owner.md): Change file or directory ownership. - [Copy File or Directory](https://docs.fly.io/sprites/api/filesystem/copy-file-or-directory.md): Copy a file or directory. - [Delete File or Directory](https://docs.fly.io/sprites/api/filesystem/delete-file-or-directory.md): Delete a file or directory. - [List Directory](https://docs.fly.io/sprites/api/filesystem/list-directory.md): List directory contents. - [Read File](https://docs.fly.io/sprites/api/filesystem/read-file.md): Read file contents from the sprite filesystem. Returns raw file bytes. - [Rename File or Directory](https://docs.fly.io/sprites/api/filesystem/rename-file-or-directory.md): Rename or move a file or directory. - [Write File](https://docs.fly.io/sprites/api/filesystem/write-file.md): Write file contents to the sprite filesystem. Request body contains raw file bytes. - [Get Network Policy](https://docs.fly.io/sprites/api/network-policy/get-network-policy.md): Get the current network policy configuration. - [Set Network Policy](https://docs.fly.io/sprites/api/network-policy/set-network-policy.md): Update the network policy configuration. - [Get Privileges Policy](https://docs.fly.io/sprites/api/network-policy/get-privileges-policy.md): Get the current privileges policy configuration (capability and device restrictions). - [Set Privileges Policy](https://docs.fly.io/sprites/api/network-policy/set-privileges-policy.md): Update the privileges policy configuration to restrict capabilities or devices. - [Delete Privileges Policy](https://docs.fly.io/sprites/api/network-policy/delete-privileges-policy.md): Remove privileges policy to revert to default (unrestricted) behavior. - [Get Resources Policy](https://docs.fly.io/sprites/api/network-policy/get-resources-policy.md): Get the current resources policy configuration (memory limits). - [Set Resources Policy](https://docs.fly.io/sprites/api/network-policy/set-resources-policy.md): Update the resources policy configuration to set memory limits. - [Delete Resources Policy](https://docs.fly.io/sprites/api/network-policy/delete-resources-policy.md): Remove resources policy to revert to default behavior. - [List Services](https://docs.fly.io/sprites/api/services/list-services.md): List all configured services and their current state. - [Get Service](https://docs.fly.io/sprites/api/services/get-service.md): Get details of a specific service. - [Create Service](https://docs.fly.io/sprites/api/services/create-service.md): Create or update a service definition. - [Get Service Logs](https://docs.fly.io/sprites/api/services/get-service-logs.md): Stream logs for a service. - [Restart Service](https://docs.fly.io/sprites/api/services/restart-service.md): Restart a service (stop if running, then start). Returns streaming NDJSON with stop and start progress. - [Start Service](https://docs.fly.io/sprites/api/services/start-service.md): Start a service. Returns streaming NDJSON with stdout/stderr. - [Stop Service](https://docs.fly.io/sprites/api/services/stop-service.md): Stop a running service. Returns streaming NDJSON with service stop progress. - [Execute Command](https://docs.fly.io/sprites/api/websockets/execute-command.md): Execute a command in the sprite environment via WebSocket. Commands continue running after disconnect; use `max_run_after_disconnect` to control timeout. Supports TTY and non-TTY modes. - [Attach to Exec Session](https://docs.fly.io/sprites/api/websockets/attach-to-exec-session.md): Attach to an existing exec session via WebSocket. - [TCP Proxy](https://docs.fly.io/sprites/api/websockets/tcp-proxy.md): Establish a WebSocket tunnel to a port inside the sprite environment. - [Control Channel](https://docs.fly.io/sprites/api/websockets/control-channel.md): Multiplexed control channel for sequential operations (exec, proxy) over a single persistent WebSocket connection. Reduces connection overhead for clients sending many operations. - [Watch Ports](https://docs.fly.io/sprites/api/websockets/watch-ports.md): Watch for port open/close events across all processes in the sprite namespace. On connect, sends a snapshot of all currently listening ports as a port_list message, then streams incremental port_opened/port_closed events. - [Watch Filesystem](https://docs.fly.io/sprites/api/websockets/watch-filesystem.md): Watch for filesystem changes via WebSocket. ## OpenAPI Specs - [openapi](/api/machines/openapi.json) - [openapi](/sprites/api/openapi.json) ## AsyncAPI Specs - [asyncapi](/sprites/api/asyncapi.json)