| FROM python:3.11-slim | |
| WORKDIR /app | |
| # Install system deps | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| build-essential curl \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Copy source | |
| COPY pyproject.toml ./ | |
| COPY env/ ./env/ | |
| COPY configs/ ./configs/ | |
| # Install core deps only (no CUDA, no torch — env server doesn't need them) | |
| RUN pip install --no-cache-dir \ | |
| "openenv-core[core]>=0.2.3,<0.3" \ | |
| "fastapi>=0.115,<0.120" \ | |
| "uvicorn[standard]>=0.32,<1.0" \ | |
| "pydantic>=2.9,<3.0" \ | |
| "RestrictedPython>=7.4,<8.0" \ | |
| "tiktoken>=0.7,<1.0" \ | |
| "httpx>=0.27,<1.0" | |
| # HF Spaces uses port 7860 by default | |
| ENV PORT=7860 | |
| EXPOSE 7860 | |
| CMD ["uvicorn", "env.server.app:app", "--host", "0.0.0.0", "--port", "7860"] | |