Skip to content
Skillv1.0.0

flyio-common-errors

Diagnose and fix common Fly.io errors including deployment failures, health check failures, machine issues, and networking problems. Trigger: "fly.io error", "fly deploy failed", "fly.io not working",

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (skills/.curated/flyio-common-errors/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill flyio-common-errors. Copyright stays with the author (MIT).

Fly.io Common Errors

Overview

Quick reference for the most common Fly.io deployment and runtime errors with solutions.

Prerequisites

  • An authorized operator, opaque correlation ID, redacted logs/metrics, and a known service owner.
  • A safe staging/read-only reproduction path; do not use destructive lifecycle actions to diagnose a production issue.

Instructions

  1. Classify the failure as build, deploy, health, networking, storage, access, rate-limit, or platform availability.
  2. Reproduce with the smallest safe probe, then inspect configuration, secret scope, release state, machine health, and region policy.
  3. Apply the least disruptive reversible correction and verify recovery plus a safe failure path.
  4. Escalate possible secret exposure, data loss, or cross-region integrity issues immediately.

Output

Return a diagnostic receipt with category, opaque correlation ID, reproduction result, corrective action, verification, owner, and follow-up. Exclude tokens, log bodies, configuration secrets, and user data.

Error Handling

  • Do not solve permission problems with broader tokens; route them to the authorized owner.
  • Quarantine failed deployment or storage operations for review and use bounded retry/backoff.
  • Roll back before replaying stateful work after an integrity or health failure.

Examples

Use a synthetic health failure, inspect only redacted release/machine status, restore the prior configuration, and verify readiness. If the issue is a token mismatch, pause automation until the scoped credential is corrected and a read-only check succeeds.

Error Reference

Health Check Failed

Error: health checks for machine e784... failed

Causes: App not listening on correct port, slow startup, missing dependencies.

Fix:

# Check logs for startup errors
fly logs -a my-app

# Verify internal_port matches your app
grep internal_port fly.toml

# SSH in and test manually
fly ssh console -C "curl localhost:3000/health"

# Increase health check grace period
# fly.toml — give app more time to start
[http_service.checks]
  grace_period = "30s"
  interval = "15s"
  timeout = "5s"

Deployment Failed — Image Build

Error: failed to build: exit code 1

Fix:

# Test Docker build locally first
docker build -t test .
docker run -p 3000:3000 test

# Check Dockerfile — common issues:
# - Missing EXPOSE directive
# - Wrong WORKDIR
# - npm install before COPY (layer caching)

Machine Won't Start

Error: machine e784... failed to start

Fix:

# Check machine events
fly machine status e784...

# Common cause: OOM — increase memory
fly scale vm shared-cpu-1x --memory 512

# Or check for crash loops in logs
fly logs --instance e784...

Connection Refused on .internal

Error: connection refused my-api.internal:3000

Fix:

# Verify target app is running
fly status -a my-api

# Check the app listens on correct port
fly ssh console -a my-api -C "ss -tlnp"

# Ensure apps are in same organization
fly orgs list

Volume Mount Failures

Error: volume vol_xxx not found in region iad

Fix:

# Volume must be in same region as machine
fly volumes list -a my-app  # Check region
fly volumes create data --size 10 --region iad  # Match region

Rate Limited by Machines API

HTTP 429 Too Many Requests

Fix: Implement backoff. See flyio-rate-limits.

Quick Diagnostic Commands

fly status -a my-app              # App and machine status
fly logs -a my-app                # Recent logs
fly machine list -a my-app        # All machines
fly ssh console -a my-app         # Shell access
fly doctor                        # Check flyctl health
fly platform status               # Fly.io platform status

Resources

Next Steps

For comprehensive debugging, see flyio-debug-bundle.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-flyio-common-errors/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-flyio-common-errors.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-flyio-common-errors",
  "kind": "skill",
  "name": "flyio-common-errors",
  "description": "Diagnose and fix common Fly.io errors including deployment failures, health check failures, machine issues, and networking problems. Trigger: \"fly.io error\", \"fly deploy failed\", \"fly.io not working\", \"fly health check\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "customer_support"
    ],
    "tags": [
      "skill-md",
      "saas",
      "edge-compute",
      "flyio",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Diagnose and fix common Fly.io errors including deployment failures, health check failures, machine issues, and networking problems. Trigger: \"fly.io error\", \"fly deploy failed\", \"fly.io not working\", \"fly health check\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "skills/.curated/flyio-common-errors/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/skills/.curated/flyio-common-errors/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/skills/.curated/flyio-common-errors/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Bash(fly:*),",
      "Bash(curl:*),",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# Fly.io Common Errors\n\n## Overview\n\nQuick reference for the most common Fly.io deployment and runtime errors with solutions.\n\n## Prerequisites\n\n- An authorized operator, opaque correlation ID, redacted logs/metrics, and a known service owner.\n- A safe staging/read-only reproduction path; do not use destructive lifecycle actions to diagnose a production issue.\n\n## Instructions\n\n1. Classify the failure as build, deploy, health, networking, storage, access, rate-limit, or platform availability.\n2. Reproduce with the smallest safe probe, then inspect configuration, secret scope, release state, ma",
  "cost": {
    "context_tokens": 1012
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-flyio-common-errors/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.