dockhand

Operate Docker stacks on LinuxBro and SuperBro hosts via Dockhand MCP tools.

Updated Nov 25, 2024
One-click install
npx skills add https://github.com/cbrostrom/dotfiles --skill dockhand-cbrostrom
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dockhand
Source: https://github.com/cbrostrom/dotfiles/tree/main/stow/agents/.agents/skills/dockhand
Command: npx skills add https://github.com/cbrostrom/dotfiles --skill dockhand-cbrostrom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing Docker stacks across two remote hosts (LinuxBro and SuperBro) requires knowing which MCP server, environment ID, compose path, and redeploy method applies to each host, plus avoiding dangerous mistakes like wiping Traefik secrets or leaving containers stuck in Created state. This Skill encodes all of that operational knowledge so stack operations are routed and verified correctly. ## Core Features & Use Cases - Host-aware MCP routing: Selects the correct Dockhand MCP server (dockhand-linuxbro or dockhand-superbro), Tailscale endpoint, and environment ID based on the host named in the request. - Stack lifecycle operations: Lists stacks, reads and updates compose files, redeploys or restarts stacks and individual containers, edits container files, and reads logs through Dockhand MCP tools. - Traefik and infrastructure safeguards: Documents secret requirements (CF_DNS_API_TOKEN in stack variables), tunnel route prerequisites, and mandatory post-deploy verification including stuck-container sweeps. - Use Case: Ask to redeploy the immich stack on LinuxBro; the Skill routes to the correct MCP server, applies the compose update with restart, then verifies no containers are stuck and routes still respond. ## Quick Start Use the dockhand skill to restart the media-core stack on LinuxBro and confirm all containers are running afterward.

Frequently Asked Questions about dockhand

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I redeploy a Docker stack on LinuxBro with Dockhand?▼

Use the dockhand-linuxbro MCP server with update_stack_compose and restart set to true, or call deploy_stack or restart_stack for an immediate redeploy. For routine changes, push edits to the superbro-compose mirror and let hourly repo-sync redeploy changed stacks.

How do I choose between Dockhand MCP and SSH docker compose?▼

Default to Dockhand MCP via mcporter for all stack operations on LinuxBro and SuperBro. Raw SSH docker compose is discouraged because it risks missing the project name and env file, which can break stack adoption in Dockhand.

Why do containers stay in Created state after a Dockhand deploy?▼

A known Dockhand bug can report deploy success while containers remain stuck in Created state. After every deploy, run a full-host sweep with list_containers or docker ps -a and manually start anything stuck.

What secrets does the LinuxBro infrastructure stack need?▼

The infrastructure stack requires CF_DNS_API_TOKEN stored in Dockhand stack variables for Let's Encrypt DNS-01 renewal. Recreating the stack with an empty token breaks certificate renewal, so verify it is non-empty in container env after any recreate.

Can I edit Traefik config files through Dockhand MCP?▼

Traefik host paths are not visible to get_system_file_content, so use container file tools with paths like /etc/traefik/... instead. Static config and plugin changes require a full container restart since file watch does not load plugins.

When should I not use deploy_git_stack on LinuxBro?▼

Avoid deploy_git_stack unless list_git_stacks shows actual git stacks; the current LinuxBro setup uses internal stacks only. Use update_stack_compose, deploy_stack, or the git-push repo-sync flow instead.