Initial commit: Handoff Pro MCP server for Kellow Construction
This commit is contained in:
66
deploy.sh
Normal file
66
deploy.sh
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
# Deploy Handoff Pro to Tom's workspace on GW-2
|
||||
# Usage: ./deploy.sh [--dry-run]
|
||||
set -e
|
||||
|
||||
CONTAINER="openclaw-repo-openclaw-gateway-2-1"
|
||||
TARGET="/home/node/.openclaw/workspace/agents/tom/skills/handoff-pro"
|
||||
SOURCE="$(cd "$(dirname "$0")" && pwd)"
|
||||
DRY_RUN=""
|
||||
|
||||
if [ "$1" = "--dry-run" ]; then DRY_RUN="echo [DRY-RUN]"; fi
|
||||
|
||||
echo "=== Handoff Pro Deployment ==="
|
||||
echo "Source: $SOURCE"
|
||||
echo "Target: $CONTAINER:$TARGET"
|
||||
echo ""
|
||||
|
||||
# Create target directory
|
||||
$DRY_RUN docker exec $CONTAINER mkdir -p $TARGET/{scripts,lib,templates,data,tests}
|
||||
|
||||
# Copy core files
|
||||
for f in SKILL.md server.py; do
|
||||
$DRY_RUN docker cp "$SOURCE/$f" "$CONTAINER:$TARGET/$f"
|
||||
done
|
||||
|
||||
# Copy lib
|
||||
for f in "$SOURCE"/lib/*.py; do
|
||||
$DRY_RUN docker cp "$f" "$CONTAINER:$TARGET/lib/$(basename $f)"
|
||||
done
|
||||
|
||||
# Copy scripts
|
||||
for f in "$SOURCE"/scripts/*.py; do
|
||||
$DRY_RUN docker cp "$f" "$CONTAINER:$TARGET/scripts/$(basename $f)"
|
||||
done
|
||||
|
||||
# Copy templates
|
||||
for f in "$SOURCE"/templates/*; do
|
||||
[ -f "$f" ] && $DRY_RUN docker cp "$f" "$CONTAINER:$TARGET/templates/$(basename $f)"
|
||||
done
|
||||
|
||||
# Fix permissions (no world-writable)
|
||||
$DRY_RUN docker exec $CONTAINER find $TARGET -type f -exec chmod 644 {} \;
|
||||
$DRY_RUN docker exec $CONTAINER find $TARGET -type d -exec chmod 755 {} \;
|
||||
$DRY_RUN docker exec $CONTAINER chown -R node:node $TARGET
|
||||
|
||||
# Initialize database
|
||||
$DRY_RUN docker exec -u node $CONTAINER python3 $TARGET/scripts/init_db.py
|
||||
|
||||
# Add to mcporter config
|
||||
$DRY_RUN docker exec -u node $CONTAINER sh -c "
|
||||
CONFIG=/home/node/.openclaw/workspace/config/mcporter.json
|
||||
python3 -c \"
|
||||
import json
|
||||
with open('\$CONFIG') as f: cfg = json.load(f)
|
||||
cfg['mcpServers']['handoff-pro'] = {'url': 'http://127.0.0.1:3101/sse'}
|
||||
with open('\$CONFIG','w') as f: json.dump(cfg, f, indent=4)
|
||||
print('mcporter.json updated')
|
||||
\"
|
||||
"
|
||||
|
||||
echo ""
|
||||
echo "=== Deployment complete ==="
|
||||
echo "Next steps:"
|
||||
echo " 1. Start the MCP server: docker exec -u node -d $CONTAINER python3 $TARGET/server.py"
|
||||
echo " 2. Verify: docker exec $CONTAINER curl -s http://127.0.0.1:3101/health"
|
||||
echo " 3. Test: mcporter call handoff-pro.list_catalogs"
|
||||
Reference in New Issue
Block a user