Allowlisted Docker control kit for OpenClaw + Overleaf on macOS host.
This kit exposes only approved operations (status/start/stop/restart/logs, compose up/down, desktop status)
through dockctl, with bridge/proxy mode for containerized OpenClaw.
It is designed to avoid direct docker.sock exposure to the OpenClaw container.
scripts/dockctl.mjs: allowlisted Docker control planescripts/dockctl: wrapper CLIscripts/dockctl-bridge-server.mjs: localhost HTTP bridge with bearer token authscripts/setup-dockctl-account2.sh: cross-account artifacts (/Users/Shared) provisioninginstall.sh: one-shot setupuninstall.sh: remove runtime artifactsskills/dockctl-ops/SKILL.md: OpenClaw skill handover
- macOS
- Docker Desktop installed
node,docker,jq,curl,openssl,launchctl
git clone <your-repo-url> dockctl-control-kit
cd dockctl-control-kit
chmod +x install.sh uninstall.sh scripts/*.sh scripts/dockctl
./install.sh \
--openclaw-compose "$HOME/Autonomous_Tool/openclaw/docker-compose.yml" \
--overleaf-compose "$HOME/Autonomous_Tool/overleaf/docker-compose.yml"Optional cross-account mode (account2 -> account1 Docker):
./install.sh \
--openclaw-compose "$HOME/Autonomous_Tool/openclaw/docker-compose.yml" \
--overleaf-compose "$HOME/Autonomous_Tool/overleaf/docker-compose.yml" \
--enable-account2Installed paths:
~/.openclaw/dockctl/bin/dockctl~/.openclaw/dockctl/bin/dockctl-bridge-server.mjs~/.openclaw/workspace/bin/dockctl-proxy- LaunchAgent:
~/Library/LaunchAgents/com.${USER}.dockctl.bridge.plist(default label)
Quick checks:
~/.openclaw/dockctl/bin/dockctl status | jq .
~/.openclaw/workspace/bin/dockctl-proxy service-status openclaw | jq .
~/.openclaw/workspace/bin/dockctl-proxy service-status overleaf | jq .Cross-account checks:
/Users/Shared/openclaw-dockctl/dockctl-proxy-account2 service-status openclaw | jq .
/Users/Shared/openclaw-dockctl/dockctl-proxy-account2 service-status overleaf | jq .Containerized gateway mode:
openclaw approvals allowlist add --agent main "/home/node/.openclaw/workspace/bin/dockctl-proxy"Cross-account shared proxy mode:
openclaw approvals allowlist add --agent main "/Users/Shared/openclaw-dockctl/dockctl-proxy-account2"- No raw
dockerpassthrough. - No arbitrary compose file CLI input.
- No
docker.sockmount required in OpenClaw container. - Bearer token + allowlisted actions only.
- Audit log:
~/.openclaw/dockctl/audit.log.