diff --git a/.env.example b/.env.example index b17254f..4019840 100644 --- a/.env.example +++ b/.env.example @@ -5,7 +5,8 @@ # Docker Compose automatically reads .env from project root # AI Model API Configuration -OPENAI_API_BASE=https://your-openai-proxy.com/v1 +# OPENAI_API_BASE: Leave empty to use default OpenAI endpoint, or set to custom proxy URL +OPENAI_API_BASE= OPENAI_API_KEY=your_openai_key_here # https://platform.openai.com/api-keys # Data Source Configuration diff --git a/Dockerfile b/Dockerfile index 8b9a360..1af65dd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,12 @@ FROM python:3.10-slim AS base WORKDIR /app -# Install dependencies +# Install system dependencies +RUN apt-get update && \ + apt-get install -y --no-install-recommends netcat-openbsd && \ + rm -rf /var/lib/apt/lists/* + +# Install Python dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt diff --git a/entrypoint.sh b/entrypoint.sh index f283cd7..7f76d0e 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -53,7 +53,30 @@ MCP_PID=$! # Step 3: Wait for services to initialize echo "⏳ Waiting for MCP services to start..." -sleep 3 +sleep 5 + +# Verify MCP services are responsive +echo "🔍 Checking MCP service health..." +MAX_RETRIES=10 +RETRY_COUNT=0 +SERVICES_READY=false + +while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do + # Check if all ports are listening + if nc -z localhost 8000 && nc -z localhost 8001 && nc -z localhost 8002 && nc -z localhost 8003; then + SERVICES_READY=true + echo "✅ All MCP services are ready" + break + fi + RETRY_COUNT=$((RETRY_COUNT + 1)) + echo "⏳ Waiting for services... (attempt $RETRY_COUNT/$MAX_RETRIES)" + sleep 1 +done + +if [ "$SERVICES_READY" = false ]; then + echo "⚠️ Warning: Some MCP services may not be ready" + echo " Check logs in /app/logs/ for details" +fi # Step 4: Run trading agent with config file echo "🤖 Starting trading agent..."