From flyio-pack
Optimizes Fly.io costs by configuring auto-stop/suspend for idle machines, right-sizing VMs, cleaning volumes, and monitoring app/region spend.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin flyio-packThis skill is limited to using the following tools:
Fly.io charges per-second for running machines plus storage. Key levers: auto-stop idle machines, suspend instead of stop, right-size VMs, and clean up unused volumes.
Tunes Fly.io apps for performance: suspend/resume to cut cold starts, VM sizing, multi-region low latency, Postgres PgBouncer pooling, concurrency limits.
Provides quick reference for Fly.io PaaS deployments including fly.toml config, global distribution, scaling patterns, secrets management, health checks, and troubleshooting. Auto-loads on fly.toml detection.
Deploys and manages Fly.io apps using Docker containers, Fly Machines, fly.toml configs, databases, volumes, secrets. Supports fly launch/deploy, debugging, multi-region setups for Python/Node/Rails/Django apps.
Share bugs, ideas, or general feedback.
Fly.io charges per-second for running machines plus storage. Key levers: auto-stop idle machines, suspend instead of stop, right-size VMs, and clean up unused volumes.
| Resource | Free Tier | Cost |
|---|---|---|
| shared-cpu-1x (256mb) | 3 VMs free | ~$1.94/month each |
| shared-cpu-1x (512mb) | included | ~$3.88/month |
| shared-cpu-2x (1gb) | - | ~$11.62/month |
| Volumes | 3GB free | $0.15/GB/month |
| Bandwidth | 100GB free | $0.02/GB after |
| IPv4 | 1 free per org | $2/month each |
# fly.toml — stop machines when no traffic
[http_service]
auto_stop_machines = "stop" # Full stop (cheapest, ~5s cold start)
auto_start_machines = true
min_machines_running = 0 # Allow all machines to stop
# Use min_machines_running = 1 only for production apps
# Suspend keeps memory state — resumes in ~100ms but costs ~$0.50/month
[http_service]
auto_stop_machines = "suspend"
# List all apps and their machine counts
fly apps list
# Find idle/stopped machines
fly machine list -a my-app --json | jq '.[] | select(.state != "started") | {id, state, region}'
# Destroy unused apps
fly apps destroy old-app --yes
# List and delete orphaned volumes
fly volumes list -a my-app
fly volumes destroy vol_xxx
# Check memory usage to see if oversized
fly ssh console -a my-app -C "cat /proc/meminfo | head -3"
# Downgrade if using <50% of allocated memory
fly scale vm shared-cpu-1x --memory 256 -a my-app
# Check current month's usage
fly billing # Shows org-level billing
# Estimate per-app cost
fly scale show -a my-app # See VM count and size
For architecture design, see flyio-reference-architecture.