flyctl について
Fly.io にアプリをデプロイして運用する開発者向けの、flyctl コマンドラインガイドです。設定、スケーリング、ストレージ、データベース、監視、トラブルシューティングを扱います。
主な機能
- 01アプリの作成とデプロイ
- 02シークレットと設定の管理
- 03VM とインスタンス数の調整
- 04永続ボリュームの作成と拡張
- 05ステータス、ログ、ヘルスチェックの確認
- 06SSH 接続と問題の診断
活用シーン
- 01Fly.io への新規アプリのデプロイ
- 02アプリの更新と規模の調整
- 03アプリのシークレットと永続ストレージの管理
- 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 |
| SSH | fly 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 対応