deer-flow/scripts/setup-sandbox.sh

46 lines
1.4 KiB
Bash

#!/usr/bin/env bash
# Pre-pull sandbox container image for DeerFlow
set -uo pipefail
echo "=========================================="
echo " Pre-pulling Sandbox Container Image"
echo "=========================================="
echo ""
# Try to extract image from config.yaml (handles both commented and uncommented sandbox sections)
IMAGE=""
if [ -f "config.yaml" ]; then
# Look for uncommented image: field under the sandbox section
IMAGE=$(grep -A 20 "^sandbox:" config.yaml 2>/dev/null | grep "^ image:" | awk '{print $2}' | head -1 || true)
fi
if [ -z "$IMAGE" ]; then
IMAGE="enterprise-public-cn-beijing.cr.volces.com/vefaas-public/all-in-one-sandbox:latest"
echo "Using default image: $IMAGE"
else
echo "Using configured image: $IMAGE"
fi
echo ""
if command -v container >/dev/null 2>&1 && [ "$(uname)" = "Darwin" ]; then
echo "Detected Apple Container on macOS, pulling image..."
container image pull "$IMAGE" || echo "⚠ Apple Container pull failed, will try Docker"
fi
if command -v docker >/dev/null 2>&1; then
echo "Pulling image using Docker..."
if docker pull "$IMAGE"; then
echo ""
echo "✓ Sandbox image pulled successfully"
else
echo ""
echo "⚠ Failed to pull sandbox image (this is OK for local sandbox mode)"
fi
else
echo "✗ Neither Docker nor Apple Container is available"
echo " Please install Docker: https://docs.docker.com/get-docker/"
exit 1
fi