From flyio-pack
Sets up Fly.io local dev loop: Docker testing, proxy remote Postgres/Redis to localhost, dev config, fast deploys, SSH console.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin flyio-packThis skill is limited to using the following tools:
Fast local development workflow for Fly.io apps: build and test Docker containers locally, proxy remote Fly services (Postgres, Redis) to localhost, and use `fly deploy` for integration testing.
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.
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 hello world apps to Fly.io via flyctl launch CLI or Machines API. For new projects, global containers, and edge compute testing.
Share bugs, ideas, or general feedback.
Fast local development workflow for Fly.io apps: build and test Docker containers locally, proxy remote Fly services (Postgres, Redis) to localhost, and use fly deploy for integration testing.
# Build and run locally — same Dockerfile used by Fly
docker build -t my-app .
docker run -p 3000:3000 \
-e NODE_ENV=development \
-e DATABASE_URL="postgres://localhost:5432/dev" \
my-app
# Test
curl http://localhost:3000/health
# Proxy Fly Postgres to localhost:5432
fly proxy 5432 -a my-db &
# Now use local tools against remote Fly Postgres
psql postgres://postgres:password@localhost:5432/mydb
npx prisma studio # Prisma GUI works against proxied DB
# Proxy Redis
fly proxy 6379 -a my-redis &
redis-cli -h localhost -p 6379
# fly.dev.toml — dev overrides (not committed)
app = "my-app-dev"
primary_region = "iad"
[env]
NODE_ENV = "development"
LOG_LEVEL = "debug"
[http_service]
internal_port = 3000
auto_stop_machines = "off" # Keep running for debugging
min_machines_running = 1
[[vm]]
cpu_kind = "shared"
cpus = 1
memory = "256mb" # Smaller for dev
# Deploy to dev app
fly deploy -a my-app-dev --config fly.dev.toml
# Watch logs while testing
fly logs -a my-app-dev --no-tail &
# SSH in for debugging
fly ssh console -a my-app-dev
# Quick restart after config change
fly apps restart my-app-dev
{
"scripts": {
"dev": "tsx watch src/index.ts",
"docker:build": "docker build -t my-app .",
"docker:run": "docker run -p 3000:3000 --env-file .env.local my-app",
"fly:dev": "fly deploy -a my-app-dev --config fly.dev.toml",
"fly:proxy:db": "fly proxy 5432 -a my-db",
"fly:logs": "fly logs -a my-app-dev",
"fly:ssh": "fly ssh console -a my-app-dev"
}
}
See flyio-sdk-patterns for Machines API client patterns.