
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
概览
通过 MCP 连接自建的 Purgatory 服务器,让助手创建 Docker 沙箱、部署 compose 应用并读取其文件与网址。
- 可以做什么
- 创建和管理沙箱,每个沙箱拥有独立的 Docker 守护进程
- 在沙箱中部署 docker compose 应用栈
- 读取沙箱中的文件以及应用的公开网址
- 以 JSON-RPC 调用与脚本通过 API 使用的相同操作
- 适用场景
- 适合自建 Purgatory 服务器、希望让智能体无需网页界面即可创建沙箱并把应用部署到网址的团队。适用于内部应用和智能体部署,不适合必须弹性伸缩的生产负载或不可信代码。
- 运行要求
- 需要一个通过 streamable HTTP 访问的远程 Purgatory 端点,以及以 Authorization bearer 头发送的 Purgatory 访问令牌。令牌可限定为单个沙箱,此时只暴露该沙箱的工具。服务器本身需自建于装有 Docker Engine、compose 插件和 sysbox 的 Linux 主机。
安装
在 SourceWeft 中
- 打开 控制台中的 Purgatory (p7y),将其添加到工作区。
- 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[图片] Purgatorium (p9m)
[!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):
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.mename 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:
Then:
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
dindruntime is for development only (Docker Desktop, a laptop) and is not allowed unlessALLOWED_RUNTIMESsays 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版本历史
7- v0.11.10最新Oct 25, 2026
- v0.11.3Oct 21, 2026
- v0.10.1Oct 20, 2026
- v0.9.1Oct 19, 2026
- v0.7.2Oct 19, 2026
- v0.7.1Oct 17, 2026
- v0.7.0Oct 16, 2026
评分
已满足适用检查项的 60%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分