本文へ移動

ドキュメント

Docker で OpenConnector をセルフホスト

ローカル runtime の起動、最初の Action、アカウント接続、永続ストレージと認証の準備を進めます。

保守:OOMOL·

ソース確認日:2026-09-09. 例はリンク先のソースリビジョンと照合済みです。実際の外部 API の検証を示すものではなく、稼働中のバージョンとは異なる場合があります。

ランタイムを起動

Git と Docker Compose を含む Docker が必要です。アプリのアカウントを設定する前に、認証不要の Action から始めましょう。 リポジトリをクローンし、公開済みイメージを起動します。この試用手順は、ご自身のマシン上のローカル環境で行ってください。

Docker
git clone https://github.com/oomol-lab/open-connector.git
cd open-connector
docker compose up

最初の Action を呼び出す

別のターミナルで Hacker News の人気記事を取得します。この読み取り専用 Action はプロバイダーのアカウントを必要としません。

HTTP · Hacker News
curl -s -X POST \
  http://localhost:3000/v1/actions/hackernews.get_top_stories \
  -H 'content-type: application/json' \
  -d '{"input":{}}'

この読み取り専用 Action はプロバイダーの認証なしでローカル環境から呼び出せます。ランタイムの認証が有効な場合は Bearer トークンを追加してください。

アカウントを接続

ローカルコンソールでプロバイダーを選び、認証情報を設定します。OAuth 対応サービスでは、そのサービスに自分の OAuth アプリを登録する必要があります。

認証情報と OAuth →

認証情報を永続化して保護

Docker イメージはローカルデータに /app/data を使用します。永続ボリュームをマウントしてください。保存する認証情報には OOMOL_CONNECT_ENCRYPTION_KEY を設定し、復元に必要な鍵を保管します。外部公開前にデプロイガイドを確認してください。

ランタイムを公開する前に、管理者認証、ランタイムトークン、認証情報の暗号化、公開 OAuth オリジンを設定してください。本番環境の設定はデプロイガイドを参照してください。

詳しいデプロイガイド ↗

外部公開前の準備

プロジェクトの Compose ファイルは connector-data を /app/data にマウントします。外部からアクセス可能にする前に、別々の OOMOL_CONNECT_ADMIN_TOKEN と OOMOL_CONNECT_RUNTIME_TOKEN、および OOMOL_CONNECT_ENCRYPTION_KEY を設定します。公開 origin を指定し、デプロイの入口で HTTPS を終端してください。秘密情報はバージョン管理に含めないでください。

アップグレードと復旧

使用するイメージのバージョンを記録し、ランタイムのデータベースをバックアップして、暗号化キーのコピーを安全に保管します。更新前に隔離環境で復元を確認してください。キーを失うと暗号化済みレコードは復元できず、データボリュームを削除するとローカルデータベースが失われます。

結果の読み方

HTTP ランタイムの応答には success、message、data、meta が含まれます。HTTP ステータスだけでなく success と Action の出力スキーマを確認してください。実行メタデータに executionId があれば、対応するマスキング済みログを探せます。以下は応答形式の例であり、実際の API 実行結果ではありません。

応答形式の例
{
  "success": true,
  "message": "OK",
  "data": {},
  "meta": {}
}

呼び出しに失敗した場合

  • 認証エラーではエンドポイントと認証情報の種類を確認します。管理者認証は /api、ランタイム Bearer トークンは /v1 と /mcp 用です。プロバイダーの API キーをランタイムトークンの代わりには使えません。
  • 権限エラーでは Action の必要 scopes、ランタイムの Action ルール、接続へのアクセス権を確認します。有効なトークンでも指定アカウントを使えない場合があります。
  • 結果が空の場合は接続アカウントと対象リソースの共有範囲を確認します。認証に成功しても、すべてのワークスペース、チャンネル、文書へアクセスできるわけではありません。
  • 再試行前にエラーと実行ログを確認します。データを変更する Action はすでに完了していないか確認し、無条件に同じリクエストを繰り返さないでください。