tabby-tavern-stack / docs /dockroot-space.html
jpanasuk's picture
v3.0.0 UNIFIED: Taproot + Basecamp folded into Tabby Tavern
bcc50e3 verified
Raw
History Blame Contribute Delete
4.54 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>dockroot-mcp — Virtual Docker Root for AI Agents</title>
<style>
body { font-family: -apple-system, "Segoe UI", Roboto, sans-serif; margin: 0; background: #0f172a; color: #e2e8f0; line-height: 1.6; }
.wrap { max-width: 860px; margin: 0 auto; padding: 32px 20px 60px; }
h1 { font-size: clamp(1.7rem, 4vw, 2.2em); margin: 0.2em 0; background: linear-gradient(90deg,#818cf8,#22d3ee); -webkit-background-clip: text; background-clip: text; color: transparent; }
h2 { margin-top: 2em; border-bottom: 1px solid #334155; padding-bottom: .3em; color: #a5b4fc; font-size: 1.15rem; }
h3 { color: #c7d2fe; margin: 1.2em 0 .4em; }
code, pre { background: #1e293b; border-radius: 6px; }
code { padding: 2px 6px; }
pre { padding: 14px; overflow-x: auto; }
table { border-collapse: collapse; width: 100%; margin: 1em 0; font-size: .88rem; }
th, td { border: 1px solid #334155; padding: 8px 12px; text-align: left; }
th { background: #1e293b; }
.badge { display: inline-block; background: #312e81; border: 1px solid #6366f1; border-radius: 20px; padding: 2px 12px; font-size: .8em; margin: 0 6px 8px 0; color:#c7d2fe; }
.sec { background: #111c33; border-left: 3px solid #22d3ee; padding: 14px 18px; border-radius: 0 8px 8px 0; margin: 1.2em 0; }
.warn { border-left-color: #f59e0b; }
a { color: #22d3ee; }
ul, ol { padding-left: 1.25em; }
.muted { opacity:.75; font-size:.85em; margin-top:3em; }
</style>
</head>
<body>
<div class="wrap">
<p><span class="badge">v2.0</span><span class="badge">MCP</span><span class="badge">read-only</span><span class="badge">Tabby Tavern companion</span></p>
<h1>dockroot-mcp</h1>
<p><strong>Virtual Docker Root for AI Agents.</strong> Read-only power over the compose stack — without host root. Companion to <a href="https://huggingface.co/jpanasuk/tabby-tavern-stack">Tabby Tavern v2.0.0</a>.</p>
<div class="sec">
<strong>docker_ps · docker_logs · docker_inspect · docker_stats · docker_networks</strong><br>
plus the tavern connectivity toolkit (status, self_check, wire, rediscover, models, chat).
</div>
<h2>Why this exists</h2>
<p>Agents get asked “why is Open WebUI broken?” Without docker access they invent commands. With dockroot they:</p>
<ol>
<li><strong>List</strong> containers (<code>docker_ps</code>)</li>
<li><strong>Read logs</strong> (<code>docker_logs</code>)</li>
<li><strong>Inspect</strong> env / mounts / health (<code>docker_inspect</code>)</li>
<li><strong>Watch</strong> CPU / memory (<code>docker_stats</code>)</li>
<li><strong>See</strong> networks (<code>docker_networks</code>)</li>
</ol>
<p>Then they answer from evidence. The fixer sees the box.</p>
<h2>Security model</h2>
<div class="sec warn">
<strong>Read-only by design.</strong> No start/stop/rm/exec. Diagnose, never destroy.<br>
<strong>Opt-in.</strong> No socket mount, no docker access — the server reports that honestly.<br>
<strong>Internal only.</strong> Socket access is still powerful. Do not publish this port.
</div>
<h2>Quick start</h2>
<pre>services:
dockroot:
image: jpanasuk/dockroot-mcp:latest
container_name: dockroot
restart: unless-stopped
networks: [ai-network]
volumes:
- /var/run/docker.sock:/var/run/docker.sock</pre>
<h3>Hermes</h3>
<pre># ~/.hermes/config.yaml
mcp_servers:
dockroot:
command: python3
args: ["/opt/dockroot/tavern_mcp.py"]</pre>
<h3>MCPO (Open WebUI / Tabby Tavern)</h3>
<pre>{
"mcpServers": {
"dockroot": { "command": "python3", "args": ["/opt/dockroot/tavern_mcp.py"] }
}
}</pre>
<p>Tabby Tavern v2.0.0 already runs MCPO at <code>:8001</code> with the FastMCP stack tools. Dockroot is the optional “see the Docker daemon” add-on.</p>
<h2>Links</h2>
<p>
<a href="https://huggingface.co/jpanasuk/tabby-tavern-stack">Tabby Tavern stack</a> ·
<a href="https://huggingface.co/spaces/jpanasuk/tabby-tavern-sell-sheet">Sell sheet</a> ·
<a href="https://huggingface.co/spaces/jpanasuk/local-ai-stack-connectivity">Connectivity skill</a> ·
<a href="https://huggingface.co/jpanasuk/dockroot-mcp-source">Source</a> ·
<a href="https://hub.docker.com/r/jpanasuk/dockroot-mcp">Docker Hub</a>
</p>
<p class="muted">Jeremy Panasuk. Read-only docker vision for local AI labs. Hermes Agent by Nous Research under the hood.</p>
</div>
</body>
</html>