Purgatory (p7y)

io.github.p7y-dev由 GitHub 帳號 p7y-dev 發布v0.11.10更新於 Oct 25, 2026

Self-hosted Docker sandboxes for agents: create one, deploy a compose stack, read its files and URLs

已驗證Streamable HTTP可網頁執行雲端與基礎設施開發者工具

概覽

AI 產生的概覽

透過 MCP 連接自架的 Purgatory 伺服器,讓助理建立 Docker 沙箱、部署 compose 應用並讀取其檔案與網址。

可以做什麼
  • 建立與管理沙箱,每個沙箱擁有獨立的 Docker 守護程序
  • 在沙箱中部署 docker compose 應用堆疊
  • 讀取沙箱中的檔案以及應用程式的公開網址
  • 以 JSON-RPC 呼叫與腳本透過 API 使用的相同操作
適用情境
適合自架 Purgatory 伺服器、希望讓代理程式不必使用網頁介面就能建立沙箱並把應用程式部署到網址的團隊。適用於內部應用與代理程式部署,不適合必須彈性擴充的正式環境負載或不受信任的程式碼。
執行需求
需要一個透過 streamable HTTP 存取的遠端 Purgatory 端點,以及以 Authorization bearer 標頭傳送的 Purgatory 存取權杖。權杖可限定於單一沙箱,此時只會暴露該沙箱的工具。伺服器本身須自架於已安裝 Docker Engine、compose 外掛與 sysbox 的 Linux 主機。
安裝前請注意
Authorization bearer 權杖屬於憑證,建議盡量限定於單一沙箱。工具會建立與部署工作負載並可讀取沙箱檔案,變更會作用於真實伺服器。沙箱在 sysbox 下執行,特權 dind 執行環境僅供開發使用。專案尚未到 1.0,次要版本之間可能有破壞性變更。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Purgatory (p7y),將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[圖片] Purgatorium (p9m)

[Docs] [CI] [License]

[!NOTE] Early, before 1.0. It works and is tested (CI on every change, releases with a changelog), but expect rough edges, and breaking changes between minor versions.

Self-hosted sandboxes for your team and their AI agents: everyone gets their own Docker, every app gets a URL, idle sandboxes sleep.

Think of it as a self-hosted Vercel for the apps your team and its agents spin up. Today you deploy with docker compose; git-based builds are on the roadmap.

About 10 seconds from New sandbox to your own Docker and a public URL for your app; a sleeping sandbox is back in under 10. (Measured with the images already pulled: the first sandbox on a new server also downloads them.)

[Creating a sandbox and opening its app, in real time: about 10 seconds]

  • Its own Docker daemon for every sandbox (with a Portainer UI if you want one)
  • A public URL for every app, and TLS addresses for Postgres, Redis and SSH
  • Sleeps when idle, wakes on the next request; a delete archives, nothing is lost
  • Made for agents: tokens limited to one sandbox, an agent guide, an MCP server and a Claude Code plugin (/plugin marketplace add p9m-team/p9m, then /p9m:init <address> gets each project a sandbox: users need no web UI, only the admin has one)

Hide the complexity. Keep it simple. Focus on what matters.

Purgatorium abstracts away infrastructure complexity and operational overhead, providing an intuitive user experience that lets users focus on their work and business goals rather than managing the underlying technology.

Why Purgatorium, and how it compares with a laptop, a cloud PaaS, a shared Docker host, Coolify and a VM for everyone · How it works: the components (Docker-in-Docker, frp, Traefik, Sablier), a sandbox's lifecycle and the path of a request

The same from a script or an agent

All real runs, in real time; press one to watch it.

With curl through the API, by an agent over the MCP server, and the MCP server by hand (JSON-RPC over HTTP, so even curl can call its tools).

Try it on your laptop

With Docker Desktop, or Docker Engine and the compose plugin on Linux, and ports 80 and 443 free (on Windows, in Git Bash or WSL):

bash
mkdir p9m && cd p9mcurl -fsSLO https://github.com/csakaszamok/p9m/releases/latest/download/docker-compose.ymlcurl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/setup.sh | bash   # prints the admin passworddocker compose up -d

Open http://p9m.lvh.me (lvh.me and all its subdomains point to 127.0.0.1, so no DNS to set up), sign in as administrator with the password setup.sh printed, and press New sandbox. The first one takes a minute or two while the images are pulled; after that about 10 seconds. Its app opens at its own http://<name>-….lvh.me address.

An app takes seconds to open the first time? In Chrome, Settings → Privacy and security → Security → Use secure DNS: with "your current service provider" each new *.lvh.me name can wait for a slow or filtering resolver. Turn it off, or pick a provider such as Cloudflare (1.1.1.1).

To remove it: delete the sandboxes in the UI first (each is a compose project of its own, so the next step would leave them running), then docker compose down -v in the p9m directory, and delete the directory.

Install

On a Linux host with Docker Engine, the compose plugin and sysbox, no clone needed. First check the host; it changes nothing:

bash
curl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/check-host.sh | bash -s -- dev.example.com

Then:

bash
mkdir p9m && cd p9mcurl -fsSLO https://github.com/csakaszamok/p9m/releases/latest/download/docker-compose.ymlcurl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/setup.sh | bash -s -- dev.example.com   # .env with your domain and random secretsdocker compose up -dcurl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/check-host.sh | bash   # again, in p9m: what is not secure yet

Then sign in at http://p9m.<HOST_DOMAIN> (by default http://p9m.lvh.me). Rather read the scripts before running them? Download them instead of piping them into bash: see Install.

When to use something else

Purgatorium is for a team's apps and agents' deployments that should be up at a URL, cheaply, on your own server. For other jobs other tools fit better:

  • Production that must scale and stay up → a cloud PaaS, or Coolify / Dokploy on your own servers
  • Untrusted code from strangers → a microVM sandbox such as E2B or Docker Sandboxes (until Purgatorium has a Kata runtime)
  • Writing code in a cloud IDE → Coder or GitHub Codespaces
  • An agent running short scripts from an SDK → E2B or Daytona

More in how it compares.

Documentation

csakaszamok.github.io/p9m: tutorials, install, configuration, let your agent deploy, MCP, API, and llms-full.txt for agents.

Security: sandboxes run under sysbox, without a privileged container; install it on the server. The privileged dind runtime is for development only (Docker Desktop, a laptop) and is not allowed unless ALLOWED_RUNTIMES says so. Web apps in a sandbox open only for its owner unless labelled otherwise (details).

Contributing · Security issues · AGPL-3.0

Free to use, also commercially, on your own servers or for your customers. Changed it and people use it over the network? Then they get your changed source too, under the same license (AGPL-3.0). Every product built on Purgatorium says so: Based on Purgatorium (p9m), in its About page and its docs, is marked as changed, and does not take the names "Purgatorium" or "p9m" (NOTICE). Versions up to 0.10.3 were released under Apache-2.0.

來源:README.md,提交 16ddae5

工具

0
該伺服器需要 API 金鑰等憑證,因此 SourceWeft 無法在沒有憑證的情況下讀取其工具,也未收錄。

版本歷史

7
  1. v0.11.10最新Oct 25, 2026
  2. v0.11.3Oct 21, 2026
  3. v0.10.1Oct 20, 2026
  4. v0.9.1Oct 19, 2026
  5. v0.7.2Oct 19, 2026
  6. v0.7.1Oct 17, 2026
  7. v0.7.0Oct 16, 2026

評分

已滿足適用檢查項的 60%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分