エージェントアプリケーション 🇷🇺 15.08.2026 07:01

MCPサーバーとサイトのデプロイプラットフォームをカタログに組み込み

MCPサーバーのカタログであるUnylyの作者は、これに本格的なデプロイプラットフォームを追加し、ユーザーがGitHubリポジトリをウェブサイトやMCPサーバーとしてサブドメインにデプロイできるようにした。このシステムは、Dockerfileを自動生成し、制限付きでコンテナを実行し、ルーティング、ヘルスチェック、ウェブフックによる自動デプロイを処理する。本記事では、アーキテクチャの詳細と開発中に遭遇した落とし穴について説明している。
著者は以前、HabrでMCPサーバーのカタログを構築し、9つのソースから8万件のエントリを集約しました。ユーザーからは、多くがセットアップとホスティングを必要とするGitHubリポジトリであるため、どこでサーバーを実行すればよいかという質問が寄せられました。これに対処するため、著者はUnylyにデプロイセクションを追加し、ユーザーがGitHubリポジトリを接続して、プッシュ時の自動再ビルドを備えたslug.unyly.orgのライブプロジェクトを取得できるようにしました。静的サイト、フロントエンドビルド、Next.js、およびNodeとPythonのMCPサーバーをサポートしています。デプロイフローは、HMAC検証を備えたNext.js APIへのGitHubウェブフック、SQLiteへのエンキュー、リポジトリをクローンしプロジェクトタイプに基づいてDockerfileを生成しリソース制限付きでコンテナをビルドして実行するワーカー、そしてHostヘッダーでルーティングするポート3900のリバースプロキシを含みます。プロキシとワーカーはブロッキングを避けるためにpm2の下で別々のプロセスとして実行されます。Dockerfile生成には、Node MCPサーバー(HTTP用にスーパーゲートウェイでラップ)、Python MCPサーバー、静的サイト、フロントエンドビルド、Next.js用のレシピが含まれています。コンテナはメモリ、CPU、プロセス制限付きで実行され、nginxサイトを除いてケーパビリティが削除されます。ヘルスチェックはサイトのHTTPステータスを検証し、MCPサーバーに対して実際のJSON-RPC初期化を実行します。ルーティングは、サービスサブドメインを除外するための負の先読みを備えた正規表現のserver_nameを使用します。自動デプロイには、自動的にビルドおよびクリーンアップされるプルリクエストプレビューが含まれます。管理コンソールはdeploy.unyly.orgにあり、無料ティアでは1プロジェクト、Proでは10プロジェクトが許可されます。著者は落とし穴を共有しています:同期Dockerビルドがイベントループをブロックすること、Dockerfileのprintfがnginxを壊すこと、ワイルドカードサブドメインが管理サブドメインをキャプチャすること、クロスサブドメインのCookie問題がSSOブリッジで解決されたこと、そしてstdioサーバーはそれなしではHTTP経由でアクセスできないためラップする必要があることです。
出典: Habr — хаб ИИ — 原文
関連記事 ↓
新着ニュース