Fly.io を選ぶ理由
Fly.io は開発者向けに設計されたモダンなクラウドプラットフォームで、複数のグローバルエッジノードへのアプリケーションデプロイをサポートしています。OpenClaw のような AI Agent ゲートウェイにとって、Fly.io はいくつかの注目すべき利点を提供します:小規模インスタンスの実行に十分な無料枠、合理的なデプロイプロセス、永続ストレージボリュームのサポート、ユーザーに最も近いデータセンターの選択が可能です。
本記事では、Fly.io に OpenClaw をゼロからデプロイする完全なプロセスを解説します。
前提条件
開始前に、以下の準備が必要です:
- Fly.io アカウント(fly.io にアクセスして登録)
- ローカルに flyctl CLI ツールがインストール済み
- 設定済みの OpenClaw プロジェクト(または新規作成の準備)
flyctl のインストール
macOS または Linux で以下のコマンドを実行して flyctl をインストールします:
curl -L https://fly.io/install.sh | sh
インストール後、Fly.io アカウントにログインします:
fly auth login
Dockerfile の作成
Fly.io は Docker デプロイをネイティブにサポートしています。まず、プロジェクトディレクトリに Dockerfile を作成します:
FROM node:22-slim
WORKDIR /app
RUN npm install -g openclaw@latest
RUN mkdir -p /root/.openclaw
EXPOSE 3000
CMD ["openclaw", "start"]
この Dockerfile は公式の Node.js 22 イメージをベースとし、OpenClaw をグローバルにインストールし、デフォルトポート 3000 を公開します。node:22-slim を使用しているのは、OpenClaw が Node.js 22 以上を必要とし、Bun の使用は推奨されないためです(WhatsApp および Telegram 接続で既知の問題があります)。
Fly.io アプリケーションの初期化
プロジェクトディレクトリで以下を実行します:
fly launch
flyctl は自動的に Dockerfile を検出し、初期化をガイドします。対話的なプロセスで以下を選択する必要があります:
- アプリケーション名:例:
my-openclaw-gateway - デプロイリージョン:ターゲットユーザーに最も近いリージョンを選択(例:
hkg(香港)やnrt(東京)) - リソース設定:OpenClaw は最低 256MB のメモリを推奨、512MB が望ましい
初期化後、プロジェクトルートディレクトリに fly.toml 設定ファイルが生成されます。
fly.toml の設定
生成された fly.toml ファイルを開き、以下の重要な設定を確認します:
app = "my-openclaw-gateway"
primary_region = "hkg"
[build]
[http_service]
internal_port = 3000
force_https = true
auto_stop_machines = false
auto_start_machines = true
min_machines_running = 1
[mounts]
source = "openclaw_data"
destination = "/root/.openclaw"
ここでいくつかの重要な設定項目に注意してください。auto_stop_machines を false に設定すると、Fly.io がアイドル時にインスタンスを停止するのを防ぎます。OpenClaw はメッセージングゲートウェイとして、WhatsApp、Telegram、Discord などのチャットプラットフォームからのメッセージを受信するために継続的に実行する必要があります。mounts セクションは永続ストレージボリュームを OpenClaw の設定ディレクトリ ~/.openclaw にマウントし、再起動後も設定とデータが失われないようにします。
永続ストレージボリュームの作成
デプロイ前に、まずストレージボリュームを作成します:
fly volumes create openclaw_data --region hkg --size 1
これにより、香港リージョンに 1GB のストレージボリュームが作成され、OpenClaw の設定ファイルとデータの保存に使用されます。
環境変数の設定
機密性の高い OpenClaw 設定は Fly.io の Secrets 機能で安全に管理できます:
fly secrets set OPENCLAW_API_KEY="your-api-key"
fly secrets set OPENCLAW_WEBHOOK_URL="https://my-openclaw-gateway.fly.dev/webhook"
デプロイ
すべての準備が整ったら、デプロイコマンドを実行します:
fly deploy
flyctl は自動的に Docker イメージをビルドし、Fly.io のイメージレジストリにプッシュし、アプリケーションを起動します。プロセス全体は通常 2〜5 分かかります。
デプロイ後、アプリケーションのステータスを確認します:
fly status
ランタイムログを確認して OpenClaw が正常に起動したことを確認します:
fly logs
デプロイ後の設定
アプリケーションが正常に動作した後、OpenClaw の初期化設定を完了する必要があります。SSH でインスタンスに接続します:
fly ssh console
インスタンス内で OpenClaw オンボーディングウィザードを実行します:
openclaw onboard --install-daemon
対話的なプロンプトに従って AI モデルの設定とチャットプラットフォームの接続設定を完了します。その後、診断コマンドを実行してすべてが正常に動作していることを確認します:
openclaw doctor
OpenClaw 管理ダッシュボードには以下でアクセスできます:
openclaw dashboard
ダッシュボードはデフォルトでポート 3000 で動作し、https://my-openclaw-gateway.fly.dev でアクセスできます。
カスタムドメイン
独自のドメインを使用したい場合は、以下で追加できます:
fly certs create openclaw.yourdomain.com
その後、DNS プロバイダーで適切な CNAME レコードを追加し、Fly.io が割り当てたアドレスにポイントします。
スケーリングとモニタリング
ユーザーベースの拡大に伴い、簡単にスケールアップできます:
fly scale count 2
fly scale vm shared-cpu-2x
Fly.io の組み込みモニタリングダッシュボードで CPU 使用率、メモリ使用率、ネットワークトラフィックを追跡できます。
トラブルシューティング
デプロイ後に問題が発生した場合は、まずログを確認してください:
fly logs --app my-openclaw-gateway
ストレージボリュームが正しくマウントされていること、ポート設定が正しいこと、Node.js バージョンが 22 以上であることを確認してください。アプリケーションがクラッシュし続ける場合は、メモリクォータの増加を試みるか、OpenClaw 設定ファイル ~/.openclaw/openclaw.json が正しいか確認してください。
まとめ
Fly.io への OpenClaw デプロイは、軽量でコスト効率の高いソリューションであり、個人開発者や小規模チームに特に適しています。グローバルマルチリージョンデプロイ機能と合理化された CLI ツールにより、数分で OpenClaw AI Agent ゲートウェイを起動し、お気に入りのチャットプラットフォームを AI モデルに接続できます。