FROM node:20-alpine AS build WORKDIR /frontend COPY frontend/package.json frontend/package-lock.json ./ RUN npm ci COPY frontend/public/ public/ COPY frontend/src/ src/ RUN npm run build FROM --platform=linux/amd64 ghcr.io/astral-sh/uv:python3.12-bookworm RUN useradd -m -u 1000 user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ UV_CACHE_DIR=/home/user/.cache/uv RUN mkdir -p ${UV_CACHE_DIR} && chown -R user:user ${HOME} USER user WORKDIR $HOME/app COPY --chown=user pyproject.toml uv.lock ./ RUN uv sync --frozen --no-dev COPY --chown=user evals/ evals/ COPY --chown=user --from=build /frontend/build /home/user/app/frontend/build COPY --chown=user results.json datasets.json ./ EXPOSE 8000 CMD ["uv", "run", "--no-dev", "evals/backend.py"]