mcpField
F
flyctl

flyctl

github.com/sebastiaanwoutersクラウド・DevOps178 回インストール29 週間前に更新
リポジトリ

flyctl について

Fly.io にアプリをデプロイして運用する開発者向けの、flyctl コマンドラインガイドです。設定、スケーリング、ストレージ、データベース、監視、トラブルシューティングを扱います。

主な機能

  1. 01アプリの作成とデプロイ
  2. 02シークレットと設定の管理
  3. 03VM とインスタンス数の調整
  4. 04永続ボリュームの作成と拡張
  5. 05ステータス、ログ、ヘルスチェックの確認
  6. 06SSH 接続と問題の診断

活用シーン

  1. 01Fly.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詳細な出力

コメント