LinuxCommandLibrary

flyctl

Manage Fly.io applications

TLDR

Sign into a Fly account

$ flyctl auth login
copy

Launch an application from a specific Dockerfile (the default path is the current working directory)
$ flyctl launch --dockerfile [path/to/dockerfile]
copy

Open the current deployed application in the default web browser
$ flyctl open
copy

Deploy the Fly applications from a specific Dockerfile
$ flyctl deploy --dockerfile [path/to/dockerfile]
copy

Open the Fly Web UI for the current application in a web browser
$ flyctl dashboard
copy

List all applications in the logged-in Fly account
$ flyctl apps list
copy

View the status of a specific running application
$ flyctl status --app [app_name]
copy

Display version
$ flyctl version
copy

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.

SEE ALSO

docker(1), kubectl(1)

Copied to clipboard