mcpField
P
Purgatory (p7y)

Purgatory (p7y)

リモート
csakaszamok.github.ioクラウド・インフラ6今日更新
リポジトリ公式サイト

Purgatory (p7y) について

Purgatory (p7y) は、チームや AI エージェント向けのセルフホスト型 Docker サンドボックスサービスです。Docker Compose でアプリをデプロイでき、各サンドボックスに専用の Docker デーモンと URL が割り当てられ、アイドル時は休止します。

主な機能

  1. 01サンドボックスごとの専用 Docker デーモン
  2. 02Docker Compose によるデプロイ
  3. 03アプリの公開 URL と TLS エンドポイント
  4. 04アイドル時の休止とリクエスト時の再開
  5. 05サンドボックス単位のエージェントトークン

活用シーン

  1. 01エージェント用の分離されたデプロイ環境
  2. 02チームアプリを個別 URL で公開
  3. 03データを保持したままアイドル環境を休止

MCP 対応

MCP サーバーを通じてエージェントが Purgatory のサンドボックスを操作できます。README では HTTP 上の JSON-RPC によるツール呼び出しも説明されています。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://{purgatory_host}/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://{purgatory_host}/mcp認証が必要

ツール

詳細

README の画像 Purgatory (p7y)

ドキュメント CI ライセンス

メモ

1.0 より前の初期段階です。 動作し、テストも実施されています(変更のたびに CI を実行し、変更履歴付きでリリースしています)が、まだ粗削りな部分があり、マイナーバージョン間で互換性のない変更が入る可能性があります。

チームとその AI エージェント向けのセルフホスト可能なサンドボックスです。各自に専用の Docker が割り当てられ、アプリごとに URL が発行され、アイドル状態のサンドボックスはスリープします。

チームとそのエージェントが立ち上げるアプリ向けの、セルフホスト可能な Vercel とお考えください。現在は docker compose でデプロイします。Git ベースのビルドはロードマップにあります。

新しいサンドボックスから専用の Docker とアプリの公開 URL が使えるようになるまで約 10 秒です。スリープ中のサンドボックスも 10 秒以内に復帰します。(イメージをあらかじめ取得済みの場合の計測です。新しいサーバーで最初のサンドボックスを作成するときは、イメージのダウンロードも行われます。)

サンドボックスを作成してアプリを開く様子をリアルタイムで表示:約 10 秒

  • サンドボックスごとに専用の Docker デーモン(必要に応じて Portainer UI も利用できます)
  • アプリごとに公開 URLを発行し、Postgres、Redis、SSH には TLS アドレスを提供
  • アイドル時はスリープし、次のリクエストで復帰します。削除するとアーカイブされ、何も失われません
  • **エージェント向けに設計:**1 つのサンドボックスに限定されたトークン、エージェントガイド、MCP サーバー、Claude Code プラグインを提供します(/plugin marketplace add p7y-dev/p7yを実行し、続いて/p7y:initを実行すると各プロジェクトが接続されます。Purgatory の エージェントにデプロイさせるには… の下に表示される行を使います)
複雑さを隠し、シンプルさを保つ。大切なことに集中できます。

Purgatory はインフラストラクチャの複雑さや運用上の負担を取り除き、直感的なユーザー体験を提供します。基盤技術の管理ではなく、ユーザーが自分の作業やビジネス目標に集中できるようにします。

Purgatory を選ぶ理由と他との比較:ノート PC、クラウド PaaS、共有 Docker ホスト、Coolify、各自専用の VM との比較 · 仕組み:各コンポーネント(Docker-in-Docker、frp、Traefik、Sablier)、サンドボックスのライフサイクル、リクエストの経路

スクリプトからでもエージェントからでも同じように使えます

すべて実際の実行をリアルタイムで記録しています。クリックすると再生できます。

curl でサンドボックスを作成し、そのアプリを呼び出す様子をリアルタイムで表示:約 7 秒Claude Code が MCP サーバー経由でサンドボックスを作成し、そのアプリを確認する様子をリアルタイムで表示curl で MCP サーバーを呼び出す様子:tools/list の後に create_sandbox を実行。リアルタイムで表示

API経由で curl を使う方法、MCP サーバー経由でエージェントが使う方法、MCP サーバーを手動で呼び出す方法(HTTP 上の JSON-RPC なので、curl からでもツールを呼び出せます)があります。

ノートパソコンで試す

Docker Desktop、または Linux 上の Docker Engine と compose プラグインを使用し、ポート 80 と 443 が空いている環境で実行します(Windows の場合は Git Bash または WSL で実行してください)。

mkdir p7y && cd p7y
curl -fsSLO https://github.com/p7y-dev/p7y/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/p7y-dev/p7y/releases/latest/download/setup.sh | bash   # prints the admin password
docker compose up -d

http://p7y.lvh.me を開き(lvh.me とそのすべてのサブドメインは 127.0.0.1 を指すため、DNS の設定は不要です)、setup.sh に表示されたパスワードで管理者としてサインインし、New sandbox を押します。最初のサンドボックスはイメージの取得に 1、2 分かかりますが、その後は約 10 秒で起動します。アプリは専用の http://<name>-….lvh.me アドレスで開きます。

初回にアプリを開くのに何秒もかかりますか? Chrome で、設定 → プライバシーとセキュリティ → セキュリティ → セキュア DNS を使用する を確認してください。「現在のサービスプロバイダ」を選んでいると、新しい *.lvh.me の名前を解決する際に、応答が遅い、またはフィルタリングするリゾルバーを待つことがあります。これをオフにするか、Cloudflare(1.1.1.1)などのプロバイダを選択してください。

削除するには、まず UI でサンドボックスを削除してください(それぞれ独立した compose プロジェクトなので、次の手順を実行しても起動したままになります)。次に、p7y ディレクトリで docker compose down -v を実行し、ディレクトリを削除します。

インストール

Docker Engine と compose プラグインを備えた Linux ホストでは、クローンは不要です(先にホストを確認してください)。

mkdir p7y && cd p7y
curl -fsSLO https://github.com/p7y-dev/p7y/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/p7y-dev/p7y/releases/latest/download/setup.sh | bash -s -- dev.example.com   # .env with your domain and random secrets
docker compose up -d

その後、http://p7y.<HOST_DOMAIN>(デフォルトでは http://p7y.lvh.me)でサインインします。

別のものを使う場合

Purgatory は、チームのアプリやエージェントのデプロイを、自分のサーバー上で低コストに URL からアクセスできる状態にしておくためのものです。ほかの用途には、次のツールがより適しています。

  • スケールと稼働継続が必須の本番環境 → クラウド PaaS、または自分のサーバー上の Coolify / Dokploy
  • 見知らぬ人の信頼できないコード → E2B などの microVM サンドボックス、または Docker Sandboxes(Purgatory に Kata ランタイムが導入されるまで)
  • クラウド IDE でのコーディング → Coder または GitHub Codespaces
  • SDK から短いスクリプトを実行するエージェント → E2B または Daytona

詳しくは比較をご覧ください。

ドキュメント

p7y-dev.github.io/p7y:チュートリアル、インストール、設定、エージェントにデプロイさせる、MCP、API、およびエージェント向けの llms-full.txt。

セキュリティ: sysbox がインストールされている場合、サンドボックスは特権コンテナなしで実行されます。インストールされていない場合は特権付きの dind にフォールバックします。これは互いを信頼するチームには適していますが、悪意のあるコードには適していません。共有サーバーでは sysbox をインストールし、ALLOWED_RUNTIMES=sysbox を設定してください(詳細)。

貢献 · セキュリティ上の問題 · AGPL-3.0

自分のサーバー上でも、顧客向けでも、商用を含め無料で利用できます。変更を加え、ネットワーク経由で人々に使ってもらう場合は、同じライセンスのもと、変更したソースコードも提供する必要があります(AGPL-3.0)。Purgatory を基盤に構築されたすべての製品は、その旨を About ページとドキュメントに Based on Purgatory (p7y) と記載し、変更済みであることを明示し、「Purgatory」または「p7y」という名前を使用しません(NOTICE)。0.10.3 までのバージョンは Apache-2.0 のもとでリリースされました。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。