Agent Skills: Fly.io Core Workflow A: Deploy & Scale

|

UncategorizedID: jeremylongshore/claude-code-plugins-plus-skills/flyio-core-workflow-a

Install this agent skill to your local

pnpm dlx add-skill https://github.com/jeremylongshore/claude-code-plugins-plus-skills/tree/HEAD/plugins/saas-packs/flyio-pack/skills/flyio-core-workflow-a

Skill Files

Browse the full folder contents for flyio-core-workflow-a.

Download Skill

Loading file tree…

plugins/saas-packs/flyio-pack/skills/flyio-core-workflow-a/SKILL.md

Skill Metadata

Name
flyio-core-workflow-a
Description
|

Fly.io Core Workflow A: Deploy & Scale

Overview

The primary Fly.io workflow: configure fly.toml, deploy apps, manage secrets, scale across regions, and control machine lifecycle.

Instructions

Step 1: Configure fly.toml

# fly.toml — app configuration
app = "my-app"
primary_region = "iad"

[build]
  dockerfile = "Dockerfile"

[env]
  NODE_ENV = "production"
  PORT = "3000"

[http_service]
  internal_port = 3000
  force_https = true
  auto_stop_machines = "stop"    # Stop idle machines
  auto_start_machines = true     # Start on request
  min_machines_running = 1       # Always keep 1 warm

[http_service.concurrency]
  type = "requests"
  hard_limit = 250
  soft_limit = 200

[[vm]]
  cpu_kind = "shared"
  cpus = 1
  memory = "512mb"

Step 2: Deploy and Manage Secrets

# Set secrets (encrypted, injected as env vars)
fly secrets set DATABASE_URL="postgres://..." API_KEY="sk_..."

# List secrets (values hidden)
fly secrets list

# Deploy
fly deploy

# Check deployment status
fly status
fly releases

Step 3: Scale Across Regions

# Add machines in new regions
fly scale count 2 --region iad    # 2 machines in Virginia
fly scale count 1 --region lhr    # 1 machine in London
fly scale count 1 --region nrt    # 1 machine in Tokyo

# Adjust VM size
fly scale vm shared-cpu-2x --memory 1024

# Check current scale
fly scale show

Step 4: Manage App Lifecycle

# Restart all machines
fly apps restart

# Suspend an app (stop billing)
fly apps suspend my-app

# Resume
fly apps resume my-app

# Destroy (irreversible)
fly apps destroy my-app --yes

fly.toml Key Settings

| Setting | Default | Recommended | |---------|---------|-------------| | auto_stop_machines | "stop" | "stop" for most, "suspend" for fast resume | | auto_start_machines | true | true for HTTP services | | min_machines_running | 0 | 1 for production (avoid cold starts) | | concurrency.soft_limit | 200 | Tune based on app capacity |

Error Handling

| Error | Cause | Solution | |-------|-------|----------| | failed to build | Dockerfile issue | Test locally: docker build . | | health check failed | App not responding on internal_port | Verify port matches app config | | no machines running | All stopped | Set min_machines_running = 1 |

Resources

Next Steps

For Postgres and volumes, see flyio-core-workflow-b.