diff --git a/scripts/run-flash-swap-bot.sh b/scripts/run-flash-swap-bot.sh index 4d013df..670cfd2 100755 --- a/scripts/run-flash-swap-bot.sh +++ b/scripts/run-flash-swap-bot.sh @@ -119,42 +119,47 @@ echo "║ ║ echo "╚════════════════════════════════════════════════════════════════════╝" echo "" -# Handle Docker execution path +# Handle container execution path (supports both Docker and Podman) if [ "$USE_DOCKER" = true ]; then - echo -e "${BLUE}[1/3] Checking Docker and docker-compose...${NC}" + # Detect container runtime (prefer podman, fallback to docker) + CONTAINER_RUNTIME="" + COMPOSE_CMD="" - if ! command -v docker &> /dev/null; then - echo -e "${RED}❌ Docker not found. Install Docker to use --docker flag${NC}" + if command -v podman &> /dev/null; then + CONTAINER_RUNTIME="podman" + COMPOSE_CMD="podman compose" + elif command -v docker &> /dev/null; then + CONTAINER_RUNTIME="docker" + COMPOSE_CMD="docker compose" + else + echo -e "${RED}❌ Neither podman nor docker found. Install one to use --docker flag${NC}" exit 1 fi - if ! command -v docker-compose &> /dev/null; then - echo -e "${RED}❌ docker-compose not found. Install docker-compose to use --docker flag${NC}" - exit 1 - fi - echo -e "${GREEN}✅ Docker and docker-compose available${NC}" + echo -e "${BLUE}[1/3] Checking container runtime: $CONTAINER_RUNTIME...${NC}" + echo -e "${GREEN}✅ Container runtime available: $CONTAINER_RUNTIME${NC}" echo "" - # Setup environment file for Docker - echo -e "${BLUE}[2/3] Setting up Docker environment...${NC}" + # Setup environment file for container + echo -e "${BLUE}[2/3] Setting up container environment...${NC}" cat > "$PROJECT_ROOT/.env.docker" << EOF ARBITRUM_RPC_ENDPOINT=$RPC_URL LOG_LEVEL=debug EOF - echo -e "${GREEN}✅ Docker environment configured${NC}" + echo -e "${GREEN}✅ Container environment configured${NC}" echo "" - # Build and run with docker-compose - echo -e "${BLUE}[3/3] Building Docker image and starting container...${NC}" + # Build and run with compose + echo -e "${BLUE}[3/3] Building container image and starting container...${NC}" cd "$PROJECT_ROOT" - echo "Building Docker image..." - docker-compose build --no-cache + echo "Building container image with $COMPOSE_CMD..." + $COMPOSE_CMD build --no-cache if [ $? -eq 0 ]; then - echo -e "${GREEN}✅ Docker image built successfully${NC}" + echo -e "${GREEN}✅ Container image built successfully${NC}" else - echo -e "${RED}❌ Docker build failed${NC}" + echo -e "${RED}❌ Container build failed${NC}" exit 1 fi echo "" @@ -163,24 +168,25 @@ EOF echo "" echo "╔════════════════════════════════════════════════════════════════════╗" - echo "║ 🐳 STARTING FLASH SWAP BOT IN DOCKER CONTAINER ║" + echo "║ 🐳 STARTING FLASH SWAP BOT IN CONTAINER ║" echo "╠════════════════════════════════════════════════════════════════════╣" echo "║ ║" - echo "║ Container Name: mev-bot-production ║" - echo "║ RPC Endpoint: $RPC_URL" - echo "║ Status: Starting... ║" + echo "║ Container Runtime: $CONTAINER_RUNTIME ║" + echo "║ Container Name: mev-bot-production ║" + echo "║ RPC Endpoint: $RPC_URL" + echo "║ Status: Starting... ║" echo "║ ║" echo "║ Press Ctrl+C to stop container gracefully ║" echo "║ ║" echo "╚════════════════════════════════════════════════════════════════════╝" echo "" - # Start services with docker-compose - docker-compose up + # Start services with compose + $COMPOSE_CMD up # Cleanup on exit - echo -e "${YELLOW}Stopping Docker container...${NC}" - docker-compose down + echo -e "${YELLOW}Stopping container...${NC}" + $COMPOSE_CMD down echo -e "${GREEN}✅ Container stopped gracefully${NC}" exit 0