mcpField
F
flyctl

flyctl

github.com/sebastiaanwouters云与 DevOps178 次安装29 周前更新
代码仓库

关于 flyctl

面向使用 Fly.io 的开发者,提供通过 flyctl 部署和运维应用的命令行操作指南,覆盖配置、扩缩容、存储、数据库与故障排查。

主要功能

  1. 01创建应用并部署
  2. 02管理密钥与配置
  3. 03调整 VM 和实例数量
  4. 04创建并扩展持久卷
  5. 05查看状态、日志与健康检查
  6. 06SSH 连接和故障诊断

适用场景

  1. 01将新应用部署到 Fly.io
  2. 02更新应用并调整实例规模
  3. 03管理应用密钥和持久存储
  4. 04排查部署或机器问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sebastiaanwouters/dotagents --skill flyctl

安装后在 Claude Code 中输入/flyctl确认已加载。

附带文件reference/dockerfile.mdreference/laravel.md

详细介绍

Fly.io 部署(flyctl)

将应用部署到 Fly.io 的全球边缘基础设施。

快速参考

任务命令
新建应用fly launch
部署fly deploy
状态fly status
日志fly logs
SSHfly ssh console
打开fly apps open

核心工作流

1. 部署新应用
cd /path/to/project
fly launch              # Interactive setup
fly launch --now -y     # Accept defaults, deploy immediately
fly launch --no-deploy  # Configure only, deploy later

创建:fly.toml(配置文件)、Dockerfile(如有需要)

2. 后续部署
fly deploy                    # Standard deploy
fly deploy --strategy rolling # Rolling update (default)
fly deploy --local-only       # Build locally instead of remote
3. 密钥管理
fly secrets set KEY=value           # Set secret
fly secrets set K1=v1 K2=v2        # Multiple
fly secrets list                    # List (values hidden)
fly secrets unset KEY               # Remove
cat .env | fly secrets import       # Import from file
4. 扩缩容
fly scale show                      # Current config
fly scale vm shared-cpu-1x          # Change VM size
fly scale memory 512                # Set memory (MB)
fly scale count 3                   # Set instance count
fly scale count web=2 worker=1      # Per process group

VM 规格:shared-cpu-1x、shared-cpu-2x、performance-1x、performance-2x

5. 卷(持久化存储)
fly volumes create mydata --size 10 --region ord  # Create 10GB
fly volumes list                                   # List volumes
fly volumes extend <id> --size 20                  # Resize

在 fly.toml 中挂载:

[mounts]
source = "mydata"
destination = "/data"
6. 数据库

托管 Postgres(推荐):

fly mpg create                      # Create managed postgres
fly mpg list                        # List clusters

非托管 Postgres:

fly postgres create                 # Create cluster
fly postgres attach <pg-app>        # Attach to app (sets DATABASE_URL)
fly postgres connect <pg-app>       # Connect via psql

Redis(Upstash):

fly redis create                    # Create instance
7. 监控
fly status                # App status
fly logs                  # Tail logs
fly logs -i <machine-id>  # Specific machine
fly checks list           # Health checks
fly dashboard             # Open web UI
8. SSH 和控制台
fly ssh console           # Interactive shell
fly ssh console -C "cmd"  # Run command
fly sftp shell            # SFTP access

fly.toml 要点

app = "my-app"
primary_region = "ord"

[env]
APP_ENV = "production"

[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = "stop"
auto_start_machines = true
min_machines_running = 1

[[vm]]
memory = "512mb"
cpu_kind = "shared"
cpus = 1

框架专用指南

Laravel 应用:阅读 reference/laravel.md Dockerfile 应用:阅读 reference/dockerfile.md

故障排除

fly doctor              # Diagnose issues
fly releases            # List releases
fly releases show <v>   # Release details
fly machine list        # List machines
fly machine restart <id> # Restart specific machine

常用标志

标志说明
-a <app>指定应用名称
-c <path>配置文件路径
-r <region>目标区域
--yes跳过确认
--verbose输出详细信息

评论

支持 Markdown