Spaces:
Paused
Paused
| FROM python:3.13 | |
| # Install system dependencies for Playwright + Node.js (for MCP servers) | |
| RUN apt-get update && apt-get install -y \ | |
| git git-lfs ffmpeg libsm6 libxext6 cmake rsync libgl1 \ | |
| libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 \ | |
| libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \ | |
| libgbm1 libpango-1.0-0 libcairo2 libasound2 \ | |
| curl \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && git lfs install | |
| # Install Node.js 20.x (required for MCP servers — most are npm packages) | |
| RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ | |
| && apt-get install -y nodejs \ | |
| && node --version \ | |
| && npm --version | |
| WORKDIR /app | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir pip -U && \ | |
| pip install --no-cache-dir \ | |
| datasets "huggingface-hub>=0.30" "hf-transfer>=0.1.4" "protobuf<4" "click<8.1" | |
| RUN pip install --no-cache-dir -r requirements.txt \ | |
| gradio[oauth]==4.44.1 "uvicorn>=0.14.0" "websockets>=10.4" spaces | |
| # Install curl_cffi for Chrome TLS fingerprint spoofing (Signal #51) | |
| RUN pip install --no-cache-dir curl_cffi | |
| # Install Playwright browsers | |
| RUN playwright install chromium | |
| RUN playwright install-deps chromium || true | |
| # Pre-install popular MCP servers (cached for faster startup) | |
| RUN npm install -g @anthropic/github-mcp 2>/dev/null || true | |
| RUN npm install -g @anthropic/filesystem-mcp 2>/dev/null || true | |
| COPY . . | |
| EXPOSE 7860 | |
| ENV GRADIO_SERVER_NAME=0.0.0.0 | |
| ENV GRADIO_SERVER_PORT=7860 | |
| CMD ["python", "app.py"] | |