Download docs/dockroot-space.html from jpanasuk/tabby-tavern-stack: direct link, hf CLI and curl.
- Browser
- Download file 4.54 kB
-
https://huggingface.co/jpanasuk/tabby-tavern-stack/resolve/main/docs/dockroot-space.html
- Command line
-
hf download hf://jpanasuk/tabby-tavern-stack/docs/dockroot-space.html
-
curl -L -o dockroot-space.html https://huggingface.co/jpanasuk/tabby-tavern-stack/resolve/main/docs/dockroot-space.html
4.54 kB
| <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> | |