FROM python:3.11-slim ENV PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 \ GRADIO_SERVER_NAME=0.0.0.0 \ GRADIO_SERVER_PORT=7860 \ PATH="/app/.venv/bin:${PATH}" \ UV_LINK_MODE=copy RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ && rm -rf /var/lib/apt/lists/* COPY --from=ghcr.io/astral-sh/uv:0.6.4 /uv /uvx /bin/ WORKDIR /app RUN uv venv .venv COPY requirements.txt pyproject.toml ./ RUN uv pip install --no-cache -r requirements.txt COPY app.py ./ COPY arena/ ./arena/ COPY skills/ ./skills/ EXPOSE 7860 HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ CMD curl -fsS http://localhost:7860/health || exit 1 CMD ["python", "app.py"]