flyctl
Manage Fly.io applications
TLDR
Sign into a Fly account
Launch an application from a specific Dockerfile (the default path is the current working directory)
Open the current deployed application in the default web browser
Deploy the Fly applications from a specific Dockerfile
Open the Fly Web UI for the current application in a web browser
List all applications in the logged-in Fly account
View the status of a specific running application
Display version
SYNOPSIS
flyctl [global-options] <command> [<args>]
PARAMETERS
-a, --app string
Application name to target
-c, --config string
Path to fly.toml config file or directory
-h, --help
Show help for command
-i, --interactive
Prompt interactively for values
--log-prefix
Prefix log lines with timestamp, app, and machine
-v, --verbose
Enable verbose output
--verbose-config
Dump verbose config for debugging
--json
Output in JSON format
--config-file string
Explicit config file path
DESCRIPTION
flyctl is the official command-line interface (CLI) for Fly.io, a platform that enables developers to deploy and run applications globally on edge servers near users for low-latency performance.
It simplifies managing full-stack apps, from Docker containers to static sites, across Fly's distributed infrastructure. Key workflows include launching new apps with flyctl launch, deploying code via flyctl deploy, scaling Machines (Fly's lightweight VMs), handling secrets, volumes, and certificates, monitoring logs and metrics, and proxying traffic.
flyctl automates fly.toml configuration generation, integrates with Git for CI/CD, and supports multi-app environments. It's ideal for web apps, APIs, databases (via Fly Postgres), and serverless-like functions. Users authenticate once via OAuth, and the tool fetches API tokens securely.
With commands grouped logically (e.g., apps, machines, secrets), it provides verbose output, JSON modes for scripting, and interactive prompts. It's cross-platform (Linux, macOS, Windows) and lightweight, making it a go-to for edge computing without vendor lock-in.
CAVEATS
Requires Fly.io account and flyctl auth login; internet-dependent; API rate limits apply during heavy use.
INSTALLATION
curl -L https://fly.io/install.sh | sh or via package managers; verify with flyctl version.
AUTHENTICATION
Run flyctl auth login for browser-based OAuth; tokens stored securely in ~/.fly.
COMMON WORKFLOW
flyctl launch to init app; flyctl deploy to push; flyctl status to check.
HISTORY
Developed by Fly.io team; initial release in 2020 alongside platform launch; evolved through v0.x alphas to stable v0.2+ by 2024, adding Machines API, Postgres support, and improved WireGuard networking.


