Spaces:
Running
Running
File size: 1,468 Bytes
c49df76 5953562 cd40458 5953562 73d7d5f a6cdaab 73d7d5f 5953562 73d7d5f a6cdaab c5995c3 a6cdaab 5953562 a6cdaab 5953562 a6cdaab 5953562 a6cdaab 5953562 1a4d163 73d7d5f 5953562 73d7d5f 5953562 a6cdaab 5953562 a6cdaab 0d0cfd2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # Rebuild v9: Fix model routing - Hy3 Preview (OpenRouter via openai/tencent/), cohere/north-mini-code, deepseek/deepseek-v4-flash OR route, gpt-oss-120b no double-prefix
# Stage 1: Clone upstream + patch frontend ChatInput + build
FROM node:20-alpine AS patcher
RUN apk add --no-cache git python3
RUN git clone --depth 1 https://huggingface.co/spaces/smolagents/ml-intern /source
COPY patch_frontend.py /tmp/patch_frontend.py
RUN echo "=== Running frontend patch ===" && python3 /tmp/patch_frontend.py
WORKDIR /source/frontend
RUN npm install && npm run build
# Stage 2: Production
FROM python:3.12-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
RUN useradd -m -u 1000 user
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
COPY --from=patcher /source/pyproject.toml /source/uv.lock ./
RUN uv sync --no-dev --frozen
COPY --from=patcher /source/agent ./agent/
COPY --from=patcher /source/backend ./backend/
COPY --from=patcher /source/configs ./configs/
COPY --from=patcher /source/frontend/dist ./static/
COPY patch_models.py /tmp/patch_models.py
RUN echo "=== Running backend patch ===" && python3 /tmp/patch_models.py
RUN mkdir -p /app/session_logs && \
chown -R user:user /app
USER user
ENV HOME=/home/user \
PYTHONUNBUFFERED=1 \
PYTHONPATH=/app \
PATH="/app/.venv/bin:$PATH"
EXPOSE 7860
WORKDIR /app/backend
CMD ["bash", "start.sh"] |