mcpField
P
Purgatorium (p9m)

Purgatorium (p9m)

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

Purgatorium (p9m) について

Purgatorium (p9m)は、チームがセルフホストし、Dockerサンドボックスを作成してDocker Composeでアプリをデプロイするプラットフォームです。各サンドボックスに独自のDockerデーモンとアプリURLがあり、アイドル時にスリープし、リクエストに応じて起動します。

主な機能

  1. 01分離されたDockerサンドボックスの作成
  2. 02Docker Composeによるアプリのデプロイ
  3. 03公開アプリURLとTLSアドレスの提供
  4. 04アイドル時のスリープとリクエスト時の起動
  5. 05サンドボックス単位のエージェントトークン

活用シーン

  1. 01エージェントにアプリデプロイ用サンドボックスを提供
  2. 02自主管理サーバーでチームアプリをホスト
  3. 03個別URLでデプロイ済みアプリを公開

MCP 対応

Purgatoriumには、エージェントがサンドボックスを操作するためのMCPサーバーが含まれています。ツールはMCPサーバー経由のほか、HTTP上のJSON-RPCから直接呼び出せます。

設定

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

エンドポイントhttps://{purgatorium_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://{purgatorium_host}/mcp認証が必要

ツール

詳細

README の画像 Purgatorium (p9m)

Docs CI License

メモ

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 csakaszamok/p9mを実行し、続けて/p9m:initを実行すると各プロジェクトに接続します。Purgatorium の Let your agent deploy… の下に表示されます)
複雑さを隠し、シンプルに。大切なことに集中できます。

Purgatorium はインフラストラクチャの複雑さと運用上の負担を抽象化し、直感的なユーザー体験を提供します。ユーザーは基盤となるテクノロジーの管理ではなく、仕事やビジネスの目標に集中できます。

Purgatorium を選ぶ理由と、他の選択肢との比較:ノート 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 p9m && cd p9m
curl -fsSLO https://github.com/csakaszamok/p9m/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/setup.sh | bash   # prints the admin password
docker compose up -d

http://p9m.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 プロジェクトなので、次の手順だけではサンドボックスが実行中のままになります)。次に、p9m ディレクトリで docker compose down -v を実行し、ディレクトリを削除します。

インストール

Docker Engine と compose プラグインがある Linux ホストでは、クローンは不要です(最初にホストを確認してください)。

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

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

別のものを使う場合

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

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

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

ドキュメント

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

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

コントリビューション · セキュリティ上の問題 · AGPL-3.0

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

コメント

MCP は初めてですか?

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

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